
This series support Rockchip RK3588. All the device tree files are synced from linux-next with the proper SHA1 mentioned in the commit messages.
Thanks for Jonas Karlman jonas@kwiboo.se for contributing the binman and mkimage fixes and also for giving sdmmc clock clue.
This series added RK3588 to boot from SDMMC and added a sdmmc node in -u-boot.dtsi. Two clear assumptions are made here to boot from SDMMC working here, 1. clock properties as added in sdmmc node is according to the rockchip mmc driver 2. support SCLK_SDMMC_SAMPLE in set_rate and do-nothing.
Note: This sdmmc node definition will drop once the actual node supported in Linux kernel. and set_rate for given clock might change or it might be scmi clock.
Tested in Edgeble Neural Compute Module 6.
Repo: https://github.com/edgeble/u-boot/commits/neu6a-v1
Previous patchset: https://patchwork.ozlabs.org/project/uboot/cover/20230125222741.303259-1-jag...
Any inputs? Jagan.
Jagan Teki (18): rockchip: mkimage: Add rk3588 support arm: rockchip: Add cru header for rk3588 arm: rockchip: Add grf header for rk3588 dt-bindings: clk: Add dt-binding header for RK3588 clk: rockchip: Add rk3588 clk support clk: rockchip: pll: Add pll_rk3588 type for rk3588 ram: rockchip: Add rk3588 ddr driver support dt-bindings: power: Add power-domain header for rk3588 dt-bindings: reset: add rk3588 reset definitions arm: rockchip: Add ioc header for rk3588 arm64: dts: rockchip: Add base DT for rk3588 SoC arm64: dts: rockchip: rk3588: Add Edgeble Neu6 Model A SoM arm64: dts: rockchip: rk3588: Add Edgeble Neu6 Model A IO arm: rockchip: Add RK3588 arch core support ARM: dts: rockchip: Add rk3588-u-boot.dtsi ARM: dts: rockchip: rk3588s-u-boot: Add sdmmc node clk: rockchip: rk3588: Support set_rate for SCLK_SDMMC_SAMPLE board: rockchip: Add Edgeble Neural Compute Module 6
arch/arm/dts/Makefile | 3 + .../dts/rk3588-edgeble-neu6a-io-u-boot.dtsi | 24 + arch/arm/dts/rk3588-edgeble-neu6a-io.dts | 27 + arch/arm/dts/rk3588-edgeble-neu6a.dtsi | 32 + arch/arm/dts/rk3588-pinctrl.dtsi | 516 +++ arch/arm/dts/rk3588-u-boot.dtsi | 7 + arch/arm/dts/rk3588.dtsi | 58 + arch/arm/dts/rk3588s-pinctrl.dtsi | 3403 +++++++++++++++++ arch/arm/dts/rk3588s-u-boot.dtsi | 59 + arch/arm/dts/rk3588s.dtsi | 1703 +++++++++ arch/arm/include/asm/arch-rk3588/boot0.h | 11 + arch/arm/include/asm/arch-rk3588/gpio.h | 11 + arch/arm/include/asm/arch-rockchip/clock.h | 24 + .../include/asm/arch-rockchip/cru_rk3588.h | 451 +++ .../include/asm/arch-rockchip/grf_rk3588.h | 35 + .../include/asm/arch-rockchip/ioc_rk3588.h | 101 + arch/arm/mach-rockchip/Kconfig | 20 + arch/arm/mach-rockchip/Makefile | 1 + arch/arm/mach-rockchip/rk3588/Kconfig | 30 + arch/arm/mach-rockchip/rk3588/Makefile | 9 + arch/arm/mach-rockchip/rk3588/clk_rk3588.c | 32 + arch/arm/mach-rockchip/rk3588/rk3588.c | 162 + arch/arm/mach-rockchip/rk3588/syscon_rk3588.c | 32 + board/edgeble/neural-compute-module-6/Kconfig | 15 + .../neural-compute-module-6/MAINTAINERS | 6 + .../edgeble/neural-compute-module-6/Makefile | 7 + board/edgeble/neural-compute-module-6/neu6.c | 4 + configs/neu6a-io-rk3588_defconfig | 67 + doc/board/rockchip/rockchip.rst | 2 + drivers/clk/rockchip/Makefile | 1 + drivers/clk/rockchip/clk_pll.c | 267 +- drivers/clk/rockchip/clk_rk3588.c | 1998 ++++++++++ drivers/ram/rockchip/Makefile | 1 + drivers/ram/rockchip/sdram_rk3588.c | 57 + include/configs/neural-compute-module-6.h | 15 + include/configs/rk3588_common.h | 32 + .../dt-bindings/clock/rockchip,rk3588-cru.h | 766 ++++ include/dt-bindings/power/rk3588-power.h | 69 + .../dt-bindings/reset/rockchip,rk3588-cru.h | 754 ++++ tools/rkcommon.c | 1 + 40 files changed, 10810 insertions(+), 3 deletions(-) create mode 100644 arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi create mode 100644 arch/arm/dts/rk3588-edgeble-neu6a-io.dts create mode 100644 arch/arm/dts/rk3588-edgeble-neu6a.dtsi create mode 100644 arch/arm/dts/rk3588-pinctrl.dtsi create mode 100644 arch/arm/dts/rk3588-u-boot.dtsi create mode 100644 arch/arm/dts/rk3588.dtsi create mode 100644 arch/arm/dts/rk3588s-pinctrl.dtsi create mode 100644 arch/arm/dts/rk3588s-u-boot.dtsi create mode 100644 arch/arm/dts/rk3588s.dtsi create mode 100644 arch/arm/include/asm/arch-rk3588/boot0.h create mode 100644 arch/arm/include/asm/arch-rk3588/gpio.h create mode 100644 arch/arm/include/asm/arch-rockchip/cru_rk3588.h create mode 100644 arch/arm/include/asm/arch-rockchip/grf_rk3588.h create mode 100644 arch/arm/include/asm/arch-rockchip/ioc_rk3588.h create mode 100644 arch/arm/mach-rockchip/rk3588/Kconfig create mode 100644 arch/arm/mach-rockchip/rk3588/Makefile create mode 100644 arch/arm/mach-rockchip/rk3588/clk_rk3588.c create mode 100644 arch/arm/mach-rockchip/rk3588/rk3588.c create mode 100644 arch/arm/mach-rockchip/rk3588/syscon_rk3588.c create mode 100644 board/edgeble/neural-compute-module-6/Kconfig create mode 100644 board/edgeble/neural-compute-module-6/MAINTAINERS create mode 100644 board/edgeble/neural-compute-module-6/Makefile create mode 100644 board/edgeble/neural-compute-module-6/neu6.c create mode 100644 configs/neu6a-io-rk3588_defconfig create mode 100644 drivers/clk/rockchip/clk_rk3588.c create mode 100644 drivers/ram/rockchip/sdram_rk3588.c create mode 100644 include/configs/neural-compute-module-6.h create mode 100644 include/configs/rk3588_common.h create mode 100644 include/dt-bindings/clock/rockchip,rk3588-cru.h create mode 100644 include/dt-bindings/power/rk3588-power.h create mode 100644 include/dt-bindings/reset/rockchip,rk3588-cru.h