[PATCH v3 11/15] ARM: dts: Add the RV1103/RV1106 devicetree files
Simon Glass
sjg at chromium.org
Tue Jul 7 17:31:09 CEST 2026
Add the SoC devicetree files for the Rockchip RV1106 and its RV1103
package variant, based on the devicetrees in the Rockchip vendor tree,
trimmed to the devices that U-Boot supports.
The files come from the Luckfox Pico SDK [1] at commit 824b817f8:
rv1106-pinctrl.dtsi and the rv1106-cru.h binding header are verbatim
copies from its U-Boot tree (2017.09-based, with only the pinconf
include path adjusted), rv1106.dtsi is a trimmed version of the same
tree's file with the camera, codec and other vendor-only nodes
removed, and rv1103.dtsi follows the pattern of the corresponding
file in its kernel tree (Linux 5.10.160).
Neither SoC is supported in mainline Linux and no support is in
review, so there are no upstream devicetrees to inherit. Once Linux
gains RV1106 devicetrees, the OF_UPSTREAM mechanism can be enabled and
these files dropped.
[1] https://github.com/LuckfoxTECH/luckfox-pico
Signed-off-by: Simon Glass <sjg at chromium.org>
---
(no changes since v1)
arch/arm/dts/rv1103.dtsi | 16 +
arch/arm/dts/rv1106-pinctrl.dtsi | 1102 ++++++++++++++++++++++++
arch/arm/dts/rv1106.dtsi | 328 +++++++
include/dt-bindings/clock/rv1106-cru.h | 572 ++++++++++++
4 files changed, 2018 insertions(+)
create mode 100644 arch/arm/dts/rv1103.dtsi
create mode 100644 arch/arm/dts/rv1106-pinctrl.dtsi
create mode 100644 arch/arm/dts/rv1106.dtsi
create mode 100644 include/dt-bindings/clock/rv1106-cru.h
diff --git a/arch/arm/dts/rv1103.dtsi b/arch/arm/dts/rv1103.dtsi
new file mode 100644
index 00000000000..025fde5bf09
--- /dev/null
+++ b/arch/arm/dts/rv1103.dtsi
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
+ */
+
+#include "rv1106.dtsi"
+
+/ {
+ compatible = "rockchip,rv1103";
+
+ aliases {
+ /delete-property/ gpio2;
+ };
+};
+
+/delete-node/ &gpio2;
diff --git a/arch/arm/dts/rv1106-pinctrl.dtsi b/arch/arm/dts/rv1106-pinctrl.dtsi
new file mode 100644
index 00000000000..8338556dafd
--- /dev/null
+++ b/arch/arm/dts/rv1106-pinctrl.dtsi
@@ -0,0 +1,1102 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
+ */
+
+#include <dt-bindings/pinctrl/rockchip.h>
+#include <arm64/rockchip/rockchip-pinconf.dtsi>
+
+/*
+ * This file is auto generated by pin2dts tool, please keep these code
+ * by adding changes at end of this file.
+ */
+&pinctrl {
+ adc {
+ adc_pins: adc-pins {
+ rockchip,pins =
+ /* adc_in0 */
+ <4 RK_PC0 1 &pcfg_pull_none>,
+ /* adc_in1 */
+ <4 RK_PC1 1 &pcfg_pull_none>;
+ };
+ };
+
+ avs {
+ avs_pins: avs-pins {
+ rockchip,pins =
+ /* avs_arm */
+ <1 RK_PA2 2 &pcfg_pull_none>;
+ };
+ };
+
+ clk {
+ clk_32k: clk-32k {
+ rockchip,pins =
+ /* clk_32k */
+ <0 RK_PA0 2 &pcfg_pull_none>;
+ };
+ clk_refout: clk-refout {
+ rockchip,pins =
+ /* clk_refout */
+ <0 RK_PA0 3 &pcfg_pull_none>;
+ };
+ };
+
+ dsmaudio {
+ dsmaudio_pins: dsmaudio-pins {
+ rockchip,pins =
+ /* dsmaudio_n */
+ <1 RK_PD3 7 &pcfg_pull_none>,
+ /* dsmaudio_p */
+ <1 RK_PD2 7 &pcfg_pull_none>;
+ };
+ };
+
+ emmc {
+ emmc_bus8: emmc-bus8 {
+ rockchip,pins =
+ /* emmc_d0 */
+ <4 RK_PA4 1 &pcfg_pull_up_drv_level_2>,
+ /* emmc_d1 */
+ <4 RK_PA3 1 &pcfg_pull_up_drv_level_2>,
+ /* emmc_d2 */
+ <4 RK_PA2 1 &pcfg_pull_up_drv_level_2>,
+ /* emmc_d3 */
+ <4 RK_PA6 1 &pcfg_pull_up_drv_level_2>,
+ /* emmc_d4 */
+ <4 RK_PA5 1 &pcfg_pull_up_drv_level_2>,
+ /* emmc_d5 */
+ <4 RK_PA7 1 &pcfg_pull_up_drv_level_2>,
+ /* emmc_d6 */
+ <4 RK_PA1 1 &pcfg_pull_up_drv_level_2>,
+ /* emmc_d7 */
+ <4 RK_PA0 1 &pcfg_pull_up_drv_level_2>;
+ };
+
+ emmc_clk: emmc-clk {
+ rockchip,pins =
+ /* emmc_clk */
+ <4 RK_PB1 1 &pcfg_pull_up_drv_level_2>;
+ };
+
+ emmc_cmd: emmc-cmd {
+ rockchip,pins =
+ /* emmc_cmd */
+ <4 RK_PB0 1 &pcfg_pull_up_drv_level_2>;
+ };
+ };
+
+ flash {
+ flash_pins: flash-pins {
+ rockchip,pins =
+ /* flash_trig_out */
+ <2 RK_PA6 6 &pcfg_pull_none>;
+ };
+ };
+
+ fspi {
+ fspi_pins: fspi-pins {
+ rockchip,pins =
+ /* fspi_clk */
+ <4 RK_PB1 2 &pcfg_pull_up_drv_level_2>,
+ /* fspi_d0 */
+ <4 RK_PA4 2 &pcfg_pull_none>,
+ /* fspi_d1 */
+ <4 RK_PA3 2 &pcfg_pull_none>,
+ /* fspi_d2 */
+ <4 RK_PA2 2 &pcfg_pull_none>,
+ /* fspi_d3 */
+ <4 RK_PA6 2 &pcfg_pull_none>;
+ };
+
+ fspi_cs0: fspi-cs0 {
+ rockchip,pins =
+ /* fspi_cs0n */
+ <4 RK_PB0 2 &pcfg_pull_up>;
+ };
+ };
+
+ hpmcu {
+ hpmcum0_pins: hpmcum0-pins {
+ rockchip,pins =
+ /* hpmcu_jtag_tck_m0 */
+ <1 RK_PB2 3 &pcfg_pull_none>,
+ /* hpmcu_jtag_tms_m0 */
+ <1 RK_PB3 3 &pcfg_pull_none>;
+ };
+
+ hpmcum1_pins: hpmcum1-pins {
+ rockchip,pins =
+ /* hpmcu_jtag_tck_m1 */
+ <3 RK_PA7 4 &pcfg_pull_none>,
+ /* hpmcu_jtag_tms_m1 */
+ <3 RK_PA6 4 &pcfg_pull_none>;
+ };
+ };
+
+ i2c0 {
+ i2c0m0_xfer: i2c0m0-xfer {
+ rockchip,pins =
+ /* i2c0_scl_m0 */
+ <1 RK_PA3 2 &pcfg_pull_none_smt>,
+ /* i2c0_sda_m0 */
+ <1 RK_PA4 2 &pcfg_pull_none_smt>;
+ };
+
+ i2c0m1_xfer: i2c0m1-xfer {
+ rockchip,pins =
+ /* i2c0_scl_m1 */
+ <4 RK_PA1 4 &pcfg_pull_none_smt>,
+ /* i2c0_sda_m1 */
+ <4 RK_PA0 4 &pcfg_pull_none_smt>;
+ };
+
+ i2c0m2_xfer: i2c0m2-xfer {
+ rockchip,pins =
+ /* i2c0_scl_m2 */
+ <3 RK_PA4 3 &pcfg_pull_none_smt>,
+ /* i2c0_sda_m2 */
+ <3 RK_PA5 3 &pcfg_pull_none_smt>;
+ };
+ };
+
+ i2c1 {
+ i2c1m0_xfer: i2c1m0-xfer {
+ rockchip,pins =
+ /* i2c1_scl_m0 */
+ <0 RK_PA5 1 &pcfg_pull_none_smt>,
+ /* i2c1_sda_m0 */
+ <0 RK_PA6 1 &pcfg_pull_none_smt>;
+ };
+
+ i2c1m1_xfer: i2c1m1-xfer {
+ rockchip,pins =
+ /* i2c1_scl_m1 */
+ <2 RK_PB0 2 &pcfg_pull_none_smt>,
+ /* i2c1_sda_m1 */
+ <2 RK_PB1 2 &pcfg_pull_none_smt>;
+ };
+ };
+
+ i2c2 {
+ i2c2m0_xfer: i2c2m0-xfer {
+ rockchip,pins =
+ /* i2c2_scl_m0 */
+ <1 RK_PA0 2 &pcfg_pull_none_smt>,
+ /* i2c2_sda_m0 */
+ <1 RK_PA1 2 &pcfg_pull_none_smt>;
+ };
+
+ i2c2m1_xfer: i2c2m1-xfer {
+ rockchip,pins =
+ /* i2c2_scl_m1 */
+ <4 RK_PA7 4 &pcfg_pull_none_smt>,
+ /* i2c2_sda_m1 */
+ <4 RK_PA5 4 &pcfg_pull_none_smt>;
+ };
+ };
+
+ i2c3 {
+ i2c3m0_xfer: i2c3m0-xfer {
+ rockchip,pins =
+ /* i2c3_scl_m0 */
+ <2 RK_PA6 5 &pcfg_pull_none_smt>,
+ /* i2c3_sda_m0 */
+ <2 RK_PA7 5 &pcfg_pull_none_smt>;
+ };
+
+ i2c3m1_xfer: i2c3m1-xfer {
+ rockchip,pins =
+ /* i2c3_scl_m1 */
+ <1 RK_PD3 3 &pcfg_pull_none_smt>,
+ /* i2c3_sda_m1 */
+ <1 RK_PD2 3 &pcfg_pull_none_smt>;
+ };
+
+ i2c3m2_xfer: i2c3m2-xfer {
+ rockchip,pins =
+ /* i2c3_scl_m2 */
+ <3 RK_PD1 3 &pcfg_pull_none_smt>,
+ /* i2c3_sda_m2 */
+ <3 RK_PD2 3 &pcfg_pull_none_smt>;
+ };
+ };
+
+ i2c4 {
+ i2c4m0_xfer: i2c4m0-xfer {
+ rockchip,pins =
+ /* i2c4_scl_m0 */
+ <2 RK_PA1 5 &pcfg_pull_none_smt>,
+ /* i2c4_sda_m0 */
+ <2 RK_PA0 5 &pcfg_pull_none_smt>;
+ };
+
+ i2c4m1_xfer: i2c4m1-xfer {
+ rockchip,pins =
+ /* i2c4_scl_m1 */
+ <1 RK_PC2 4 &pcfg_pull_none_smt>,
+ /* i2c4_sda_m1 */
+ <1 RK_PC3 4 &pcfg_pull_none_smt>;
+ };
+
+ i2c4m2_xfer: i2c4m2-xfer {
+ rockchip,pins =
+ /* i2c4_scl_m2 */
+ <3 RK_PC7 3 &pcfg_pull_none_smt>,
+ /* i2c4_sda_m2 */
+ <3 RK_PD0 3 &pcfg_pull_none_smt>;
+ };
+ };
+
+ i2s0 {
+ i2s0_pins: i2s0-pins {
+ rockchip,pins =
+ /* i2s0_lrck */
+ <2 RK_PA1 2 &pcfg_pull_none>,
+ /* i2s0_mclk */
+ <2 RK_PA2 2 &pcfg_pull_none>,
+ /* i2s0_sclk */
+ <2 RK_PA0 2 &pcfg_pull_none>,
+ /* i2s0_sdi0 */
+ <2 RK_PA5 2 &pcfg_pull_none>,
+ /* i2s0_sdo0 */
+ <2 RK_PA4 2 &pcfg_pull_none>,
+ /* i2s0_sdo1_sdi3 */
+ <2 RK_PA7 2 &pcfg_pull_none>,
+ /* i2s0_sdo2_sdi2 */
+ <2 RK_PA6 2 &pcfg_pull_none>,
+ /* i2s0_sdo3_sdi1 */
+ <2 RK_PA3 2 &pcfg_pull_none>;
+ };
+ };
+
+ lcd {
+ lcd_pins: lcd-pins {
+ rockchip,pins =
+ /* lcd_clk */
+ <1 RK_PD3 1 &pcfg_pull_none>,
+ /* lcd_d0 */
+ <1 RK_PC7 1 &pcfg_pull_none>,
+ /* lcd_d1 */
+ <1 RK_PC6 1 &pcfg_pull_none>,
+ /* lcd_d2 */
+ <1 RK_PC5 1 &pcfg_pull_none>,
+ /* lcd_d3 */
+ <1 RK_PC4 1 &pcfg_pull_none>,
+ /* lcd_d4 */
+ <1 RK_PC3 1 &pcfg_pull_none>,
+ /* lcd_d5 */
+ <1 RK_PC2 1 &pcfg_pull_none>,
+ /* lcd_d6 */
+ <1 RK_PC1 1 &pcfg_pull_none>,
+ /* lcd_d7 */
+ <1 RK_PC0 1 &pcfg_pull_none>,
+ /* lcd_d8 */
+ <2 RK_PA0 3 &pcfg_pull_none>,
+ /* lcd_d9 */
+ <2 RK_PA1 3 &pcfg_pull_none>,
+ /* lcd_d10 */
+ <2 RK_PA2 3 &pcfg_pull_none>,
+ /* lcd_d11 */
+ <2 RK_PA3 3 &pcfg_pull_none>,
+ /* lcd_d12 */
+ <2 RK_PA4 3 &pcfg_pull_none>,
+ /* lcd_d13 */
+ <2 RK_PA5 3 &pcfg_pull_none>,
+ /* lcd_d14 */
+ <2 RK_PA6 3 &pcfg_pull_none>,
+ /* lcd_d15 */
+ <2 RK_PA7 3 &pcfg_pull_none>,
+ /* lcd_d16 */
+ <2 RK_PB0 3 &pcfg_pull_none>,
+ /* lcd_d17 */
+ <2 RK_PB1 3 &pcfg_pull_none>,
+ /* lcd_den */
+ <1 RK_PD0 1 &pcfg_pull_none>,
+ /* lcd_hsync */
+ <1 RK_PD1 1 &pcfg_pull_none>,
+ /* lcd_vsync */
+ <1 RK_PD2 1 &pcfg_pull_none>;
+ };
+ };
+
+ lpmcu {
+ lpmcum0_pins: lpmcum0-pins {
+ rockchip,pins =
+ /* lpmcu_jtag_tck_m0 */
+ <1 RK_PB2 4 &pcfg_pull_none>,
+ /* lpmcu_jtag_tms_m0 */
+ <1 RK_PB3 4 &pcfg_pull_none>;
+ };
+
+ lpmcum1_pins: lpmcum1-pins {
+ rockchip,pins =
+ /* lpmcu_jtag_tck_m1 */
+ <3 RK_PA4 4 &pcfg_pull_none>,
+ /* lpmcu_jtag_tms_m1 */
+ <3 RK_PA5 4 &pcfg_pull_none>;
+ };
+ };
+
+ mipi {
+ mipi_pins: mipi-pins {
+ rockchip,pins =
+ /* mipi_lvds_ck0n */
+ <3 RK_PC0 2 &pcfg_pull_none>,
+ /* mipi_lvds_ck0p */
+ <3 RK_PC1 2 &pcfg_pull_none>,
+ /* mipi_lvds_ck1n */
+ <3 RK_PB2 2 &pcfg_pull_none>,
+ /* mipi_lvds_ck1p */
+ <3 RK_PB3 2 &pcfg_pull_none>,
+ /* mipi_lvds_d0n */
+ <3 RK_PC2 2 &pcfg_pull_none>,
+ /* mipi_lvds_d0p */
+ <3 RK_PC3 2 &pcfg_pull_none>,
+ /* mipi_lvds_d1n */
+ <3 RK_PB6 2 &pcfg_pull_none>,
+ /* mipi_lvds_d1p */
+ <3 RK_PB7 2 &pcfg_pull_none>,
+ /* mipi_lvds_d2n */
+ <3 RK_PB4 2 &pcfg_pull_none>,
+ /* mipi_lvds_d2p */
+ <3 RK_PB5 2 &pcfg_pull_none>,
+ /* mipi_lvds_d3n */
+ <3 RK_PB0 2 &pcfg_pull_none>,
+ /* mipi_lvds_d3p */
+ <3 RK_PB1 2 &pcfg_pull_none>,
+ /* mipi_refclk_out0 */
+ <3 RK_PC4 2 &pcfg_pull_none>,
+ /* mipi_refclk_out1 */
+ <3 RK_PC6 3 &pcfg_pull_none>;
+ };
+ };
+
+ pmic {
+ pmicm0_pins: pmicm0-pins {
+ rockchip,pins =
+ /* pmic_sleep_m0 */
+ <0 RK_PA4 1 &pcfg_pull_none>;
+ };
+
+ pmicm1_pins: pmicm1-pins {
+ rockchip,pins =
+ /* pmic_sleep_m1 */
+ <0 RK_PA3 1 &pcfg_pull_none>;
+ };
+ };
+
+ pmu {
+ pmu_pins: pmu-pins {
+ rockchip,pins =
+ /* pmu_debug */
+ <1 RK_PA1 3 &pcfg_pull_none>;
+ };
+ };
+
+ prelight {
+ prelight_pins: prelight-pins {
+ rockchip,pins =
+ /* prelight_trig_out */
+ <2 RK_PA7 6 &pcfg_pull_none>;
+ };
+ };
+
+ pwm0 {
+ pwm0m0_pins: pwm0m0-pins {
+ rockchip,pins =
+ /* pwm0_m0 */
+ <1 RK_PA2 1 &pcfg_pull_none>;
+ };
+
+ pwm0m1_pins: pwm0m1-pins {
+ rockchip,pins =
+ /* pwm0_m1 */
+ <1 RK_PD2 6 &pcfg_pull_none>;
+ };
+ };
+
+ pwm1 {
+ pwm1m0_pins: pwm1m0-pins {
+ rockchip,pins =
+ /* pwm1_m0 */
+ <0 RK_PA4 2 &pcfg_pull_none>;
+ };
+
+ pwm1m1_pins: pwm1m1-pins {
+ rockchip,pins =
+ /* pwm1_m1 */
+ <4 RK_PC1 2 &pcfg_pull_none>;
+ };
+
+ pwm1m2_pins: pwm1m2-pins {
+ rockchip,pins =
+ /* pwm1_m2 */
+ <3 RK_PD3 2 &pcfg_pull_none>;
+ };
+ };
+
+ pwm2 {
+ pwm2m0_pins: pwm2m0-pins {
+ rockchip,pins =
+ /* pwm2_m0 */
+ <0 RK_PA1 2 &pcfg_pull_none>;
+ };
+
+ pwm2m1_pins: pwm2m1-pins {
+ rockchip,pins =
+ /* pwm2_m1 */
+ <2 RK_PA6 4 &pcfg_pull_none>;
+ };
+
+ pwm2m2_pins: pwm2m2-pins {
+ rockchip,pins =
+ /* pwm2_m2 */
+ <1 RK_PC0 3 &pcfg_pull_none>;
+ };
+ };
+
+ pwm3 {
+ pwm3m0_pins: pwm3m0-pins {
+ rockchip,pins =
+ /* pwm3_ir_m0 */
+ <0 RK_PA2 1 &pcfg_pull_none>;
+ };
+
+ pwm3m1_pins: pwm3m1-pins {
+ rockchip,pins =
+ /* pwm3_ir_m1 */
+ <1 RK_PB0 2 &pcfg_pull_none>;
+ };
+
+ pwm3m2_pins: pwm3m2-pins {
+ rockchip,pins =
+ /* pwm3_ir_m2 */
+ <1 RK_PD0 3 &pcfg_pull_none>;
+ };
+ };
+
+ pwm4 {
+ pwm4m0_pins: pwm4m0-pins {
+ rockchip,pins =
+ /* pwm4_m0 */
+ <1 RK_PA1 4 &pcfg_pull_none>;
+ };
+
+ pwm4m1_pins: pwm4m1-pins {
+ rockchip,pins =
+ /* pwm4_m1 */
+ <2 RK_PA7 4 &pcfg_pull_none>;
+ };
+
+ pwm4m2_pins: pwm4m2-pins {
+ rockchip,pins =
+ /* pwm4_m2 */
+ <1 RK_PC1 3 &pcfg_pull_none>;
+ };
+ };
+
+ pwm5 {
+ pwm5m0_pins: pwm5m0-pins {
+ rockchip,pins =
+ /* pwm5_m0 */
+ <0 RK_PA5 3 &pcfg_pull_none>;
+ };
+
+ pwm5m1_pins: pwm5m1-pins {
+ rockchip,pins =
+ /* pwm5_m1 */
+ <2 RK_PB0 4 &pcfg_pull_none>;
+ };
+
+ pwm5m2_pins: pwm5m2-pins {
+ rockchip,pins =
+ /* pwm5_m2 */
+ <1 RK_PC2 3 &pcfg_pull_none>;
+ };
+ };
+
+ pwm6 {
+ pwm6m0_pins: pwm6m0-pins {
+ rockchip,pins =
+ /* pwm6_m0 */
+ <0 RK_PA6 3 &pcfg_pull_none>;
+ };
+
+ pwm6m1_pins: pwm6m1-pins {
+ rockchip,pins =
+ /* pwm6_m1 */
+ <2 RK_PB1 4 &pcfg_pull_none>;
+ };
+
+ pwm6m2_pins: pwm6m2-pins {
+ rockchip,pins =
+ /* pwm6_m2 */
+ <1 RK_PC3 3 &pcfg_pull_none>;
+ };
+ };
+
+ pwm7 {
+ pwm7m0_pins: pwm7m0-pins {
+ rockchip,pins =
+ /* pwm7_ir_m0 */
+ <1 RK_PA0 3 &pcfg_pull_none>;
+ };
+
+ pwm7m1_pins: pwm7m1-pins {
+ rockchip,pins =
+ /* pwm7_ir_m1 */
+ <1 RK_PB1 2 &pcfg_pull_none>;
+ };
+
+ pwm7m2_pins: pwm7m2-pins {
+ rockchip,pins =
+ /* pwm7_ir_m2 */
+ <3 RK_PC6 2 &pcfg_pull_none>;
+ };
+ };
+
+ pwm8 {
+ pwm8m0_pins: pwm8m0-pins {
+ rockchip,pins =
+ /* pwm8_m0 */
+ <3 RK_PA3 4 &pcfg_pull_none>;
+ };
+
+ pwm8m1_pins: pwm8m1-pins {
+ rockchip,pins =
+ /* pwm8_m1 */
+ <1 RK_PC4 3 &pcfg_pull_none>;
+ };
+ };
+
+ pwm9 {
+ pwm9m0_pins: pwm9m0-pins {
+ rockchip,pins =
+ /* pwm9_m0 */
+ <3 RK_PA2 4 &pcfg_pull_none>;
+ };
+
+ pwm9m1_pins: pwm9m1-pins {
+ rockchip,pins =
+ /* pwm9_m1 */
+ <1 RK_PC5 3 &pcfg_pull_none>;
+ };
+ };
+
+ pwm10 {
+ pwm10m0_pins: pwm10m0-pins {
+ rockchip,pins =
+ /* pwm10_m0 */
+ <3 RK_PA4 5 &pcfg_pull_none>;
+ };
+
+ pwm10m1_pins: pwm10m1-pins {
+ rockchip,pins =
+ /* pwm10_m1 */
+ <1 RK_PC6 3 &pcfg_pull_none>;
+ };
+
+ pwm10m2_pins: pwm10m2-pins {
+ rockchip,pins =
+ /* pwm10_m2 */
+ <1 RK_PD1 3 &pcfg_pull_none>;
+ };
+ };
+
+ pwm11 {
+ pwm11m0_pins: pwm11m0-pins {
+ rockchip,pins =
+ /* pwm11_ir_m0 */
+ <3 RK_PA5 5 &pcfg_pull_none>;
+ };
+
+ pwm11m1_pins: pwm11m1-pins {
+ rockchip,pins =
+ /* pwm11_ir_m1 */
+ <1 RK_PC7 3 &pcfg_pull_none>;
+ };
+
+ pwm11m2_pins: pwm11m2-pins {
+ rockchip,pins =
+ /* pwm11_ir_m2 */
+ <1 RK_PD3 5 &pcfg_pull_none>;
+ };
+ };
+
+ rtc {
+ rtc_pins: rtc-pins {
+ rockchip,pins =
+ /* rtc_clko */
+ <0 RK_PA0 4 &pcfg_pull_none>;
+ };
+ };
+
+ sdmmc0: sdmmc0 {
+ sdmmc0_bus4: sdmmc0-bus4 {
+ rockchip,pins =
+ /* sdmmc0_d0 */
+ <3 RK_PA3 1 &pcfg_pull_up_drv_level_2>,
+ /* sdmmc0_d1 */
+ <3 RK_PA2 1 &pcfg_pull_up_drv_level_2>,
+ /* sdmmc0_d2 */
+ <3 RK_PA7 1 &pcfg_pull_up_drv_level_2>,
+ /* sdmmc0_d3 */
+ <3 RK_PA6 1 &pcfg_pull_up_drv_level_2>;
+ };
+
+ sdmmc0_clk: sdmmc0-clk {
+ rockchip,pins =
+ /* sdmmc0_clk */
+ <3 RK_PA4 1 &pcfg_pull_up_drv_level_2>;
+ };
+
+ sdmmc0_cmd: sdmmc0-cmd {
+ rockchip,pins =
+ /* sdmmc0_cmd */
+ <3 RK_PA5 1 &pcfg_pull_up_drv_level_2>;
+ };
+
+ sdmmc0_det: sdmmc0-det {
+ rockchip,pins =
+ /* sdmmc0_det */
+ <3 RK_PA1 1 &pcfg_pull_up>;
+ };
+
+ sdmmc0_idle_pins: sdmmc0-idle-pins {
+ rockchip,pins =
+ /* sdmmc0_d0 */
+ <3 RK_PA3 1 &pcfg_pull_down>,
+ /* sdmmc0_d1 */
+ <3 RK_PA2 1 &pcfg_pull_down>,
+ /* sdmmc0_d2 */
+ <3 RK_PA7 1 &pcfg_pull_down>,
+ /* sdmmc0_d3 */
+ <3 RK_PA6 1 &pcfg_pull_down>,
+ /* sdmmc0_clk */
+ <3 RK_PA4 1 &pcfg_pull_down>,
+ /* sdmmc0_cmd */
+ <3 RK_PA5 1 &pcfg_pull_down>;
+ };
+ };
+
+ sdmmc1 {
+ sdmmc1m0_bus4: sdmmc1m0-bus4 {
+ rockchip,pins =
+ /* sdmmc1_d0_m0 */
+ <2 RK_PA1 1 &pcfg_pull_up_drv_level_2>,
+ /* sdmmc1_d1_m0 */
+ <2 RK_PA0 1 &pcfg_pull_up_drv_level_2>,
+ /* sdmmc1_d2_m0 */
+ <2 RK_PA5 1 &pcfg_pull_up_drv_level_2>,
+ /* sdmmc1_d3_m0 */
+ <2 RK_PA4 1 &pcfg_pull_up_drv_level_2>;
+ };
+
+ sdmmc1m0_clk: sdmmc1m0-clk {
+ rockchip,pins =
+ /* sdmmc1_clk_m0 */
+ <2 RK_PA2 1 &pcfg_pull_up_drv_level_2>;
+ };
+
+ sdmmc1m0_cmd: sdmmc1m0-cmd {
+ rockchip,pins =
+ /* sdmmc1_cmd_m0 */
+ <2 RK_PA3 1 &pcfg_pull_up_drv_level_2>;
+ };
+
+ sdmmc1m1_bus4: sdmmc1m1-bus4 {
+ rockchip,pins =
+ /* sdmmc1_d0_m1 */
+ <1 RK_PC1 5 &pcfg_pull_up_drv_level_2>,
+ /* sdmmc1_d1_m1 */
+ <1 RK_PC0 5 &pcfg_pull_up_drv_level_2>,
+ /* sdmmc1_d2_m1 */
+ <1 RK_PC5 5 &pcfg_pull_up_drv_level_2>,
+ /* sdmmc1_d3_m1 */
+ <1 RK_PC4 5 &pcfg_pull_up_drv_level_2>;
+ };
+
+ sdmmc1m1_clk: sdmmc1m1-clk {
+ rockchip,pins =
+ /* sdmmc1_clk_m1 */
+ <1 RK_PC2 5 &pcfg_pull_up_drv_level_2>;
+ };
+
+ sdmmc1m1_cmd: sdmmc1m1-cmd {
+ rockchip,pins =
+ /* sdmmc1_cmd_m1 */
+ <1 RK_PC3 5 &pcfg_pull_up_drv_level_2>;
+ };
+
+ sdmmc1m1_idle_pins: sdmmc1m1-idle-pins {
+ rockchip,pins =
+ /* sdmmc1_d0_m1 */
+ <1 RK_PC1 5 &pcfg_pull_down>,
+ /* sdmmc1_d1_m1 */
+ <1 RK_PC0 5 &pcfg_pull_down>,
+ /* sdmmc1_d2_m1 */
+ <1 RK_PC5 5 &pcfg_pull_down>,
+ /* sdmmc1_d3_m1 */
+ <1 RK_PC4 5 &pcfg_pull_down>,
+ /* sdmmc1_clk_m1 */
+ <1 RK_PC2 5 &pcfg_pull_down>,
+ /* sdmmc1_cmd_m1 */
+ <1 RK_PC3 5 &pcfg_pull_down>;
+ };
+ };
+
+ spi0 {
+ spi0m0_pins: spi0m0-pins {
+ rockchip,pins =
+ /* spi0_clk_m0 */
+ <1 RK_PC1 4 &pcfg_pull_none>,
+ /* spi0_miso_m0 */
+ <1 RK_PC3 6 &pcfg_pull_none>,
+ /* spi0_mosi_m0 */
+ <1 RK_PC2 6 &pcfg_pull_none>;
+ };
+
+ spi0m0_cs0: spi0m0-cs0 {
+ rockchip,pins =
+ /* spi0_cs0n_m0 */
+ <1 RK_PC0 4 &pcfg_pull_none>;
+ };
+
+ spi0m0_cs1: spi0m0-cs1 {
+ rockchip,pins =
+ /* spi0_cs1n_m0 */
+ <1 RK_PD2 5 &pcfg_pull_none>;
+ };
+ };
+
+ spi1 {
+ spi1m0_pins: spi1m0-pins {
+ rockchip,pins =
+ /* spi1_clk_m0 */
+ <4 RK_PA7 2 &pcfg_pull_none>,
+ /* spi1_miso_m0 */
+ <4 RK_PA0 2 &pcfg_pull_none>,
+ /* spi1_mosi_m0 */
+ <4 RK_PA1 2 &pcfg_pull_none>;
+ };
+
+ spi1m0_cs0: spi1m0-cs0 {
+ rockchip,pins =
+ /* spi1_cs0n_m0 */
+ <4 RK_PA5 2 &pcfg_pull_none>;
+ };
+
+ spi1m0_cs1: spi1m0-cs1 {
+ rockchip,pins =
+ /* spi1_cs1n_m0 */
+ <1 RK_PB1 3 &pcfg_pull_none>;
+ };
+ };
+
+ uart0 {
+ uart0m0_xfer: uart0m0-xfer {
+ rockchip,pins =
+ /* uart0_rx_m0 */
+ <0 RK_PA0 1 &pcfg_pull_up>,
+ /* uart0_tx_m0 */
+ <0 RK_PA1 1 &pcfg_pull_up>;
+ };
+
+ uart0m1_xfer: uart0m1-xfer {
+ rockchip,pins =
+ /* uart0_rx_m1 */
+ <2 RK_PB0 1 &pcfg_pull_up>,
+ /* uart0_tx_m1 */
+ <2 RK_PB1 1 &pcfg_pull_up>;
+ };
+
+ uart0m1_ctsn: uart0m1-ctsn {
+ rockchip,pins =
+ /* uart0m1_ctsn */
+ <2 RK_PA7 1 &pcfg_pull_none>;
+ };
+ uart0m1_rtsn: uart0m1-rtsn {
+ rockchip,pins =
+ /* uart0m1_rtsn */
+ <2 RK_PA6 1 &pcfg_pull_none>;
+ };
+
+ uart0m2_xfer: uart0m2-xfer {
+ rockchip,pins =
+ /* uart0_rx_m2 */
+ <4 RK_PA0 3 &pcfg_pull_up>,
+ /* uart0_tx_m2 */
+ <4 RK_PA1 3 &pcfg_pull_up>;
+ };
+ };
+
+ uart1 {
+ uart1m0_xfer: uart1m0-xfer {
+ rockchip,pins =
+ /* uart1_rx_m0 */
+ <1 RK_PA4 1 &pcfg_pull_up>,
+ /* uart1_tx_m0 */
+ <1 RK_PA3 1 &pcfg_pull_up>;
+ };
+
+ uart1m0_ctsn: uart1m0-ctsn {
+ rockchip,pins =
+ /* uart1m0_ctsn */
+ <0 RK_PA6 2 &pcfg_pull_none>;
+ };
+ uart1m0_rtsn: uart1m0-rtsn {
+ rockchip,pins =
+ /* uart1m0_rtsn */
+ <0 RK_PA5 2 &pcfg_pull_none>;
+ };
+
+ uart1m1_xfer: uart1m1-xfer {
+ rockchip,pins =
+ /* uart1_rx_m1 */
+ <2 RK_PA5 4 &pcfg_pull_up>,
+ /* uart1_tx_m1 */
+ <2 RK_PA4 4 &pcfg_pull_up>;
+ };
+
+ uart1m1_ctsn: uart1m1-ctsn {
+ rockchip,pins =
+ /* uart1m1_ctsn */
+ <2 RK_PA0 4 &pcfg_pull_none>;
+ };
+ uart1m1_rtsn: uart1m1-rtsn {
+ rockchip,pins =
+ /* uart1m1_rtsn */
+ <2 RK_PA1 4 &pcfg_pull_none>;
+ };
+
+ uart1m2_xfer: uart1m2-xfer {
+ rockchip,pins =
+ /* uart1_rx_m2 */
+ <4 RK_PA7 3 &pcfg_pull_up>,
+ /* uart1_tx_m2 */
+ <4 RK_PA5 3 &pcfg_pull_up>;
+ };
+ };
+
+ uart2 {
+ uart2m0_xfer: uart2m0-xfer {
+ rockchip,pins =
+ /* uart2_rx_m0 */
+ <3 RK_PA3 2 &pcfg_pull_up>,
+ /* uart2_tx_m0 */
+ <3 RK_PA2 2 &pcfg_pull_up>;
+ };
+
+ uart2m1_xfer: uart2m1-xfer {
+ rockchip,pins =
+ /* uart2_rx_m1 */
+ <1 RK_PB3 2 &pcfg_pull_up>,
+ /* uart2_tx_m1 */
+ <1 RK_PB2 2 &pcfg_pull_up>;
+ };
+ };
+
+ uart3 {
+ uart3m0_xfer: uart3m0-xfer {
+ rockchip,pins =
+ /* uart3_rx_m0 */
+ <1 RK_PA1 1 &pcfg_pull_up>,
+ /* uart3_tx_m0 */
+ <1 RK_PA0 1 &pcfg_pull_up>;
+ };
+
+ uart3m1_xfer: uart3m1-xfer {
+ rockchip,pins =
+ /* uart3_rx_m1 */
+ <1 RK_PD1 5 &pcfg_pull_up>,
+ /* uart3_tx_m1 */
+ <1 RK_PD0 5 &pcfg_pull_up>;
+ };
+ };
+
+ uart4 {
+ uart4m0_xfer: uart4m0-xfer {
+ rockchip,pins =
+ /* uart4_rx_m0 */
+ <1 RK_PB0 1 &pcfg_pull_up>,
+ /* uart4_tx_m0 */
+ <1 RK_PB1 1 &pcfg_pull_up>;
+ };
+
+ uart4m1_xfer: uart4m1-xfer {
+ rockchip,pins =
+ /* uart4_rx_m1 */
+ <1 RK_PC4 4 &pcfg_pull_up>,
+ /* uart4_tx_m1 */
+ <1 RK_PC5 4 &pcfg_pull_up>;
+ };
+
+ uart4m1_ctsn: uart4m1-ctsn {
+ rockchip,pins =
+ /* uart4m1_ctsn */
+ <1 RK_PC7 4 &pcfg_pull_none>;
+ };
+ uart4m1_rtsn: uart4m1-rtsn {
+ rockchip,pins =
+ /* uart4m1_rtsn */
+ <1 RK_PC6 4 &pcfg_pull_none>;
+ };
+ };
+
+ uart5 {
+ uart5m0_xfer: uart5m0-xfer {
+ rockchip,pins =
+ /* uart5_rx_m0 */
+ <3 RK_PA7 2 &pcfg_pull_up>,
+ /* uart5_tx_m0 */
+ <3 RK_PA6 2 &pcfg_pull_up>;
+ };
+
+ uart5m0_ctsn: uart5m0-ctsn {
+ rockchip,pins =
+ /* uart5m0_ctsn */
+ <3 RK_PA5 2 &pcfg_pull_none>;
+ };
+ uart5m0_rtsn: uart5m0-rtsn {
+ rockchip,pins =
+ /* uart5m0_rtsn */
+ <3 RK_PA4 2 &pcfg_pull_none>;
+ };
+
+ uart5m1_xfer: uart5m1-xfer {
+ rockchip,pins =
+ /* uart5_rx_m1 */
+ <1 RK_PD2 4 &pcfg_pull_up>,
+ /* uart5_tx_m1 */
+ <1 RK_PD3 4 &pcfg_pull_up>;
+ };
+
+ uart5m1_ctsn: uart5m1-ctsn {
+ rockchip,pins =
+ /* uart5m1_ctsn */
+ <1 RK_PD1 4 &pcfg_pull_none>;
+ };
+ uart5m1_rtsn: uart5m1-rtsn {
+ rockchip,pins =
+ /* uart5m1_rtsn */
+ <1 RK_PD0 4 &pcfg_pull_none>;
+ };
+
+ uart5m2_xfer: uart5m2-xfer {
+ rockchip,pins =
+ /* uart5_rx_m2 */
+ <3 RK_PD0 2 &pcfg_pull_up>,
+ /* uart5_tx_m2 */
+ <3 RK_PC7 2 &pcfg_pull_up>;
+ };
+
+ uart5m2_ctsn: uart5m2-ctsn {
+ rockchip,pins =
+ /* uart5m2_ctsn */
+ <3 RK_PD2 2 &pcfg_pull_none>;
+ };
+ uart5m2_rtsn: uart5m2-rtsn {
+ rockchip,pins =
+ /* uart5m2_rtsn */
+ <3 RK_PD1 2 &pcfg_pull_none>;
+ };
+ };
+
+ vicap {
+ vicapm0_pins: vicapm0-pins {
+ rockchip,pins =
+ /* vicap_clkin_m0 */
+ <3 RK_PC2 1 &pcfg_pull_none>,
+ /* vicap_clkout_m0 */
+ <3 RK_PC4 1 &pcfg_pull_none>,
+ /* vicap_d0_m0 */
+ <3 RK_PB0 1 &pcfg_pull_none>,
+ /* vicap_d1_m0 */
+ <3 RK_PB1 1 &pcfg_pull_none>,
+ /* vicap_d2_m0 */
+ <3 RK_PB2 1 &pcfg_pull_none>,
+ /* vicap_d3_m0 */
+ <3 RK_PB3 1 &pcfg_pull_none>,
+ /* vicap_d4_m0 */
+ <3 RK_PB4 1 &pcfg_pull_none>,
+ /* vicap_d5_m0 */
+ <3 RK_PB5 1 &pcfg_pull_none>,
+ /* vicap_d6_m0 */
+ <3 RK_PB6 1 &pcfg_pull_none>,
+ /* vicap_d7_m0 */
+ <3 RK_PB7 1 &pcfg_pull_none>,
+ /* vicap_d8_m0 */
+ <3 RK_PC0 1 &pcfg_pull_none>,
+ /* vicap_d9_m0 */
+ <3 RK_PC1 1 &pcfg_pull_none>,
+ /* vicap_hsync_m0 */
+ <3 RK_PC3 1 &pcfg_pull_none>,
+ /* vicap_vsync_m0 */
+ <3 RK_PC5 1 &pcfg_pull_none>;
+ };
+
+ vicapm1_pins: vicapm1-pins {
+ rockchip,pins =
+ /* vicap_clkin_m1 */
+ <1 RK_PD0 2 &pcfg_pull_none>,
+ /* vicap_clkout_m1 */
+ <1 RK_PD3 2 &pcfg_pull_none>,
+ /* vicap_d0_m1 */
+ <1 RK_PA2 3 &pcfg_pull_none>,
+ /* vicap_d1_m1 */
+ <1 RK_PB1 4 &pcfg_pull_none>,
+ /* vicap_d2_m1 */
+ <1 RK_PC0 2 &pcfg_pull_none>,
+ /* vicap_d3_m1 */
+ <1 RK_PC1 2 &pcfg_pull_none>,
+ /* vicap_d4_m1 */
+ <1 RK_PC2 2 &pcfg_pull_none>,
+ /* vicap_d5_m1 */
+ <1 RK_PC3 2 &pcfg_pull_none>,
+ /* vicap_d6_m1 */
+ <1 RK_PC4 2 &pcfg_pull_none>,
+ /* vicap_d7_m1 */
+ <1 RK_PC5 2 &pcfg_pull_none>,
+ /* vicap_d8_m1 */
+ <1 RK_PC6 2 &pcfg_pull_none>,
+ /* vicap_d9_m1 */
+ <1 RK_PC7 2 &pcfg_pull_none>,
+ /* vicap_hsync_m1 */
+ <1 RK_PD1 2 &pcfg_pull_none>,
+ /* vicap_vsync_m1 */
+ <1 RK_PD2 2 &pcfg_pull_none>;
+ };
+
+ vicap_d10: vicap-d10 {
+ rockchip,pins =
+ /* vicap_d10 */
+ <3 RK_PC6 1 &pcfg_pull_none>;
+ };
+ vicap_d11: vicap-d11 {
+ rockchip,pins =
+ /* vicap_d11 */
+ <3 RK_PC7 1 &pcfg_pull_none>;
+ };
+ vicap_d12: vicap-d12 {
+ rockchip,pins =
+ /* vicap_d12 */
+ <3 RK_PD0 1 &pcfg_pull_none>;
+ };
+ vicap_d13: vicap-d13 {
+ rockchip,pins =
+ /* vicap_d13 */
+ <3 RK_PD1 1 &pcfg_pull_none>;
+ };
+ vicap_d14: vicap-d14 {
+ rockchip,pins =
+ /* vicap_d14 */
+ <3 RK_PD2 1 &pcfg_pull_none>;
+ };
+ vicap_d15: vicap-d15 {
+ rockchip,pins =
+ /* vicap_d15 */
+ <3 RK_PD3 1 &pcfg_pull_none>;
+ };
+ };
+};
diff --git a/arch/arm/dts/rv1106.dtsi b/arch/arm/dts/rv1106.dtsi
new file mode 100644
index 00000000000..df2386eb31e
--- /dev/null
+++ b/arch/arm/dts/rv1106.dtsi
@@ -0,0 +1,328 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
+ */
+
+#include <dt-bindings/clock/rv1106-cru.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ compatible = "rockchip,rv1106";
+
+ interrupt-parent = <&gic>;
+
+ aliases {
+ gpio0 = &gpio0;
+ gpio1 = &gpio1;
+ gpio2 = &gpio2;
+ gpio3 = &gpio3;
+ gpio4 = &gpio4;
+ serial0 = &uart0;
+ serial1 = &uart1;
+ serial2 = &uart2;
+ serial3 = &uart3;
+ serial4 = &uart4;
+ serial5 = &uart5;
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu at f00 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a7";
+ reg = <0xf00>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv7-timer";
+ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
+ clock-frequency = <24000000>;
+ };
+
+ xin24m: oscillator {
+ compatible = "fixed-clock";
+ clock-frequency = <24000000>;
+ clock-output-names = "xin24m";
+ #clock-cells = <0>;
+ };
+
+ grf: syscon at ff000000 {
+ compatible = "rockchip,rv1106-grf", "syscon", "simple-mfd";
+ reg = <0xff000000 0x68000>;
+
+ grf_cru: grf-clock-controller {
+ compatible = "rockchip,rv1106-grf-cru";
+ #clock-cells = <1>;
+ };
+ };
+
+ gic: interrupt-controller at ff1f0000 {
+ compatible = "arm,gic-400";
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ #address-cells = <0>;
+
+ reg = <0xff1f1000 0x1000>,
+ <0xff1f2000 0x2000>,
+ <0xff1f4000 0x2000>,
+ <0xff1f6000 0x2000>;
+ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
+ };
+
+ pmuioc: syscon at ff388000 {
+ compatible = "rockchip,rv1106-pmuioc", "syscon";
+ reg = <0xff388000 0x1000>;
+ };
+
+ cru: clock-controller at ff3a0000 {
+ compatible = "rockchip,rv1106-cru";
+ reg = <0xff3a0000 0x20000>;
+ rockchip,grf = <&grf>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+
+ assigned-clocks =
+ <&cru PLL_GPLL>, <&cru PLL_CPLL>,
+ <&cru ARMCLK>,
+ <&cru ACLK_PERI_ROOT>, <&cru HCLK_PERI_ROOT>,
+ <&cru PCLK_PERI_ROOT>, <&cru ACLK_BUS_ROOT>,
+ <&cru PCLK_TOP_ROOT>, <&cru PCLK_PMU_ROOT>,
+ <&cru HCLK_PMU_ROOT>;
+ assigned-clock-rates =
+ <1188000000>, <1000000000>,
+ <816000000>,
+ <400000000>, <200000000>,
+ <100000000>, <300000000>,
+ <100000000>, <100000000>,
+ <200000000>;
+ };
+
+ saradc: saradc at ff3c0000 {
+ compatible = "rockchip,rv1106-saradc";
+ reg = <0xff3c0000 0x100>;
+ interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
+ #io-channel-cells = <1>;
+ clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
+ clock-names = "saradc", "apb_pclk";
+ resets = <&cru SRST_P_SARADC>;
+ reset-names = "saradc-apb";
+ status = "disabled";
+ };
+
+ uart0: serial at ff4a0000 {
+ compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
+ reg = <0xff4a0000 0x100>;
+ interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clock-frequency = <24000000>;
+ clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
+ clock-names = "baudclk", "apb_pclk";
+ status = "disabled";
+ };
+
+ uart1: serial at ff4b0000 {
+ compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
+ reg = <0xff4b0000 0x100>;
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clock-frequency = <24000000>;
+ clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
+ clock-names = "baudclk", "apb_pclk";
+ status = "disabled";
+ };
+
+ uart2: serial at ff4c0000 {
+ compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
+ reg = <0xff4c0000 0x100>;
+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clock-frequency = <24000000>;
+ clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
+ clock-names = "baudclk", "apb_pclk";
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2m1_xfer>;
+ status = "disabled";
+ };
+
+ uart3: serial at ff4d0000 {
+ compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
+ reg = <0xff4d0000 0x100>;
+ interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clock-frequency = <24000000>;
+ clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
+ clock-names = "baudclk", "apb_pclk";
+ status = "disabled";
+ };
+
+ uart4: serial at ff4e0000 {
+ compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
+ reg = <0xff4e0000 0x100>;
+ interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clock-frequency = <24000000>;
+ clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
+ clock-names = "baudclk", "apb_pclk";
+ status = "disabled";
+ };
+
+ uart5: serial at ff4f0000 {
+ compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
+ reg = <0xff4f0000 0x100>;
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ clock-frequency = <24000000>;
+ clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
+ clock-names = "baudclk", "apb_pclk";
+ status = "disabled";
+ };
+
+ ioc: syscon at ff538000 {
+ compatible = "rockchip,rv1106-ioc", "syscon";
+ reg = <0xff538000 0x40000>;
+ };
+
+ wdt: watchdog at ff5a0000 {
+ compatible = "rockchip,rv1106-wdt", "snps,dw-wdt";
+ reg = <0xff5a0000 0x100>;
+ clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
+ clock-names = "tclk", "pclk";
+ interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
+ resets = <&cru SRST_P_WDT_NS>;
+ reset-names = "reset";
+ status = "disabled";
+ };
+
+ emmc: mmc at ffa90000 {
+ compatible = "rockchip,rv1106-dw-mshc", "rockchip,rk3288-dw-mshc";
+ reg = <0xffa90000 0x4000>;
+ interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru HCLK_EMMC>, <&cru CCLK_SRC_EMMC>,
+ <&grf_cru SCLK_EMMC_DRV>, <&grf_cru SCLK_EMMC_SAMPLE>;
+ clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ fifo-depth = <0x100>;
+ max-frequency = <200000000>;
+ status = "disabled";
+ };
+
+ sdmmc: mmc at ffaa0000 {
+ compatible = "rockchip,rv1106-dw-mshc", "rockchip,rk3288-dw-mshc";
+ reg = <0xffaa0000 0x4000>;
+ interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru HCLK_SDMMC>, <&cru CCLK_SRC_SDMMC>,
+ <&grf_cru SCLK_SDMMC_DRV>, <&grf_cru SCLK_SDMMC_SAMPLE>;
+ clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ cd-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>;
+ fifo-depth = <0x100>;
+ max-frequency = <200000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>;
+ status = "disabled";
+ };
+
+ sfc: spi at ffac0000 {
+ compatible = "rockchip,sfc";
+ reg = <0xffac0000 0x4000>;
+ interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
+ clock-names = "clk_sfc", "hclk_sfc";
+ assigned-clocks = <&cru SCLK_SFC>;
+ assigned-clock-rates = <75000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&fspi_pins &fspi_cs0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ pinctrl: pinctrl {
+ compatible = "rockchip,rv1106-pinctrl";
+ rockchip,grf = <&ioc>;
+ rockchip,pmu = <&pmuioc>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ gpio0: gpio at ff380000 {
+ compatible = "rockchip,gpio-bank";
+ reg = <0xff380000 0x100>;
+ interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_PMU_GPIO0>, <&cru DBCLK_PMU_GPIO0>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl 0 0 32>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio1: gpio at ff530000 {
+ compatible = "rockchip,gpio-bank";
+ reg = <0xff530000 0x100>;
+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl 0 32 32>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio2: gpio at ff540000 {
+ compatible = "rockchip,gpio-bank";
+ reg = <0xff540000 0x100>;
+ interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl 0 64 32>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio3: gpio at ff550000 {
+ compatible = "rockchip,gpio-bank";
+ reg = <0xff550000 0x100>;
+ interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl 0 96 32>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio4: gpio at ff560000 {
+ compatible = "rockchip,gpio-bank";
+ reg = <0xff560000 0x100>;
+ interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl 0 128 32>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+};
+
+#include "rv1106-pinctrl.dtsi"
diff --git a/include/dt-bindings/clock/rv1106-cru.h b/include/dt-bindings/clock/rv1106-cru.h
new file mode 100644
index 00000000000..8febd5d8a66
--- /dev/null
+++ b/include/dt-bindings/clock/rv1106-cru.h
@@ -0,0 +1,572 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (c) 2022 Rockchip Electronics Co. Ltd.
+ * Author: Elaine Zhang <zhangqing at rock-chips.com>
+ */
+
+#ifndef _DT_BINDINGS_CLK_ROCKCHIP_RV1106_H
+#define _DT_BINDINGS_CLK_ROCKCHIP_RV1106_H
+
+/* pll clocks */
+#define PLL_APLL 1
+#define PLL_DPLL 2
+#define PLL_CPLL 3
+#define PLL_GPLL 4
+#define ARMCLK 5
+
+/* clk (clocks) */
+#define PCLK_DDRPHY 11
+#define PCLK_DDR_ROOT 12
+#define PCLK_DDRMON 13
+#define CLK_TIMER_DDRMON 14
+#define PCLK_DDRC 15
+#define PCLK_DFICTRL 16
+#define ACLK_DDR_ROOT 17
+#define ACLK_SYS_SHRM 18
+#define HCLK_NPU_ROOT 19
+#define ACLK_NPU_ROOT 20
+#define PCLK_NPU_ROOT 21
+#define HCLK_RKNN 22
+#define ACLK_RKNN 23
+#define PCLK_ACODEC 24
+#define MCLK_ACODEC_TX 25
+#define MCLK_ACODEC_RX 26
+#define CLK_CORE_CRYPTO 27
+#define CLK_PKA_CRYPTO 28
+#define ACLK_CRYPTO 29
+#define HCLK_CRYPTO 30
+#define ACLK_DECOM 31
+#define PCLK_DECOM 32
+#define DCLK_DECOM 33
+#define ACLK_DMAC 34
+#define PCLK_DSM 35
+#define MCLK_DSM 36
+#define CCLK_SRC_EMMC 37
+#define HCLK_EMMC 38
+#define PCLK_GPIO4 39
+#define DBCLK_GPIO4 40
+#define PCLK_I2C0 41
+#define CLK_I2C0 42
+#define PCLK_I2C2 43
+#define CLK_I2C2 44
+#define PCLK_I2C3 45
+#define CLK_I2C3 46
+#define PCLK_I2C4 47
+#define CLK_I2C4 48
+#define HCLK_I2S0 49
+#define PCLK_DFT2APB 50
+#define HCLK_IVE 51
+#define ACLK_IVE 52
+#define PCLK_PWM0_PERI 53
+#define CLK_PWM0_PERI 54
+#define CLK_CAPTURE_PWM0_PERI 55
+#define PCLK_PERI_ROOT 56
+#define ACLK_PERI_ROOT 57
+#define HCLK_PERI_ROOT 58
+#define CLK_TIMER_ROOT 59
+#define ACLK_BUS_ROOT 60
+#define HCLK_SFC 61
+#define SCLK_SFC 62
+#define PCLK_UART0 63
+#define CLK_PVTM_CORE 64
+#define PCLK_UART1 65
+#define CLK_CORE_MCU_RTC 66
+#define PCLK_PWM1_PERI 67
+#define CLK_PWM1_PERI 68
+#define CLK_CAPTURE_PWM1_PERI 69
+#define PCLK_PWM2_PERI 70
+#define CLK_PWM2_PERI 71
+#define CLK_CAPTURE_PWM2_PERI 72
+#define HCLK_BOOTROM 73
+#define HCLK_SAI 74
+#define MCLK_SAI 75
+#define PCLK_SARADC 76
+#define CLK_SARADC 77
+#define PCLK_SPI1 78
+#define CLK_SPI1 79
+#define PCLK_STIMER 80
+#define CLK_STIMER0 81
+#define CLK_STIMER1 82
+#define PCLK_TIMER 83
+#define CLK_TIMER0 84
+#define CLK_TIMER1 85
+#define CLK_TIMER2 86
+#define CLK_TIMER3 87
+#define CLK_TIMER4 88
+#define CLK_TIMER5 89
+#define HCLK_TRNG_NS 90
+#define HCLK_TRNG_S 91
+#define PCLK_UART2 92
+#define HCLK_CPU 93
+#define PCLK_UART3 94
+#define CLK_CORE_MCU 95
+#define PCLK_UART4 96
+#define PCLK_DDR_HWLP 97
+#define PCLK_UART5 98
+#define ACLK_USBOTG 100
+#define CLK_REF_USBOTG 101
+#define CLK_UTMI_USBOTG 102
+#define PCLK_USBPHY 103
+#define CLK_REF_USBPHY 104
+#define PCLK_WDT_NS 105
+#define TCLK_WDT_NS 106
+#define PCLK_WDT_S 107
+#define TCLK_WDT_S 108
+#define CLK_DDR_FAIL_SAFE 109
+#define XIN_OSC0_DIV 110
+#define CLK_DEEPSLOW 111
+#define PCLK_PMU_GPIO0 112
+#define DBCLK_PMU_GPIO0 113
+#define CLK_PMU 114
+#define PCLK_PMU 115
+#define PCLK_PMU_HP_TIMER 116
+#define CLK_PMU_HP_TIMER 117
+#define CLK_PMU_32K_HP_TIMER 118
+#define PCLK_I2C1 119
+#define CLK_I2C1 120
+#define PCLK_PMU_IOC 121
+#define PCLK_PMU_MAILBOX 122
+#define CLK_PMU_MCU 123
+#define CLK_PMU_MCU_RTC 124
+#define CLK_PMU_MCU_JTAG 125
+#define CLK_PVTM_PMU 126
+#define PCLK_PVTM_PMU 127
+#define CLK_REFOUT 128
+#define CLK_100M_PMU 129
+#define PCLK_PMU_ROOT 130
+#define HCLK_PMU_ROOT 131
+#define HCLK_PMU_SRAM 132
+#define PCLK_PMU_WDT 133
+#define TCLK_PMU_WDT 134
+#define CLK_DFICTRL 135
+#define CLK_DDRMON 136
+#define CLK_DDR_PHY 137
+#define ACLK_DDRC 138
+#define CLK_CORE_DDRC_SRC 139
+#define CLK_CORE_DDRC 140
+#define CLK_50M_SRC 141
+#define CLK_100M_SRC 142
+#define CLK_150M_SRC 143
+#define CLK_200M_SRC 144
+#define CLK_250M_SRC 145
+#define CLK_300M_SRC 146
+#define CLK_339M_SRC 147
+#define CLK_400M_SRC 148
+#define CLK_450M_SRC 149
+#define CLK_500M_SRC 150
+#define CLK_I2S0_8CH_TX_SRC 151
+#define CLK_I2S0_8CH_TX_FRAC 152
+#define CLK_I2S0_8CH_TX 153
+#define CLK_I2S0_8CH_RX_SRC 154
+#define CLK_I2S0_8CH_RX_FRAC 155
+#define CLK_I2S0_8CH_RX 156
+#define I2S0_8CH_MCLKOUT 157
+#define MCLK_I2S0_8CH_RX 158
+#define MCLK_I2S0_8CH_TX 159
+#define CLK_REF_MIPI0_SRC 160
+#define CLK_REF_MIPI0_FRAC 161
+#define CLK_REF_MIPI0_OUT 162
+#define CLK_REF_MIPI1_SRC 163
+#define CLK_REF_MIPI1_FRAC 164
+#define MCLK_REF_MIPI0 165
+#define MCLK_REF_MIPI1 166
+#define CLK_REF_MIPI0 167
+#define CLK_REF_MIPI1 168
+#define CLK_UART0_SRC 169
+#define CLK_UART0_FRAC 170
+#define CLK_UART0 171
+#define SCLK_UART0 172
+#define CLK_UART1_SRC 173
+#define CLK_UART1_FRAC 174
+#define CLK_UART1 175
+#define SCLK_UART1 176
+#define CLK_UART2_SRC 177
+#define CLK_UART2_FRAC 178
+#define CLK_UART2 179
+#define SCLK_UART2 180
+#define CLK_UART3_SRC 181
+#define CLK_UART3_FRAC 182
+#define CLK_UART3 183
+#define SCLK_UART3 184
+#define CLK_UART4_SRC 185
+#define CLK_UART4_FRAC 186
+#define CLK_UART4 187
+#define SCLK_UART4 188
+#define CLK_UART5_SRC 189
+#define CLK_UART5_FRAC 190
+#define CLK_UART5 191
+#define SCLK_UART5 192
+#define CLK_VICAP_M0_SRC 193
+#define CLK_VICAP_M0_FRAC 194
+#define CLK_VICAP_M0 195
+#define SCLK_VICAP_M0 196
+#define CLK_VICAP_M1_SRC 197
+#define CLK_VICAP_M1_FRAC 198
+#define CLK_VICAP_M1 199
+#define SCLK_VICAP_M1 200
+#define DCLK_VOP_SRC 201
+#define PCLK_CRU 202
+#define PCLK_TOP_ROOT 203
+#define PCLK_SPI0 204
+#define CLK_SPI0 205
+#define SCLK_IN_SPI0 206
+#define CLK_UART_DETN_FLT 207
+#define HCLK_VEPU 208
+#define ACLK_VEPU 209
+#define CLK_CORE_VEPU 210
+#define CLK_CORE_VEPU_DVBM 211
+#define PCLK_GPIO1 212
+#define DBCLK_GPIO1 213
+#define HCLK_VEPU_PP 214
+#define ACLK_VEPU_PP 215
+#define HCLK_VEPU_ROOT 216
+#define ACLK_VEPU_COM_ROOT 217
+#define ACLK_VEPU_ROOT 218
+#define PCLK_VEPU_ROOT 219
+#define PCLK_VICAP_VEPU 220
+#define PCLK_CSIHOST0 221
+#define CLK_RXBYTECLKHS_0 222
+#define PCLK_CSIHOST1 223
+#define CLK_RXBYTECLKHS_1 224
+#define PCLK_GPIO3 225
+#define DBCLK_GPIO3 226
+#define HCLK_ISP3P2 227
+#define ACLK_ISP3P2 228
+#define CLK_CORE_ISP3P2 229
+#define PCLK_MIPICSIPHY 230
+#define CCLK_SRC_SDMMC 231
+#define HCLK_SDMMC 232
+#define CLK_SDMMC_DETN_FLT 233
+#define HCLK_VI_ROOT 234
+#define ACLK_VI_ROOT 235
+#define PCLK_VI_ROOT 236
+#define PCLK_VI_RTC_ROOT 237
+#define PCLK_VI_RTC_TEST 238
+#define PCLK_VI_RTC_PHY 239
+#define DCLK_VICAP 240
+#define PCLK_VICAP 241
+#define ACLK_VICAP 242
+#define HCLK_VICAP 243
+#define I0CLK_VICAP 244
+#define I1CLK_VICAP 245
+#define RX0PCLK_VICAP 246
+#define RX1PCLK_VICAP 247
+#define ISP0CLK_VICAP 248
+#define PCLK_GPIO2 249
+#define DBCLK_GPIO2 250
+#define ACLK_MAC 251
+#define PCLK_MAC 252
+#define CLK_GMAC0_50M_O 253
+#define CLK_GMAC0_TX_50M_O 254
+#define CLK_GMAC0_REF_50M 255
+#define CLK_GMAC0_TX_50M 256
+#define CLK_GMAC0_RX_50M 257
+#define ACLK_MAC_ROOT 258
+#define CLK_MACPHY 259
+#define CLK_OTPC_ARB 260
+#define PCLK_OTPC_NS 261
+#define CLK_SBPI_OTPC_NS 262
+#define CLK_USER_OTPC_NS 263
+#define PCLK_OTPC_S 264
+#define CLK_SBPI_OTPC_S 265
+#define CLK_USER_OTPC_S 266
+#define PCLK_OTP_MASK 267
+#define CLK_PMC_OTP 268
+#define HCLK_RGA2E 269
+#define ACLK_RGA2E 270
+#define CLK_CORE_RGA2E 271
+#define CCLK_SRC_SDIO 272
+#define HCLK_SDIO 273
+#define PCLK_TSADC 274
+#define CLK_TSADC 275
+#define CLK_TSADC_TSEN 276
+#define ACLK_VO_ROOT 277
+#define HCLK_VO_ROOT 278
+#define PCLK_VO_ROOT 279
+#define ACLK_VOP_ROOT 280
+#define HCLK_VOP 281
+#define DCLK_VOP 282
+#define ACLK_VOP 283
+#define CLK_RTC_32K 284
+#define PCLK_MAILBOX 291
+
+#define CLK_NR_CLKS (PCLK_MAILBOX + 1)
+
+#define SCLK_EMMC_DRV 1
+#define SCLK_EMMC_SAMPLE 2
+#define SCLK_SDMMC_DRV 3
+#define SCLK_SDMMC_SAMPLE 4
+#define SCLK_SDIO_DRV 5
+#define SCLK_SDIO_SAMPLE 6
+
+#define CLK_NR_GRF_CLKS (SCLK_SDIO_SAMPLE + 1)
+
+/********Name=PMUSOFTRST_CON00,Offset=0xA00********/
+#define SRST_P_I2C1 3
+#define SRST_I2C1 4
+#define SRST_H_PMU_BIU 6
+#define SRST_P_PMU_BIU 7
+#define SRST_H_PMU_SRAM 8
+#define SRST_PMU_MCU 9
+#define SRST_PMU_MCU_PWRUP 10
+#define SRST_PMU_MCU_CPU 11
+#define SRST_T_PMU_MCU_CPU 12
+/********Name=PMUSOFTRST_CON01,Offset=0xA04********/
+#define SRST_P_PMU_GPIO0 18
+#define SRST_PMU_GPIO0 19
+#define SRST_PVTM_PMU 20
+#define SRST_P_PVTM_PMU 21
+#define SRST_DDR_FAIL_SAFE 31
+/********Name=PMUSOFTRST_CON02,Offset=0xA08********/
+#define SRST_P_PMU_HP_TIMER 32
+#define SRST_PMU_HP_TIMER 33
+#define SRST_PMU_32K_HP_TIMER 34
+#define SRST_P_PMU_IOC 35
+#define SRST_P_PMU_CRU 36
+#define SRST_P_PMU_GRF 37
+#define SRST_P_PMU_SGRF 38
+#define SRST_P_PMU_SGRF_REMAP 39
+#define SRST_P_PMU_WDT 40
+#define SRST_T_PMU_WDT 41
+#define SRST_P_PMU_MAILBOX 42
+#define SRST_WRITE_ENABLE 48
+/********Name=SOFTRST_CON02,Offset=0x10A08********/
+#define SRST_REF_PVTPLL_0 262183
+#define SRST_REF_PVTPLL_1 262184
+#define SRST_P_CRU 262186
+#define SRST_P_CRU_BIU 262187
+/********Name=PERISOFTRST_CON00,Offset=0x12A00********/
+#define SRST_P_PERI_BIU 294916
+#define SRST_A_PERI_BIU 294917
+#define SRST_H_PERI_BIU 294918
+#define SRST_H_BOOTROM 294919
+#define SRST_P_TIMER 294920
+#define SRST_TIMER0 294921
+#define SRST_TIMER1 294922
+#define SRST_TIMER2 294923
+#define SRST_TIMER3 294924
+#define SRST_TIMER4 294925
+#define SRST_TIMER5 294926
+#define SRST_P_STIMER 294927
+/********Name=PERISOFTRST_CON01,Offset=0x12A04********/
+#define SRST_STIMER0 294928
+#define SRST_STIMER1 294929
+#define SRST_P_WDT_NS 294930
+#define SRST_T_WDT_NS 294931
+#define SRST_P_WDT_S 294932
+#define SRST_T_WDT_S 294933
+#define SRST_P_I2C0 294934
+#define SRST_I2C0 294935
+#define SRST_P_I2C2 294938
+#define SRST_I2C2 294939
+#define SRST_P_I2C3 294940
+#define SRST_I2C3 294941
+#define SRST_P_I2C4 294942
+#define SRST_I2C4 294943
+/********Name=PERISOFTRST_CON02,Offset=0x12A08********/
+#define SRST_P_GPIO4 294944
+#define SRST_GPIO4 294945
+#define SRST_P_PERI_IOC 294946
+#define SRST_P_UART2 294947
+#define SRST_S_UART2 294950
+#define SRST_P_UART3 294951
+#define SRST_S_UART3 294954
+#define SRST_P_UART4 294955
+#define SRST_S_UART4 294958
+#define SRST_P_UART5 294959
+/********Name=PERISOFTRST_CON03,Offset=0x12A0C********/
+#define SRST_S_UART5 294962
+#define SRST_P_SARADC 294963
+#define SRST_SARADC 294964
+#define SRST_SARADC_PHY 294965
+#define SRST_P_SPI1 294966
+#define SRST_SPI1 294967
+#define SRST_H_TRNG_NS 294969
+#define SRST_H_TRNG_S 294970
+#define SRST_CORE_CRYPTO 294971
+#define SRST_PKA_CRYPTO 294972
+#define SRST_A_CRYPTO 294973
+#define SRST_H_CRYPTO 294974
+#define SRST_P_PWM1_PERI 294975
+/********Name=PERISOFTRST_CON04,Offset=0x12A10********/
+#define SRST_PWM1_PERI 294976
+#define SRST_P_PWM2_PERI 294978
+#define SRST_PWM2_PERI 294979
+#define SRST_P_PERI_GRF 294981
+#define SRST_P_PERI_CRU 294982
+#define SRST_A_USBOTG 294983
+#define SRST_A_BUS_BIU 294986
+#define SRST_H_EMMC 294989
+#define SRST_H_SFC 294990
+/********Name=PERISOFTRST_CON05,Offset=0x12A14********/
+#define SRST_S_SFC 294992
+#define SRST_P_USBPHY 294993
+#define SRST_USBPHY_POR 294994
+#define SRST_USBPHY_OTG 294995
+#define SRST_A_DMAC 295000
+#define SRST_A_DECOM 295001
+#define SRST_P_DECOM 295002
+#define SRST_D_DECOM 295003
+#define SRST_P_PERI_SGRF 295004
+#define SRST_H_SAI 295005
+#define SRST_M_SAI 295006
+#define SRST_M_I2S0_8CH_TX 295007
+/********Name=PERISOFTRST_CON06,Offset=0x12A18********/
+#define SRST_H_I2S0 295008
+#define SRST_M_DSM 295009
+#define SRST_P_DSM 295010
+#define SRST_P_ACODEC 295011
+#define SRST_M_I2S0_8CH_RX 295014
+#define SRST_P_DFT2APB 295015
+#define SRST_H_IVE 295017
+#define SRST_A_IVE 295018
+#define SRST_P_UART0 295019
+#define SRST_S_UART0 295022
+#define SRST_P_UART1 295023
+/********Name=PERISOFTRST_CON07,Offset=0x12A1C********/
+#define SRST_S_UART1 295026
+#define SRST_P_PWM0_PERI 295027
+#define SRST_PWM0_PERI 295028
+/********Name=VISOFTRST_CON00,Offset=0x14A00********/
+#define SRST_H_VI_BIU 327684
+#define SRST_A_VI_BIU 327685
+#define SRST_P_VI_BIU 327686
+#define SRST_CORE_ISP3P2 327689
+#define SRST_D_VICAP 327690
+#define SRST_P_VICAP 327691
+#define SRST_A_VICAP 327692
+#define SRST_H_VICAP 327693
+#define SRST_VICAP_I0 327694
+#define SRST_VICAP_I1 327695
+/********Name=VISOFTRST_CON01,Offset=0x14A04********/
+#define SRST_VICAP_RX0 327696
+#define SRST_VICAP_RX1 327697
+#define SRST_VICAP_ISP0 327698
+#define SRST_P_CSIHOST0 327700
+#define SRST_P_CSIHOST1 327702
+#define SRST_H_SDMMC 327708
+#define SRST_SDMMC_DETN_FLT 327709
+#define SRST_P_MIPICSIPHY 327710
+#define SRST_P_GPIO3 327711
+/********Name=VISOFTRST_CON02,Offset=0x14A08********/
+#define SRST_GPIO3 327712
+#define SRST_P_VI_IOC 327713
+#define SRST_P_VI_GRF 327714
+#define SRST_P_VI_SGRF 327715
+#define SRST_P_VI_CRU 327716
+#define SRST_P_VI_RTC_TEST 327717
+#define SRST_P_VI_RTC_NIU 327719
+/********Name=NPUSOFTRST_CON00,Offset=0x16A00********/
+#define SRST_H_NPU_BIU 360451
+#define SRST_A_NPU_BIU 360452
+#define SRST_P_NPU_BIU 360453
+#define SRST_P_NPU_CRU 360454
+#define SRST_P_NPU_SGRF 360455
+#define SRST_P_NPU_GRF 360456
+#define SRST_H_RKNN 360457
+#define SRST_A_RKNN 360458
+/********Name=CORESOFTRST_CON00,Offset=0x18A00********/
+#define SRST_NCOREPORESET 393217
+#define SRST_NCORESET 393218
+#define SRST_NDBGRESET 393219
+#define SRST_NL2RESET 393220
+#define SRST_A_M_CORE_BIU 393221
+#define SRST_P_DBG 393222
+#define SRST_POT_DBG 393223
+#define SRST_NT_DBG 393224
+#define SRST_P_CORE_GRF 393227
+#define SRST_H_CPU_BIU 393228
+#define SRST_P_CPU_BIU 393229
+#define SRST_PVTM_CORE 393230
+#define SRST_P_PVTM_CORE 393231
+/********Name=CORESOFTRST_CON01,Offset=0x18A04********/
+#define SRST_REF_PVTPLL_CORE 393232
+#define SRST_CORE_MCU 393233
+#define SRST_CORE_MCU_PWRUP 393234
+#define SRST_CORE_MCU_CPU 393235
+#define SRST_T_CORE_MCU_CPU 393236
+#define SRST_MCU_BIU 393237
+#define SRST_P_MAILBOX 393240
+#define SRST_P_INTMUX 393241
+#define SRST_P_CORE_CRU 393242
+#define SRST_P_CORE_SGRF 393243
+#define SRST_H_CACHE 393244
+/********Name=VEPUSOFTRST_CON00,Offset=0x1AA00********/
+#define SRST_H_VEPU_BIU 425988
+#define SRST_A_VEPU_BIU 425989
+#define SRST_A_VEPU_COM_BIU 425990
+#define SRST_P_VEPU_BIU 425991
+#define SRST_H_VEPU 425992
+#define SRST_A_VEPU 425993
+#define SRST_CORE_VEPU 425994
+#define SRST_H_VEPU_PP 425995
+#define SRST_A_VEPU_PP 425996
+#define SRST_CORE_VEPU_DVBM 425997
+#define SRST_P_VICAP_VEPU 425998
+#define SRST_P_GPIO1 425999
+/********Name=VEPUSOFTRST_CON01,Offset=0x1AA04********/
+#define SRST_GPIO1 426000
+#define SRST_P_VEPU_IOC 426001
+#define SRST_P_SPI0 426002
+#define SRST_SPI0 426003
+#define SRST_P_VEPU_CRU 426005
+#define SRST_P_VEPU_SGRF 426006
+#define SRST_P_VEPU_GRF 426007
+#define SRST_UART_DETN_FLT 426008
+/********Name=VOSOFTRST_CON00,Offset=0x1CA00********/
+#define SRST_A_VO_BIU 458755
+#define SRST_H_VO_BIU 458756
+#define SRST_H_RGA2E 458759
+#define SRST_A_RGA2E 458760
+#define SRST_CORE_RGA2E 458761
+#define SRST_P_VO_GRF 458762
+#define SRST_A_VOP_BIU 458764
+#define SRST_H_VOP 458765
+#define SRST_D_VOP 458766
+#define SRST_A_VOP 458767
+/********Name=VOSOFTRST_CON01,Offset=0x1CA04********/
+#define SRST_P_MAC_BIU 458774
+#define SRST_A_MAC_BIU 458775
+#define SRST_A_MAC 458776
+#define SRST_P_VO_SGRF 458780
+#define SRST_P_VO_CRU 458781
+#define SRST_H_SDIO 458783
+/********Name=VOSOFTRST_CON02,Offset=0x1CA08********/
+#define SRST_P_TSADC 458784
+#define SRST_TSADC 458785
+#define SRST_P_OTPC_NS 458787
+#define SRST_SBPI_OTPC_NS 458789
+#define SRST_USER_OTPC_NS 458790
+#define SRST_P_OTPC_S 458791
+#define SRST_SBPI_OTPC_S 458793
+#define SRST_USER_OTPC_S 458794
+#define SRST_OTPC_ARB 458795
+#define SRST_MACPHY 458797
+#define SRST_P_OTP_MASK 458798
+#define SRST_PMC_OTP 458799
+/********Name=VOSOFTRST_CON03,Offset=0x1CA0C********/
+#define SRST_P_GPIO2 458800
+#define SRST_GPIO2 458801
+#define SRST_P_VO_IOC 458802
+/********Name=DDRSOFTRST_CON00,Offset=0x1EA00********/
+#define SRST_P_DDR_BIU 491522
+#define SRST_P_DDRC 491525
+#define SRST_P_DDRMON 491527
+#define SRST_TIMER_DDRMON 491528
+#define SRST_P_DFICTRL 491531
+#define SRST_A_SYS_SHRM 491533
+#define SRST_A_SHRM_NIU 491534
+#define SRST_P_DDR_GRF 491535
+/********Name=DDRSOFTRST_CON01,Offset=0x1EA04********/
+#define SRST_P_DDR_CRU 491536
+#define SRST_P_DDR_HWLP 491538
+#define SRST_P_DDRPHY 491539
+/********Name=SUBDDRSOFTRST_CON00,Offset=0x1FA00********/
+#define SRST_MSCH_BIU 507904
+#define SRST_A_DDRC 507905
+#define SRST_CORE_DDRC 507907
+#define SRST_DDRMON 507908
+#define SRST_DFICTRL 507909
+#define SRST_DDR_PHY 507910
+
+#endif
--
2.43.0
More information about the U-Boot
mailing list