Skip to content

Conversation

@ya-mouse
Copy link
Contributor

Add a new defconfig (evb-rk3576-ram_defconfig) for running U-Boot directly from RAM when loaded via Rockchip Maskrom USB download mode.

Key configuration for RAM execution:

  • CONFIG_TEXT_BASE=0x41000000: Load address for RAM execution
  • CONFIG_SKIP_RELOCATE=y: Skip relocation since already in final location
  • CONFIG_SPL_RAM_DEVICE=y: SPL expects to be loaded to RAM
  • CONFIG_SPL_LOAD_FIT_ADDRESS=0x40020000: FIT image load address
  • BOOTCOMMAND starts fastboot USB mode immediately
  • PREBOOT sets the max OPP via DVFS and trigger SCSI scan

Enable thermal management and DVFS:

  • DM_THERMAL and ROCKCHIP_THERMAL for temperature monitoring
  • DM_DVFS and ROCKCHIP_WTEMP_DVFS for dynamic voltage/frequency scaling
  • Combined with 64KB EP buffer, DVFS at max frequency achieves fastboot USB3 transfer rates up to 240 MB/s

Change-Id: ee1833fd-8d39-4ad2-962f-1c76eb4fb2c1

@ya-mouse ya-mouse requested a review from alchark January 20, 2026 08:04
CONFIG_BOOTMETH_ANDROID=y
CONFIG_BOOTCOMMAND="setenv fastboot_addr_r 0x49000000; setenv autoload no; setenv fastboot.fb_spwn usb; fastboot -l ${fastboot_addr_r} usb 0"
CONFIG_USE_PREBOOT=y
CONFIG_PREBOOT="dvfs repeat; dvfs max; scsi scan"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this also initialize MMC devices? Does it work if the DVFS driver is not available?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commit with preboot command supposed to be applied on top of DVFS driver PR. MMC doesn't require initialization -- probing mmc historically is a part of mmc commands.

CONFIG_PCI=y
CONFIG_DEBUG_UART=y
CONFIG_SKIP_RELOCATE=y
CONFIG_SPL_LOAD_FIT_ADDRESS=0x40020000
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sceptical of this being a separate symbol from your SPL padding in the image. What if they become different offsets? Can't one reference the other instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what I was asking about. To have a config option to calculate offset in binman configuration.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need a separate option for that? Your config symbols become preprocessor defines, so you can probably just subtract the RAM start address from the FIT address, and the preprocessor will insert the value into your .dtsi for binman

Add a new defconfig (evb-rk3576-ram_defconfig) for running U-Boot
directly from RAM when loaded via Rockchip Maskrom USB download mode.

Key configuration for RAM execution:
- CONFIG_TEXT_BASE=0x41000000: Load address for RAM execution
- CONFIG_SKIP_RELOCATE=y: Skip relocation since already in final location
- CONFIG_SPL_RAM_DEVICE=y: SPL expects to be loaded to RAM
- CONFIG_SPL_LOAD_FIT_ADDRESS=0x40020000: FIT image load address
- BOOTCOMMAND starts fastboot USB mode immediately
- PREBOOT sets the max OPP via DVFS and trigger SCSI scan

Enable thermal management and DVFS:
- DM_THERMAL and ROCKCHIP_THERMAL for temperature monitoring
- DM_DVFS and ROCKCHIP_WTEMP_DVFS for dynamic voltage/frequency scaling
- Combined with 64KB EP buffer, DVFS at max frequency achieves
  fastboot USB3 transfer rates up to 240 MB/s

Change-Id: ee1833fd-8d39-4ad2-962f-1c76eb4fb2c1
Signed-off-by: Anton Burticica <mouse@ya.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants