summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-01-10rockchip: rk3066a/rk3188: use includes from dts/upstreamJohan Jonker
The clock and power DT includes for rk3066a and rk3188 are now available in the dts/upstream directory, so remove the ones that are now redundant. Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: use OF_UPSTREAM for rk3066a/rk3188Johan Jonker
The device tree for rk3066a/rk3188 combined is now available in the /dts/upstream directory. Use imply OF_UPSTREAM to migrate all rk3066a/rk3188 boards. Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Sumit Garg <sumit.garg@linaro.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: Add support for Radxa ROCK 5CFUKAUMI Naoki
Radxa ROCK 5C[1] is a Rockchip RK3588S2 based single board computer. [1] https://radxa.com/products/rock5/5c Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10arm64: dts: rockchip: add Radxa ROCK 5CFUKAUMI Naoki
Radxa ROCK 5C is a 8K computer for everything[1] using the Rockchip RK3588S2 chip: - Rockchip RK3588S2 - Quad A76 and Quad A55 CPU - 6 TOPS NPU - up to 32GB LPDDR4x RAM - eMMC / SPI flash connector - Micro SD Card slot - Gigabit ethernet port (supports PoE with add-on PoE HAT) - WiFi6 / BT5.4 - 1x USB 3.0 Type-A HOST port - 1x USB 3.0 Type-A OTG port - 2x USB 2.0 Type-A HOST port - 1x USB Type-C 5V power port [1] https://radxa.com/products/rock5/5c Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Link: https://lore.kernel.org/r/20241021090548.1052-2-naoki@radxa.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: 3ddf5cdb77e6efd6fe9b70f36dec935e324a3cd2 ] (cherry picked from commit f80689fcef4b9b07a97b629b4075cc1a4c21a68e) Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10arm64: dts: rockchip: Add HDMI0 node to rk3588Cristian Ciocaltea
Add support for the HDMI0 output port found on RK3588 SoC. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20241019-rk3588-hdmi0-dt-v2-1-466cd80e8ff9@collabora.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: d7bb71e69f58c1b3665a9f926bf8d3855111bf8e ] (cherry picked from commit a839348380c2072e00a26bbdb80744982fe04c56) Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10arm64: dts: rockchip: Split up RK3588's PCIe pinctrlsSam Edwards
These pinctrls manage the low-speed PCIe signals: - CLKREQ#: An output on the RK3588 (both RC or EP modes), used to request that external clock-generation circuitry provide a clock. - PERST#: An input on the RK3588 in EP mode, used to detect a reset signal from the RC. In RC mode, the hardware does not use this signal: Linux itself generates it by putting the pin in GPIO mode. - WAKE#: In EP mode, this is an output; in RC mode, this is an input. Each of these signals serves a distinct purpose, and more importantly, PERST# should not be muxed when the RK3588 is in the RC role. Bundling them together in pinctrl groups prevents proper use: indeed, almost none of the current board-specific .dts files make any use of them. (Exception: Rock 5A recently had a patch land that misuses _pins; this patch corrects that.) However, on some RK3588 boards, the PCIe 3 controller will indefinitely stall the boot if CLKREQ# is not muxed (details in the next patch). This patch unbundles the signals to allow them to be used. Signed-off-by: Sam Edwards <CFSworks@gmail.com> Link: https://lore.kernel.org/r/20240912025034.180233-2-CFSworks@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: 4294e32111781b3de4d73b944cbd1bc1662a9a7a ] (cherry picked from commit 8713425fa162b61bcf5f7a6dcd171fddfb12be36) Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10board: rockchip: add FriendlyElec NanoPi R3STianling Shen
The NanoPi R3S(as "R3S") is an open source platform with dual-Gbps Ethernet ports designed and developed by FriendlyElec for IoT applications. Specification: - Rockchip RK3566 - 2GB LPDDR4X RAM - optional 32GB eMMC module - SD card slot - 2x 1000 Base-T - 3x LEDs (POWER, LAN, WAN) - 2x Buttons (Reset, MaskROM) - 1x USB 3.0 Port - Type-C 5V 2A Power Signed-off-by: Tianling Shen <cnsztl@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10arm64: dts: rockchip: reorder mmc aliases for NanoPi R3STianling Shen
Typically any non-removable storage (emmc) is listed before removable storage (sd-card) options. Also U-Boot will try to override and use mmc0=sdhci and mmc1=sdmmc0 for all rk356x boards. Fixes: 50decd493c83 ("arm64: dts: rockchip: Add FriendlyARM NanoPi R3S board") Suggested-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Tianling Shen <cnsztl@gmail.com> Link: https://lore.kernel.org/r/20241022193537.1117919-6-cnsztl@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: b7cd1115456d312f8c5e60c80fdc35fd35ea6eab ] Signed-off-by: Tianling Shen <cnsztl@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10arm64: dts: rockchip: enable eMMC HS200 mode for NanoPi R3STianling Shen
It is required to boot from eMMC without additional patch in u-boot. Fixes: 50decd493c83 ("arm64: dts: rockchip: Add FriendlyARM NanoPi R3S board") Suggested-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Tianling Shen <cnsztl@gmail.com> Link: https://lore.kernel.org/r/20241022193537.1117919-5-cnsztl@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: 1b5365034410f1ca21adadadd492b99bdf4f2c55 ] Signed-off-by: Tianling Shen <cnsztl@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10arm64: dts: rockchip: sort props in pmu_io_domains node for NanoPi R3STianling Shen
The status prop is typically the last prop. Fixes: 50decd493c83 ("arm64: dts: rockchip: Add FriendlyARM NanoPi R3S board") Suggested-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Tianling Shen <cnsztl@gmail.com> Link: https://lore.kernel.org/r/20241022193537.1117919-4-cnsztl@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: 17e150fdd983c7e59b9240e34a166285f3c3fb39 ] Signed-off-by: Tianling Shen <cnsztl@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10arm64: dts: rockchip: replace deprecated snps, reset props for NanoPi R3STianling Shen
Replace deprecated snps,reset props and move them to the PHY node. Fixes: 50decd493c83 ("arm64: dts: rockchip: Add FriendlyARM NanoPi R3S board") Suggested-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Tianling Shen <cnsztl@gmail.com> Link: https://lore.kernel.org/r/20241022193537.1117919-3-cnsztl@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: 82b2868937883b65732da498b26366d34db61510 ] Signed-off-by: Tianling Shen <cnsztl@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10arm64: dts: rockchip: fix model name for FriendlyElec NanoPi R3STianling Shen
Use the marketing name for model name, this matches the dt-binding. Also update the website url in copyright. Fixes: 50decd493c83 ("arm64: dts: rockchip: Add FriendlyARM NanoPi R3S board") Suggested-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Tianling Shen <cnsztl@gmail.com> Link: https://lore.kernel.org/r/20241022193537.1117919-2-cnsztl@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: b5bf84206a5c77528f9dd4cbca4e72caa063c102 ] Signed-off-by: Tianling Shen <cnsztl@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10arm64: dts: rockchip: Add FriendlyARM NanoPi R3S boardTianling Shen
The NanoPi R3S(as "R3S") is an open source platform with dual-Gbps Ethernet ports designed and developed by FriendlyElec for IoT applications. Specification: - Rockchip RK3566 - 2GB LPDDR4X RAM - optional 32GB eMMC module - SD card slot - 2x 1000 Base-T - 3x LEDs (POWER, LAN, WAN) - 2x Buttons (Reset, MaskROM) - 1x USB 3.0 Port - Type-C 5V 2A Power Signed-off-by: Tianling Shen <cnsztl@gmail.com> Link: https://lore.kernel.org/r/20241020173946.225960-2-cnsztl@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: 50decd493c8394c52d04561fe4ede34df27a46ba ] Signed-off-by: Tianling Shen <cnsztl@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Change to use FITJonas Karlman
Change to use FIT and FIT_SIGNATURE when loading U-Boot proper in SPL to allow checksum validation and fallback loading of FIT from a different mmc device. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Fix slow Ethernet initializionJonas Karlman
For some reason the Ethernet PHY reset delay is set to 1 second, this cause an unneccecery long boot delay. Firefly-RK3288 use RTL8211 Ethernet PHY, datasheet list an initial 10ms delay and then a 30-76ms delay before accessing registers. Change to use 80ms delay instead of a full second to speed up Ethernet initializion in U-Boot. Also enable PHY_REALTEK, DM_ETH_PHY and PHY_GIGE to improve Ethernet PHY support in U-Boot. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Migrate to OF_UPSTREAMJonas Karlman
The device tree for Firefly-RK3288 in dts/upstream can be used as-is by U-Boot, migrate board to use OF_UPSTREAM. Add chosen stdout-path prop to board u-boot.dtsi as it is missing in DT from dts/upstream. Also change to use the upstream power_led symbol. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Drop USE_PREBOOT Kconfig optionJonas Karlman
After the migration to use standard boot, storage media devices should automatically be initialized in the order listed in boot_targets env. Drop USE_PREBOOT to speed up boot when booting from SD-card or eMMC. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Drop use of silent console and late boardinfoJonas Karlman
Current use of SILENT_CONSOLE hide valuable information when something goes wrong during boot, drop this Kconfig option to allow user to see e.g. from what media U-Boot proper is loaded from. A second Model line is printed on console due to DISPLAY_BOARDINFO_LATE, drop this Kconfig option to remove the second redundant line. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Include sdmmc regulator in SPLJonas Karlman
Add bootph props and enable related Kconfig options to include the sdmmc regulator in SPL. Also enable SPL_DM_SEQ_ALIAS to ensure aliases is handled correctly in SPL. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Include required DT nodes in xPLJonas Karlman
Add bootph- props to emmc, sdmmc, uart and related pinctrl nodes to ensure devices and pinctrl can be used in xPL and U-Boot pre-reloc. Remove the explicit bootph-all prop from the pinctrl node, any bootph- prop will automatically be propagated to the pinctrl node. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Use common bss and stack addressesJonas Karlman
Migrate to use common bss, stack and malloc heap size and addresses to unify memory use in TPL, SPL and pre-reloc. ENV_OFFSET is using the default value of 0x3f8000 and is also dropped. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Set ethaddr env based on cpuidJonas Karlman
Enable Kconfig options to read cpuid from efuse and set cpuid#, serial# and ethaddr env vars based on the value read from efuse. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Sort u-boot.dtsi nodes alphabeticallyJonas Karlman
Sort the nodes in rk3288-firefly-u-boot.dtsi in alphabetical order. This has no intended change to board DT, this only rearrange nodes in preparation for future changes. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-firefly: Drop unused SPL_LED related codeJonas Karlman
The firefly-rk3288_defconfig build target does not enable the SPL_LED Kconfig option. Drop the unused SPL_LED related code and replace it with a default-state prop to ensure the LED driver enable the LED at U-Boot proper phase. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3399-rockpro64: Disable bootstage instrumentation configPaul Kocialkowski
The boot timing and reporting (bootstage) infrastructure is useful for performance analysis and debug but adds overhead and console noise when using the device normally. Remove it from the device config. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2025-01-10rockchip: rk3399-rockpro64: Hook sysreset gpio to enable full resetPaul Kocialkowski
The reset mechanism used by Linux to reset the SoC is known to only partially reset the logic. A mechanism is implemented in rk3399_force_power_on_reset to use a GPIO connected to the PMIC's over-temperature (OTP) reset pin, which fully resets all logic. Hook the associated GPIO where the function expects it to enable this reset mechanism and avoid any possible side-effect of partially-reset units. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-01-10rockchip: rk3399-roc-pc: Hook sysreset gpio to enable full resetPaul Kocialkowski
The reset mechanism used by Linux to reset the SoC is known to only partially reset the logic. A mechanism is implemented in rk3399_force_power_on_reset to use a GPIO connected to the PMIC's over-temperature (OTP) reset pin, which fully resets all logic. Hook the associated GPIO where the function expects it to enable this reset mechanism and avoid any possible side-effect of partially-reset units. Without this patch, reading from the micro sd slot fails after a reset. With this mechanism, U-Boot is able to boot from it reliably. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-01-10board: rockchip: add Khadas Edge2 RK3588 boardJacobe Zang
Khadas Edge2 is a Rockchip RK3588S based SBC (Single Board Computer) by Khadas. There are tree variants depending on the DRAM size : 8G and 16G. Specification: Rockchip RK3588S SoC 4x ARM Cortex-A76, 4x ARM Cortex-A55 8/16GB memory LPDDR4x Mali G610MP4 GPU 3x MIPI CSI 4x lanes 2x MIPI-DSI DPHY 4x lanes 32/64GB eMMC 1x USB 2.0, 1x USB 3.0, 2x USB-Type-C 1x HDMI 2.1 output, 1x DP 1.4 output USB PD over USB Type-C Kernel commit: 04d552993522 ("arm64: dts: rockchip: Add Khadas edge2 board") Signed-off-by: Jacobe Zang <jacobe.zang@wesion.com>
2025-01-10rockchip: rk3288-miqi: Change to use FITJonas Karlman
Change to use FIT and FIT_SIGNATURE when loading U-Boot proper in SPL to allow checksum validation and fallback loading of FIT from a different mmc device. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Fix slow Ethernet initializionJonas Karlman
For some reason the Ethernet PHY reset delay is set to 1 second, this cause an unneccecery long boot delay. MiQi use RTL8211 Ethernet PHY, datasheet list an initial 10ms delay and then a 30-76ms delay before accessing registers. Change to use 80ms delay instead of a full second to speed up Ethernet initializion in U-Boot. Also enable PHY_REALTEK, DM_ETH_PHY and PHY_GIGE to improve Ethernet PHY support in U-Boot. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Migrate to OF_UPSTREAMJonas Karlman
The device tree for mqmaker MiQi in dts/upstream can be used as-is by U-Boot, migrate board to OF_UPSTREAM. The change to use DT from dts/upstream will include minor changes and fixes related to work led and usb otg. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Drop USE_PREBOOT Kconfig optionJonas Karlman
After the migration to use standard boot, storage media devices should automatically be initialized in the order listed in boot_targets env. Drop USE_PREBOOT to speed up boot when booting from SD-card or eMMC. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Drop use of silent console and late boardinfoJonas Karlman
Current use of SILENT_CONSOLE hide valuable information when something goes wrong during boot, drop this Kconfig option to allow user to see e.g. from what media U-Boot proper is loaded from. A second Model line is printed on console due to DISPLAY_BOARDINFO_LATE, drop this Kconfig option to remove the second redundant line. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Include sdmmc regulator in SPLJonas Karlman
Add bootph props and enable related Kconfig options to include the sdmmc regulator in SPL. Also enable SPL_DM_SEQ_ALIAS to ensure aliases is handled correctly in SPL. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Include required DT nodes in xPLJonas Karlman
Add bootph- props to emmc, sdmmc, uart and related pinctrl nodes to ensure devices and pinctrl can be used in xPL and U-Boot pre-reloc. Remove the explicit bootph-all prop from the pinctrl node, any bootph- prop will automatically be propagated to the pinctrl node. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Use TPL with common bss and stack addressesJonas Karlman
Migrate to use TPL, common bss, stack and malloc heap size and addresses to unify memory use in TPL, SPL and pre-reloc. ENV_OFFSET is using the default value of 0x3f8000 and is also dropped. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Set ethaddr env based on cpuidJonas Karlman
Enable Kconfig options to read cpuid from efuse and set cpuid#, serial# and ethaddr env vars based on the value read from efuse. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Remove unused work led node from xPLJonas Karlman
The work led is not used in xPL on rk3288-miqi, remove bootph props from the work led node to exclude it from xPL control FDT. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-miqi: Sort u-boot.dtsi nodes alphabeticallyJonas Karlman
Sort the nodes in rk3288-miqi-u-boot.dtsi in alphabetical order. This has no intended change to board DT, this only rearrange nodes in preparation for future changes. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Change to use FITJonas Karlman
Change to use FIT and FIT_SIGNATURE when loading U-Boot proper in SPL to allow checksum validation and fallback loading of FIT from a different mmc device. Checksum validation of FIT adds around 140 ms to boot time: Before: Mark Elapsed Stage 0 0 reset 13 13 TPL 6,957 6,944 end tpl 25,102 18,145 SPL 131,932 106,830 end phase 132,137 205 board_init_f 444,277 312,140 board_init_r 1,404,987 960,710 eth_common_init 1,519,110 114,123 eth_initialize 1,524,734 5,624 main_loop 1,525,452 718 cli_loop After: Mark Elapsed Stage 0 0 reset 13 13 TPL 6,957 6,944 end tpl 35,744 28,787 SPL 271,220 235,476 end phase 271,420 200 board_init_f 588,474 317,054 board_init_r 1,548,950 960,476 eth_common_init 1,663,105 114,155 eth_initialize 1,668,734 5,629 main_loop 1,669,417 683 cli_loop Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Fix slow Ethernet initializionJonas Karlman
For some reason the Ethernet PHY reset delay is set to 1 second, this cause an unneccecery long boot delay. Tinker Board use RTL8211E or RTL8211F Ethernet PHY, datasheet list an initial 10ms delay and then a 30-76ms delay before accessing registers. Change to use 80ms delay instead of a full second to speed up Ethernet initializion in U-Boot. Also enable PHY_REALTEK, DM_ETH_PHY and PHY_GIGE to improve Ethernet PHY support in U-Boot. Before: 1,404,971 960,924 eth_common_init 2,438,830 1,033,859 eth_initialize 2,444,449 5,619 main_loop 2,445,153 704 cli_loop After: 1,404,987 960,710 eth_common_init 1,519,110 114,123 eth_initialize 1,524,734 5,624 main_loop 1,525,452 718 cli_loop Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Migrate to OF_UPSTREAMJonas Karlman
The device tree for ASUS Tinker Board and S variant in dts/upstream can be used as-is by U-Boot, migrate board to OF_UPSTREAM. The change to use DT from dts/upstream will include minor changes and fixes related to leds and regulators. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Drop USE_PREBOOT Kconfig optionJonas Karlman
After the migration to use standard boot, storage media should automatically be initialized in the order listed in boot_targets env. Drop USE_PREBOOT to speed up boot with ~12 seconds when booting from e.g. SD-card or eMMC. Before: 3,048,599 2,056 main_loop 3,050,717 2,118 usb_start 15,070,499 12,019,782 cli_loop After: 3,058,244 2,054 main_loop 3,063,260 5,016 cli_loop Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Drop use of silent console and late boardinfoJonas Karlman
Current use of SILENT_CONSOLE hide valuable information when something goes wrong during boot, drop this Kconfig option to allow user to see e.g. from what media U-Boot proper is loaded from. A second Model line is printed on console due to DISPLAY_BOARDINFO_LATE, drop this Kconfig option to remove the second redundant line. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Use common bss and stack addressesJonas Karlman
Migrate to use common bss, stack and malloc heap size and addresses to unify memory use in TPL, SPL and pre-reloc. Ensure SYS_MALLOC_F_LEN and TPL variant stay at 0x2000 and is unaffected on other boards not changed to use common malloc heap size. ENV_OFFSET is using the default value of 0x3f8000 and is also dropped. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Sync defconfig options from rk3288-tinker-sJonas Karlman
Add missing Kconfig options used by the rk3288-tinker-s variant. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Set cpuid and serial env varJonas Karlman
Enable MISC_INIT_R and ROCKCHIP_EFUSE to read cpuid from efuse and set the cpuid# and serial# env vars. Change to read mac address from eeprom in rockchip_early_misc_init_r() to ensure the ethaddr env var is set before rockchip_setup_macaddr() try to set ethaddr based on cpuid. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Include mmc nodes in pre-reloc for env loadJonas Karlman
Include mmc related nodes in U-Boot proper pre-reloc phase to ensure environment can be loaded from mmc devices. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Drop unused vcc_sd regulator from SPLJonas Karlman
The sdmmc power come from vcc33_sd pmic regulator and not from the vcc_sd fixed regulator, as currently defined in the in-tree DT. Drop vcc_sd and the related gpio7 and sdmmc_pwr nodes from being included in SPL along with any related Kconfig option. Also enable SPL_DM_SEQ_ALIAS to ensure aliases is handled correctly in SPL. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-01-10rockchip: rk3288-tinker: Only include required DT nodes in TPLJonas Karlman
Drop the unneeded bootph-all prop from dmc node, it is already defined in soc u-boot.dtsi. Remove booth-all prop from gpio7 node, this node is not needed in TPL. Adjust bootph props to include pinctrl related nodes for UART2. Remove the explicit bootph-all prop from the pinctrl node, any bootph- prop will automatically be propagated to the pinctrl node. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>