
From: Jagan Teki jagan@amarulasolutions.com
RV1126 is a high-performance vision processor SoC for IPC/CVR, especially for AI related application.
This patch series add basic core support for Rockchip RV1126 and boot from eMMC and SD.
Linux support is under review for the same [2].
Tested RV1126 in Edgeble AI Edge Compute Module 0.
Anyone interested, please have a look on this repo [1]
Note: I was little late to push this MW due to some issues, hope these would land as soon as possible.
[1] https://github.com/edgeble/u-boot/commits/ecm0-v4 [2] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20220723204335.7...
Any inputs? Jagan.
Jagan Teki (28): ram: Mark ram-uclass depend on TPL_DM or SPL_DM ram: rockchip: Add common ddr type configs tools: rkcommon: Correct SPL size for px30 ram: rockchip: Compute ddr capacity based on grf split ram: rockchip: Update high row detection for full bw ram: rockchip: Update ddr pctl regs for px30 ram: rockchip: Add rv1126 ddr3 support ram: rockchip: Add rv1126 ddr loader params ram: rockchip: Add rv1126 ddr driver support ram: rockchip: rv1126: Control ddr init prints via DEBUG ram: rockchip: Add rv1126 lpddr4 support pinctrl: rockchip: Add pinctrl route types pinctrl: rockchip: Add rv1126 support arch: rockchip: Add cru header for rv1126 clk: rockchip: Add rv1126 clk support dt-bindings: power: Add power-domain header for rv1126 dt-bindings: clk: Add dt-binding header for RV1126 arm: rockchip: Add grf header for rv1126 ARM: dts: rockchip: Add Rockchip RV1126 pinctrl ARM: dts: rockchip: Add Rockchip RV1126 SoC arm: rockchip: Add RV1126 arch core support arm: rockchip: rv1126: Set dram area unsecure for SPL configs: rockchip: Add rv1126 common config rockchip: mkimage: Add rv1126 support ARM: dts: rockchip: rv1126: Add Edgeble AI Edge Compute Module 0 ARM: dts: rockchip: rv1126: Add Edgeble AI Edge Compute Module 0 Carrier ARM: dts: rockchip: Add rv1126-u-boot.dtsi board: Add Edgeble AI Edge Compute Module 0 Carrier
arch/arm/dts/Makefile | 3 + .../rv1126-edgeble-ecm0-carrier-u-boot.dtsi | 10 + arch/arm/dts/rv1126-edgeble-ecm0-carrier.dts | 38 + .../rv1126-edgeble-edge-compute-module-0.dtsi | 329 ++ arch/arm/dts/rv1126-pinctrl.dtsi | 302 ++ arch/arm/dts/rv1126-u-boot.dtsi | 62 + arch/arm/dts/rv1126.dtsi | 500 +++ .../include/asm/arch-rockchip/cru_rv1126.h | 459 +++ .../asm/arch-rockchip/dram_spec_timing.h | 452 +++ .../include/asm/arch-rockchip/grf_rv1126.h | 251 ++ .../include/asm/arch-rockchip/sdram_common.h | 216 +- .../include/asm/arch-rockchip/sdram_msch.h | 12 + .../asm/arch-rockchip/sdram_pctl_px30.h | 100 +- .../asm/arch-rockchip/sdram_phy_rv1126.h | 93 + .../include/asm/arch-rockchip/sdram_rv1126.h | 420 ++ arch/arm/include/asm/arch-rv1126/boot0.h | 11 + arch/arm/include/asm/arch-rv1126/gpio.h | 11 + arch/arm/mach-rockchip/Kconfig | 46 + arch/arm/mach-rockchip/Makefile | 1 + arch/arm/mach-rockchip/rv1126/Kconfig | 55 + arch/arm/mach-rockchip/rv1126/Makefile | 13 + arch/arm/mach-rockchip/rv1126/clk_rv1126.c | 33 + arch/arm/mach-rockchip/rv1126/rv1126.c | 76 + arch/arm/mach-rockchip/rv1126/syscon_rv1126.c | 47 + board/edgeble/edge-compute-module-0/Kconfig | 16 + .../edgeble/edge-compute-module-0/MAINTAINERS | 6 + board/edgeble/edge-compute-module-0/Makefile | 7 + board/edgeble/edge-compute-module-0/ecm0.c | 4 + board/engicam/px30_core/Kconfig | 2 +- common/spl/Kconfig.tpl | 2 +- configs/ecm0-carrier-rv1126_defconfig | 56 + configs/khadas-edge-captain-rk3399_defconfig | 2 +- configs/khadas-edge-rk3399_defconfig | 2 +- configs/khadas-edge-v-rk3399_defconfig | 2 +- configs/leez-rk3399_defconfig | 2 +- configs/nanopi-r4s-rk3399_defconfig | 2 +- configs/pinebook-pro-rk3399_defconfig | 2 +- configs/roc-pc-mezzanine-rk3399_defconfig | 2 +- configs/roc-pc-rk3399_defconfig | 2 +- configs/rock-pi-4-rk3399_defconfig | 2 +- configs/rock-pi-4c-rk3399_defconfig | 2 +- configs/rockpro64-rk3399_defconfig | 2 +- drivers/clk/rockchip/Makefile | 1 + drivers/clk/rockchip/clk_rv1126.c | 1889 +++++++++ drivers/pinctrl/rockchip/Makefile | 1 + drivers/pinctrl/rockchip/pinctrl-px30.c | 11 +- drivers/pinctrl/rockchip/pinctrl-rk3128.c | 11 +- drivers/pinctrl/rockchip/pinctrl-rk322x.c | 11 +- drivers/pinctrl/rockchip/pinctrl-rk3288.c | 11 +- drivers/pinctrl/rockchip/pinctrl-rk3308.c | 11 +- drivers/pinctrl/rockchip/pinctrl-rk3328.c | 11 +- drivers/pinctrl/rockchip/pinctrl-rk3399.c | 11 +- .../pinctrl/rockchip/pinctrl-rockchip-core.c | 45 +- drivers/pinctrl/rockchip/pinctrl-rockchip.h | 58 +- drivers/pinctrl/rockchip/pinctrl-rv1126.c | 416 ++ drivers/ram/Makefile | 2 +- drivers/ram/rockchip/Kconfig | 32 +- drivers/ram/rockchip/Makefile | 1 + .../sdram-rv1126-ddr3-detect-1056.inc | 72 + .../rockchip/sdram-rv1126-ddr3-detect-328.inc | 72 + .../rockchip/sdram-rv1126-ddr3-detect-396.inc | 72 + .../rockchip/sdram-rv1126-ddr3-detect-528.inc | 72 + .../rockchip/sdram-rv1126-ddr3-detect-664.inc | 72 + .../rockchip/sdram-rv1126-ddr3-detect-784.inc | 72 + .../rockchip/sdram-rv1126-ddr3-detect-924.inc | 72 + .../rockchip/sdram-rv1126-loader_params.inc | 198 + .../sdram-rv1126-lpddr4-detect-1056.inc | 78 + .../sdram-rv1126-lpddr4-detect-328.inc | 78 + .../sdram-rv1126-lpddr4-detect-396.inc | 78 + .../sdram-rv1126-lpddr4-detect-528.inc | 78 + .../sdram-rv1126-lpddr4-detect-664.inc | 78 + .../sdram-rv1126-lpddr4-detect-784.inc | 78 + .../sdram-rv1126-lpddr4-detect-924.inc | 78 + drivers/ram/rockchip/sdram_common.c | 62 +- drivers/ram/rockchip/sdram_pctl_px30.c | 6 +- drivers/ram/rockchip/sdram_px30.c | 10 +- drivers/ram/rockchip/sdram_rk3328.c | 2 +- drivers/ram/rockchip/sdram_rk3399.c | 8 +- drivers/ram/rockchip/sdram_rv1126.c | 3543 +++++++++++++++++ include/configs/edge-compute-module-0.h | 21 + include/configs/rv1126_common.h | 42 + include/dt-bindings/clock/rv1126-cru.h | 632 +++ include/dt-bindings/power/rv1126-power.h | 35 + tools/rkcommon.c | 3 +- 84 files changed, 11657 insertions(+), 132 deletions(-) create mode 100644 arch/arm/dts/rv1126-edgeble-ecm0-carrier-u-boot.dtsi create mode 100644 arch/arm/dts/rv1126-edgeble-ecm0-carrier.dts create mode 100644 arch/arm/dts/rv1126-edgeble-edge-compute-module-0.dtsi create mode 100644 arch/arm/dts/rv1126-pinctrl.dtsi create mode 100644 arch/arm/dts/rv1126-u-boot.dtsi create mode 100644 arch/arm/dts/rv1126.dtsi create mode 100644 arch/arm/include/asm/arch-rockchip/cru_rv1126.h create mode 100644 arch/arm/include/asm/arch-rockchip/dram_spec_timing.h create mode 100644 arch/arm/include/asm/arch-rockchip/grf_rv1126.h create mode 100644 arch/arm/include/asm/arch-rockchip/sdram_phy_rv1126.h create mode 100644 arch/arm/include/asm/arch-rockchip/sdram_rv1126.h create mode 100644 arch/arm/include/asm/arch-rv1126/boot0.h create mode 100644 arch/arm/include/asm/arch-rv1126/gpio.h create mode 100644 arch/arm/mach-rockchip/rv1126/Kconfig create mode 100644 arch/arm/mach-rockchip/rv1126/Makefile create mode 100644 arch/arm/mach-rockchip/rv1126/clk_rv1126.c create mode 100644 arch/arm/mach-rockchip/rv1126/rv1126.c create mode 100644 arch/arm/mach-rockchip/rv1126/syscon_rv1126.c create mode 100644 board/edgeble/edge-compute-module-0/Kconfig create mode 100644 board/edgeble/edge-compute-module-0/MAINTAINERS create mode 100644 board/edgeble/edge-compute-module-0/Makefile create mode 100644 board/edgeble/edge-compute-module-0/ecm0.c create mode 100644 configs/ecm0-carrier-rv1126_defconfig create mode 100644 drivers/clk/rockchip/clk_rv1126.c create mode 100644 drivers/pinctrl/rockchip/pinctrl-rv1126.c create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr3-detect-1056.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr3-detect-328.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr3-detect-396.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr3-detect-528.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr3-detect-664.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr3-detect-784.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr3-detect-924.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-loader_params.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-lpddr4-detect-1056.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-lpddr4-detect-328.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-lpddr4-detect-396.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-lpddr4-detect-528.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-lpddr4-detect-664.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-lpddr4-detect-784.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-lpddr4-detect-924.inc create mode 100644 drivers/ram/rockchip/sdram_rv1126.c create mode 100644 include/configs/edge-compute-module-0.h create mode 100644 include/configs/rv1126_common.h create mode 100644 include/dt-bindings/clock/rv1126-cru.h create mode 100644 include/dt-bindings/power/rv1126-power.h