关键词:rk3126-sdk.dts ,linux_3.10,rockchip,dts
dts — rk3126-sdk.dts
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /dts-v1/; #include "rk3126.dtsi" #include "lcd-b101ew05.dtsi" #include "rk3126-cif-sensor.dtsi" #include "rk312x-sdk.dtsi" / { compatible = "rockchip,rk3126"; backlight: backlight { compatible = "pwm-backlight"; pwms = <&pwm0 0 25000>; brightness-levels = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255>; default-brightness-level = <128>; enable-gpios = <&gpio3 GPIO_C1 GPIO_ACTIVE_HIGH>; }; usb_control { compatible = "rockchip,rk3126-usb-control"; host_drv_gpio = <&gpio2 GPIO_B4 GPIO_ACTIVE_LOW>; otg_drv_gpio = <&gpio2 GPIO_B6 GPIO_ACTIVE_LOW>; rockchip,remote_wakeup; rockchip,usb_irq_wakeup; }; wireless-wlan { compatible = "wlan-platdata"; wifi_chip_type = "esp8089"; sdio_vref = <0>; //1800mv or 3300mv power_ctrl_by_pmu; power_pmu_regulator = "rk818_ldo8"; power_pmu_enable_level = <1>; //1->HIGH, 0->LOW //vref_ctrl_enable; //vref_pmu_regulator = "rk818_ldo8"; //vref_pmu_enable_level = <1>; //1->HIGH, 0->LOW satus = "okay"; }; rockchip_suspend: rockchip_suspend { rockchip,ctrbits = < (0 |RKPM_CTR_PWR_DMNS |RKPM_CTR_GTCLKS |RKPM_CTR_PLLS |RKPM_CTR_ARMOFF_LPMD |RKPM_CTR_DDR |RKPM_CTR_IDLESRAM_MD |RKPM_CTR_DDR |RKPM_CTR_BUS_IDLE //|RKPM_CTR_VOLTS //|RKPM_CTR_VOL_PWM1 //|RKPM_CTR_VOL_PWM2 ) >; rockchip,pmic-suspend_gpios = < GPIO1_A1 >; }; }; &fb { rockchip,disp-mode = <NO_DUAL>; rockchip,uboot-logo-on = <1>; }; &rk_screen { display-timings = <&disp_timings>; }; &lvds { status = "okay"; pinctrl-names = "lcdc"; pinctrl-0 = <&lcdc0_lcdc_d>; }; &lcdc { status = "okay"; backlight = <&backlight>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&lcdc0_lcdc>; pinctrl-1 = <&lcdc0_gpio>; rockchip,fb-win-map = <FB_DEFAULT_ORDER>; power_ctr: power_ctr { rockchip,debug = <0>; lcd_en: lcd_en { rockchip,power_type = <GPIO>; gpios = <&gpio1 GPIO_B3 GPIO_ACTIVE_HIGH>; rockchip,delay = <10>; }; }; }; &hdmi { status = "disabled"; }; &key { io-channels = <&adc 2>; power-key { gpios = <&gpio1 GPIO_A4 GPIO_ACTIVE_LOW>; linux,code = <116>; label = "power"; gpio-key,wakeup; }; }; &sdmmc { cd-gpios = <&gpio2 GPIO_A7 GPIO_ACTIVE_HIGH>;/*CD GPIO*/ }; &codec { spk_ctl_io = <&gpio1 GPIO_A0 GPIO_ACTIVE_HIGH>; spk-mute-delay = <200>; hp-mute-delay = <100>; rk312x_for_mid = <1>; is_rk3128 = <0>; spk_volume = <25>; hp_volume = <25>; capture_volume = <26>; gpio_debug = <1>; codec_hp_det = <0>; }; &dwc_control_usb { usb_uart { status = "disabled"; }; }; &i2c1 { status = "okay"; }; &rk3126_cif_sensor{ status = "okay"; }; &clk_core_dvfs_table { operating-points = < /* KHz uV */ 216000 950000 408000 950000 600000 1050000 696000 1050000 816000 1125000 1008000 1275000 1200000 1400000 >; virt-temp-limit-1-cpu-busy = < /* target-temp limit-freq */ 75 1008000 85 1200000 95 1200000 100 1200000 >; virt-temp-limit-2-cpu-busy = < /* target-temp limit-freq */ 75 912000 85 1008000 95 1104000 100 1200000 >; virt-temp-limit-3-cpu-busy = < /* target-temp limit-freq */ 75 816000 85 912000 95 100800 100 110400 >; virt-temp-limit-4-cpu-busy = < /* target-temp limit-freq */ 75 816000 85 912000 95 100800 100 110400 >; temp-limit-enable = <1>; target-temp = <85>; status="okay"; }; &clk_gpu_dvfs_table { operating-points = < /* KHz uV */ 200000 950000 300000 950000 400000 1075000 //480000 1175000 >; status="okay"; }; &clk_ddr_dvfs_table { operating-points = < /* KHz uV */ 200000 950000 300000 950000 400000 1025000 533000 1225000 >; freq-table = < /*status freq(KHz)*/ SYS_STATUS_NORMAL 400000 SYS_STATUS_SUSPEND 200000 SYS_STATUS_VIDEO_1080P 240000 SYS_STATUS_VIDEO_4K 400000 SYS_STATUS_PERFORMANCE 528000 SYS_STATUS_DUALVIEW 400000 SYS_STATUS_BOOST 324000 SYS_STATUS_ISP 533000 >; auto-freq-table = < 240000 324000 396000 528000 >; auto-freq=<0>; status="okay"; }; spi_test@01 { compatible = "rockchip,spi_test_bus0_cs1"; reg = <1>; spi-max-frequency = <24000000>; spi-cpha; spi-cpol; poll_mode = <0>; type = <0>; enable_dma = <0>; }; */ }; &gmac_clkin { clock-frequency = <125000000>; }; &gmac { //pmu_regulator = "act_ldo5"; //pmu_enable_level = <1>; //1->HIGH, 0->LOW //power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>; reset-gpio = <&gpio2 GPIO_D0 GPIO_ACTIVE_LOW>; phyirq-gpio = <&gpio0 GPIO_D1 GPIO_ACTIVE_LOW>; phy-mode = "rgmii"; clock_in_out = "input"; tx_delay = <0x30>; rx_delay = <0x10>; }; &codec { spk_ctl_io = <&gpio1 GPIO_A3 GPIO_ACTIVE_HIGH>; spk-mute-delay = <200>; hp-mute-delay = <100>; rk312x_for_mid = <0>; is_rk3128 = <0>; spk_volume = <25>; hp_volume = <25>; capture_volume = <26>; gpio_debug = <1>; codec_hp_det = <0>; }; &dwc_control_usb { usb_uart { status = "disabled"; }; }; &sdmmc { status = "okay"; cd-gpios = <&gpio1 GPIO_C1 GPIO_ACTIVE_HIGH>;/*CD GPIO*/ }; &remotectl { handle_cpu_id = <1>; ir_key1{ rockchip,usercode = <0x4040>; rockchip,key_table = <0xf2 KEY_REPLY>, <0xba KEY_BACK>, <0xf4 KEY_UP>, <0xf1 KEY_DOWN>, <0xef KEY_LEFT>, <0xee KEY_RIGHT>, <0xbd KEY_HOME>, <0xea KEY_VOLUMEUP>, <0xe3 KEY_VOLUMEDOWN>, <0xe2 KEY_SEARCH>, <0xb2 KEY_POWER>, <0xbc KEY_MUTE>, <0xec KEY_MENU>, <0xbf 0x190>, <0xe0 0x191>, <0xe1 0x192>, <0xe9 183>, <0xe6 248>, <0xe8 185>, <0xe7 186>, <0xf0 388>, <0xbe 0x175>; }; ir_key2{ rockchip,usercode = <0xff00>; rockchip,key_table = <0xf9 KEY_HOME>, <0xbf KEY_BACK>, <0xfb KEY_MENU>, <0xaa KEY_REPLY>, <0xb9 KEY_UP>, <0xe9 KEY_DOWN>, <0xb8 KEY_LEFT>, <0xea KEY_RIGHT>, <0xeb KEY_VOLUMEDOWN>, <0xef KEY_VOLUMEUP>, <0xf7 KEY_MUTE>, <0xe7 KEY_POWER>, <0xfc KEY_POWER>, <0xa9 KEY_VOLUMEDOWN>, <0xa8 KEY_VOLUMEDOWN>, <0xe0 KEY_VOLUMEDOWN>, <0xa5 KEY_VOLUMEDOWN>, <0xab 183>, <0xb7 388>, <0xf8 184>, <0xaf 185>, <0xed KEY_VOLUMEDOWN>, <0xee 186>, <0xb3 KEY_VOLUMEDOWN>, <0xf1 KEY_VOLUMEDOWN>, <0xf2 KEY_VOLUMEDOWN>, <0xf3 KEY_SEARCH>, <0xb4 KEY_VOLUMEDOWN>, <0xbe KEY_SEARCH>; }; ir_key3{ rockchip,usercode = <0x1dcc>; rockchip,key_table = <0xee KEY_REPLY>, <0xf0 KEY_BACK>, <0xf8 KEY_UP>, <0xbb KEY_DOWN>, <0xef KEY_LEFT>, <0xed KEY_RIGHT>, <0xfc KEY_HOME>, <0xf1 KEY_VOLUMEUP>, <0xfd KEY_VOLUMEDOWN>, <0xb7 KEY_SEARCH>, <0xff KEY_POWER>, <0xf3 KEY_MUTE>, <0xbf KEY_MENU>, <0xf9 0x191>, <0xf5 0x192>, <0xb3 388>, <0xbe KEY_1>, <0xba KEY_2>, <0xb2 KEY_3>, <0xbd KEY_4>, <0xf9 KEY_5>, <0xb1 KEY_6>, <0xfc KEY_7>, <0xf8 KEY_8>, <0xb0 KEY_9>, <0xb6 KEY_0>, <0xb5 KEY_BACKSPACE>; }; }; e = <GPIO>; gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>; rockchip,delay = <10>; }; lcd_rst:lcd_rst { rockchip,power_type = <REGULATOR>; rockchip,delay = <5>; };*/ }; }; &lcdc1 { status = "okay"; }; &adc { status = "okay"; key { compatible = "rockchip,key"; io-channels = <&adc 1>; vol-up-key { linux,code = <115>; label = "volume up"; rockchip,adc_value = <1>; }; vol-down-key { linux,code = <114>; label = "volume down"; rockchip,adc_value = <170>; }; power-key { gpios = <&gpio0 GPIO_A4 GPIO_ACTIVE_LOW>; linux,code = <116>; label = "power"; gpio-key,wakeup; }; menu-key { linux,code = <139>; label = "menu"; rockchip,adc_value = <355>; }; home-key { linux,code = <102>; label = "home"; rockchip,adc_value = <746>; }; back-key { linux,code = <158>; label = "back"; rockchip,adc_value = <560>; }; camera-key { linux,code = <212>; label = "camera"; rockchip,adc_value = <450>; }; }; }; &pwm3 { status = "okay"; }; &pwm0 { status = "disable"; }; &clk_core_dvfs_table { operating-points = < /* KHz uV */ 312000 1100000 504000 1100000 816000 1100000 1008000 1100000 1200000 1200000 1416000 1300000 1608000 1350000 >; }; &clk_gpu_dvfs_table { operating-points = < /* KHz uV */ 200000 1200000 300000 1200000 400000 1200000 >; }; &clk_ddr_dvfs_table { operating-points = < /* KHz uV */ 200000 1200000 300000 1200000 400000 1200000 >; freq_table = < /*status freq(KHz)*/ SYS_STATUS_NORMAL 400000 SYS_STATUS_SUSPEND 200000 SYS_STATUS_VIDEO 300000 SYS_STATUS_DUALVIEW 500000 >; }; /include/ "act8846.dtsi" &act8846 { gpios =<&gpio3 GPIO_D3 GPIO_ACTIVE_LOW>; regulators { dcdc1_reg: regulator@0{ regulator-name= "act_dcdc1"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; regulator-boot-on; }; dcdc2_reg: regulator@1 { regulator-name= "vdd_logic"; regulator-min-microvolt = <700000>; regulator-max-microvolt = <1500000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <1200000>; }; }; dcdc3_reg: regulator@2 { regulator-name= "vdd_arm"; regulator-min-microvolt = <700000>; regulator-max-microvolt = <1500000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <1200000>; }; }; dcdc4_reg: regulator@3 { regulator-name= "vccio"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <3300000>; }; }; ldo1_reg: regulator@4 { regulator-name= "act_ldo1"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; }; ldo2_reg: regulator@5 { regulator-name= "act_ldo2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; ldo3_reg: regulator@6 { regulator-name= "act_ldo3"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; ldo4_reg:regulator@7 { regulator-name= "act_ldo4"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; ldo5_reg: regulator@8 { regulator-name= "act_ldo5"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; ldo6_reg: regulator@9 { regulator-name= "act_ldo6"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; ldo7_reg: regulator@10 { regulator-name= "act_ldo7"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; ldo8_reg: regulator@11 { regulator-name= "act_ldo8"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; }; }; /include/ "rk808.dtsi" &rk808 { gpios =<&gpio0 GPIO_B3 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_A1 GPIO_ACTIVE_LOW>; regulators { rk808_dcdc1_reg: regulator@0{ regulator-name= "vdd_arm"; regulator-min-microvolt = <700000>; regulator-max-microvolt = <1500000>; regulator-always-on; regulator-boot-on; regulator-initial-mode = <0x2>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-mode = <0x2>; regulator-state-enabled; regulator-state-uv = <900000>; }; }; rk808_dcdc2_reg: regulator@1 { regulator-name= "vdd_logic"; regulator-min-microvolt = <700000>; regulator-max-microvolt = <1500000>; regulator-always-on; regulator-boot-on; regulator-initial-mode = <0x2>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-mode = <0x2>; regulator-state-enabled; regulator-state-uv = <900000>; }; }; rk808_dcdc3_reg: regulator@2 { regulator-name= "rk_dcdc3"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; regulator-boot-on; regulator-initial-mode = <0x2>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-mode = <0x2>; regulator-state-enabled; regulator-state-uv = <1200000>; }; }; rk808_dcdc4_reg: regulator@3 { regulator-name= "vccio"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; regulator-initial-mode = <0x2>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-mode = <0x2>; regulator-state-enabled; regulator-state-uv = <2800000>; }; }; rk808_ldo1_reg: regulator@4 { regulator-name= "rk_ldo1"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <3300000>; }; }; rk808_ldo2_reg: regulator@5 { regulator-name= "rk_ldo2"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <3300000>; }; }; rk808_ldo3_reg: regulator@6 { regulator-name= "rk_ldo3"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; regulator-boot-on; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <1000000>; }; }; rk808_ldo4_reg:regulator@7 { regulator-name= "rk_ldo4"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; regulator-initial-state = <3>; regulator-state-mem { regulator-state-disabled; regulator-state-uv = <1800000>; }; }; rk808_ldo5_reg: regulator@8 { regulator-name= "rk_ldo5"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-always-on; regulator-boot-on; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <2800000>; }; }; rk808_ldo6_reg: regulator@9 { regulator-name= "rk_ldo6"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; regulator-boot-on; regulator-initial-state = <3>; regulator-state-mem { regulator-state-disabled; regulator-state-uv = <1200000>; }; }; rk808_ldo7_reg: regulator@10 { regulator-name= "rk_ldo7"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <1800000>; }; }; rk808_ldo8_reg: regulator@11 { regulator-name= "rk_ldo8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <1800000>; }; }; }; }; &ap0_vcc_domain{ regulator-name= "vccio_wl"; }; &ap1_vcc_domain{ regulator-name= "vccio"; }; &cif_vcc_domain{ regulator-name= "vcc18_cif"; }; &flash_vcc_domain{ regulator-name= "vcc_flash"; }; &vccio0_vcc_domain{ regulator-name= "vccio"; }; &vccio1_vcc_domain{ regulator-name= "vccio"; }; &lcdc0_vcc_domain{ regulator-name= "vcc_lcd"; }; &lcdc1_vcc_domain{ regulator-name= "vccio"; }; cells = <1>; #size-cells = <0>; status = "disabled"; ports { port { dsi_in_vop: endpoint { remote-endpoint = <&vop_out_dsi>; }; }; }; }; qos_gpu: qos@1012d000 { compatible = "syscon"; reg = <0x1012d000 0x20>; }; qos_vpu: qos@1012e000 { compatible = "syscon"; reg = <0x1012e000 0x20>; }; qos_rga: qos@1012f000 { compatible = "syscon"; reg = <0x1012f000 0x20>; }; qos_iep: qos@1012f100 { compatible = "syscon"; reg = <0x1012f100 0x20>; }; qos_lcdc0: qos@1012f180 { compatible = "syscon"; reg = <0x1012f180 0x20>; }; qos_vip0: qos@1012f200 { compatible = "syscon"; reg = <0x1012f200 0x20>; }; gic: interrupt-controller@10139000 { compatible = "arm,cortex-a7-gic"; interrupt-controller; #interrupt-cells = <3>; #address-cells = <0>; reg = <0x10139000 0x1000>, <0x1013a000 0x1000>, <0x1013c000 0x2000>, <0x1013e000 0x2000>; interrupts = <GIC_PPI 9 0xf04>; }; usb_otg: usb@10180000 { compatible = "rockchip,rk3128-usb", "rockchip,rk3066-usb", "snps,dwc2"; reg = <0x10180000 0x40000>; interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru HCLK_OTG>; clock-names = "otg"; dr_mode = "otg"; g-np-tx-fifo-size = <16>; g-rx-fifo-size = <280>; g-tx-fifo-size = <256 128 128 64 32 16>; g-use-dma; phys = <&u2phy_otg>; phy-names = "usb2-phy"; status = "disabled"; }; usb_host_ehci: usb@101c0000 { compatible = "generic-ehci"; reg = <0x101c0000 0x20000>; interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru HCLK_HOST2>, <&u2phy>; clock-names = "usbhost", "utmi"; phys = <&u2phy_host>; phy-names = "usb"; status = "disabled"; }; usb_host_ohci: usb@101e0000 { compatible = "generic-ohci"; reg = <0x101e0000 0x20000>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru HCLK_HOST2>, <&u2phy>; clock-names = "usbhost", "utmi"; phys = <&u2phy_host>; phy-names = "usb"; status = "disabled"; }; i2s_8ch: i2s-8ch@10200000 { compatible = "rockchip,rk3128-i2s", "rockchip,rk3066-i2s"; reg = <0x10200000 0x1000>; clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S_8CH>; clock-names = "i2s_clk", "i2s_hclk"; interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; dmas = <&pdma 14>, <&pdma 15>; dma-names = "tx", "rx"; status = "disabled"; }; spdif: spdif@10204000 { compatible = "rockchip,rk3128-spdif"; reg = <0x10204000 0x1000>; interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>; clock-names = "mclk", "hclk"; dmas = <&pdma 13>; dma-names = "tx"; pinctrl-names = "default"; pinctrl-0 = <&spdif_tx>; status = "disabled"; }; i2s_2ch: i2s-2ch@10220000 { compatible = "rockchip,rk3128-i2s", "rockchip,rk3066-i2s"; reg = <0x10220000 0x1000>; clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S_2CH>; clock-names = "i2s_clk", "i2s_hclk"; interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; dmas = <&pdma 0>, <&pdma 1>; dma-names = "tx", "rx"; status = "disabled"; }; sdmmc: dwmmc@10214000 { compatible = "rockchip,rk312x-dw-mshc", "rockchip,rk3288-dw-mshc"; reg = <0x10214000 0x4000>; interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; clock-freq-min-max = <400000 50000000>; clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>; clock-names = "biu", "ciu"; dmas = <&pdma 10>; dma-names = "rx-tx"; num-slots = <1>; fifo-depth = <0x100>; bus-width = <4>; status = "disabled"; }; sdio: dwmmc@10218000 { compatible = "rockchip,rk312x-dw-mshc", "rockchip,rk3288-dw-mshc"; reg = <0x10218000 0x4000>; interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&sdio_pwren &sdio_cmd &sdio_clk &sdio_bus4>; clock-freq-min-max = <400000 50000000>; clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>; clock-names = "biu", "ciu"; dmas = <&pdma 11>; dma-names = "rx-tx"; num-slots = <1>; fifo-depth = <0x100>; bus-width = <4>; status = "disabled"; }; emmc: dwmmc@1021c000 { compatible = "rockchip,rk312x-dw-mshc", "rockchip,rk3288-dw-mshc"; reg = <0x1021c000 0x4000>; interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; clock-freq-min-max = <400000 50000000>; clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>; clock-names = "biu", "ciu"; dmas = <&pdma 12>; dma-names = "rx-tx"; num-slots = <1>; fifo-depth = <0x100>; bus-width = <8>; status = "disabled"; }; nandc: nandc@10500000 { compatible = "rockchip,rk-nandc"; reg = <0x10500000 0x4000>; interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; nandc_id = <0>; clocks = <&cru SCLK_NANDC>, <&cru HCLK_NANDC>; clock-names = "clk_nandc", "hclk_nandc"; status = "disabled"; }; cru: clock-controller@20000000 { compatible = "rockchip,rk3128-cru"; reg = <0x20000000 0x1000>; rockchip,grf = <&grf>; #clock-cells = <1>; #reset-cells = <1>; assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>, <&cru ACLK_CPU>, <&cru HCLK_CPU>, <&cru PCLK_CPU>, <&cru ACLK_PERI>, <&cru HCLK_PERI>, <&cru PCLK_PERI>; assigned-clock-rates = <594000000>, <400000000>, <300000000>, <150000000>, <75000000>, <300000000>, <150000000>, <75000000>; }; grf: syscon@20008000 { compatible = "rockchip,rk3128-grf", "syscon", "simple-mfd"; reg = <0x20008000 0x1000>; #address-cells = <1>; #size-cells = <1>; u2phy: usb2-phy@17c { compatible = "rockchip,rk3128-usb2phy"; reg = <0x017c 0x0c>; clocks = <&cru SCLK_OTGPHY0>; clock-names = "phyclk"; #clock-cells = <0>; clock-output-names = "usb480m_phy"; assigned-clocks = <&cru SCLK_USB480M>; assigned-clock-parents = <&u2phy>; status = "disabled"; u2phy_otg: otg-port { #phy-cells = <0>; interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "otg-bvalid", "otg-id", "linestate"; status = "disabled"; }; u2phy_host: host-port { #phy-cells = <0>; interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "linestate"; status = "disabled"; }; }; }; codec: codec@20030000 { compatible = "rockchip,rk3128-codec"; reg = <0x20030000 0x4000>; interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; boot_depop = <1>; pa_enable_time = <1000>; rockchip,grf = <&grf>; clocks = <&cru PCLK_ACODEC>, <&cru SCLK_I2S1>; clock-names = "g_pclk_acodec", "i2s_clk"; status = "disabled"; }; mipi_dphy: mipi-dphy@20038000 { compatible = "rockchip,rk3128-mipi-dphy"; reg = <0x20038000 0x4000>; clocks = <&cru SCLK_MIPI_24M>, <&cru PCLK_MIPIPHY>, <&cru HCLK_VIO_H2P>; clock-names = "ref", "pclk", "h2p"; clock-output-names = "mipi_dphy_pll"; #clock-cells = <0>; resets = <&cru SRST_MIPIPHY_P>; reset-names = "apb"; power-domains = <&power RK3128_PD_VIO>; rockchip,grf = <&grf>; #phy-cells = <0>; status = "disabled"; }; lvds: lvds@20038000 { compatible = "rockchip,rk3126-lvds"; reg = <0x20038000 0x4000>, <0x10110000 0x100>; reg-names = "mipi_lvds_phy", "mipi_lvds_ctl"; clocks = <&cru PCLK_MIPIPHY>, <&cru PCLK_MIPI>, <&cru HCLK_VIO_H2P>; clock-names = "pclk_lvds", "pclk_lvds_ctl", "hclk_vio_h2p"; power-domains = <&power RK3128_PD_VIO>; rockchip,grf = <&grf>; status = "disabled"; ports { #address-cells = <1>; #size-cells = <0>; lvds_in: port@0 { reg = <0>; lvds_in_vop: endpoint { remote-endpoint = <&vop_out_lvds>; }; }; }; }; timer@20044000 { compatible = "rockchip,rk3128-timer", "rockchip,rk3288-timer"; reg = <0x20044000 0x20>; interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; clocks = <&xin24m>, <&cru PCLK_TIMER>; clock-names = "timer", "pclk"; }; watchdog@2004c000 { compatible = "snps,dw-wdt"; reg = <0x2004c000 0x100>; clocks = <&cru PCLK_WDT>; interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; }; pwm0: pwm@20050000 { compatible = "rockchip,rk3288-pwm"; reg = <0x20050000 0x10>; #pwm-cells = <3>; pinctrl-names = "active"; pinctrl-0 = <&pwm0_pin>; clocks = <&cru PCLK_PWM>; clock-names = "pwm"; status = "disabled"; }; pwm1: pwm@20050010 { compatible = "rockchip,rk3288-pwm"; reg = <0x20050010 0x10>; #pwm-cells = <3>; pinctrl-names = "active"; pinctrl-0 = <&pwm1_pin>; clocks = <&cru PCLK_PWM>; clock-names = "pwm"; status = "disabled"; }; pwm2: pwm@20050020 { compatible = "rockchip,rk3288-pwm"; reg = <0x20050020 0x10>; #pwm-cells = <3>; pinctrl-names = "active"; pinctrl-0 = <&pwm2_pin>; clocks = <&cru PCLK_PWM>; clock-names = "pwm"; status = "disabled"; }; pwm3: pwm@20050030 { compatible = "rockchip,rk3288-pwm"; reg = <0x20050030 0x10>; #pwm-cells = <3>; pinctrl-names = "active"; pinctrl-0 = <&pwm3_pin>; clocks = <&cru PCLK_PWM>; clock-names = "pwm"; status = "disabled"; }; i2c1: i2c@20056000 { compatible = "rockchip,rk3288-i2c"; reg = <0x20056000 0x1000>; interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; clock-names = "i2c"; clocks = <&cru PCLK_I2C1>; pinctrl-names = "default"; pinctrl-0 = <&i2c1_xfer>; status = "disabled"; }; i2c2: i2c@2005a000 { compatible = "rockchip,rk3288-i2c"; reg = <0x2005a000 0x1000>; interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; clock-names = "i2c"; clocks = <&cru PCLK_I2C2>; pinctrl-names = "default"; pinctrl-0 = <&i2c2_xfer>; status = "disabled"; }; i2c3: i2c@2005e000 { compatible = "rockchip,rk3288-i2c"; reg = <0x2005e000 0x1000>; interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; clock-names = "i2c"; clocks = <&cru PCLK_I2C3>; pinctrl-names = "default"; pinctrl-0 = <&i2c3_xfer>; status = "disabled"; }; uart0: serial@20060000 { compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart"; reg = <0x20060000 0x100>; interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; clock-frequency = <24000000>; clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; clock-names = "baudclk", "apb_pclk"; reg-shift = <2>; reg-io-width = <4>; pinctrl-names = "default"; pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; status = "disabled"; }; uart1: serial@20064000 { compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart"; reg = <0x20064000 0x100>; interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; clock-frequency = <24000000>; clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; clock-names = "baudclk", "apb_pclk"; reg-shift = <2>; reg-io-width = <4>; pinctrl-names = "default"; pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>; status = "disabled"; }; uart2: serial@20068000 { compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart"; reg = <0x20068000 0x100>; interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; clock-frequency = <24000000>; clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; clock-names = "baudclk", "apb_pclk"; reg-shift = <2>; reg-io-width = <4>; pinctrl-names = "default"; pinctrl-0 = <&uart2_xfer>; status = "disabled"; }; saradc: saradc@2006c000 { compatible = "rockchip,saradc"; reg = <0x2006c000 0x100>; interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; #io-channel-cells = <1>; clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; clock-names = "saradc", "apb_pclk"; resets = <&cru SRST_SARADC>; reset-names = "saradc-apb"; status = "disabled"; }; i2c0: i2c@20072000 { compatible = "rockchip,rk3288-i2c"; reg = <0x20072000 0x1000>; interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; clock-names = "i2c"; clocks = <&cru PCLK_I2C0>; pinctrl-names = "default"; pinctrl-0 = <&i2c0_xfer>; status = "disabled"; }; spi0: spi@20074000 { compatible = "rockchip,rk3288-spi"; reg = <0x20074000 0x1000>; interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&spi0_tx &spi0_rx &spi0_clk &spi0_cs0 &spi0_cs1>; clock-names = "spiclk", "apb_pclk"; dmas = <&pdma 8>, <&pdma 9>; dma-names = "tx", "rx"; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; gmac: eth@2008c000 { compatible = "rockchip,rk3128-gmac"; reg = <0x2008c000 0x4000>; interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "macirq", "eth_wake_irq"; rockchip,grf = <&grf>; clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>, <&cru SCLK_MAC_REF>, <&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>, <&cru PCLK_GMAC>; clock-names = "stmmaceth", "mac_clk_rx", "mac_clk_tx", "clk_mac_ref", "clk_mac_refout", "aclk_mac", "pclk_mac"; resets = <&cru SRST_GMAC>; reset-names = "stmmaceth"; status = "disabled"; }; efuse: efuse@20090000 { compatible = "rockchip,rk3128-efuse"; reg = <0x20090000 0x20>; #address-cells = <1>; #size-cells = <1>; clocks = <&cru PCLK_EFUSE>; clock-names = "pclk_efuse"; efuse_id: id@7 { reg = <0x7 0x10>; }; cpu_leakage: cpu_leakage@17 { reg = <0x17 0x1>; }; }; pinctrl: pinctrl { compatible = "rockchip,rk3128-pinctrl"; rockchip,grf = <&grf>; #address-cells = <1>; #size-cells = <1>; ranges; gpio0: gpio0@2007c000 { compatible = "rockchip,gpio-bank"; reg = <0x2007c000 0x100>; interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru PCLK_GPIO0>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; gpio1: gpio1@20080000 { compatible = "rockchip,gpio-bank"; reg = <0x20080000 0x100>; interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru PCLK_GPIO1>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; gpio2: gpio2@20084000 { compatible = "rockchip,gpio-bank"; reg = <0x20084000 0x100>; interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru PCLK_GPIO2>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; gpio3: gpio3@20088000 { compatible = "rockchip,gpio-bank"; reg = <0x20088000 0x100>; interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru PCLK_GPIO3>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; pcfg_pull_default: pcfg_pull_default { bias-pull-pin-default; }; pcfg_output_high: pcfg-output-high { output-high; }; pcfg_pull_none: pcfg-pull-none { bias-disable; }; emmc { emmc_clk: emmc-clk { rockchip,pins = <2 RK_PA7 2 &pcfg_pull_none>; }; emmc_cmd: emmc-cmd { rockchip,pins = <1 RK_PC6 2 &pcfg_pull_default>; }; emmc_cmd1: emmc-cmd1 { rockchip,pins = <2 RK_PA4 2 &pcfg_pull_default>; }; emmc_pwr: emmc-pwr { rockchip,pins = <2 RK_PA5 2 &pcfg_pull_default>; }; emmc_bus1: emmc-bus1 { rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>; }; emmc_bus4: emmc-bus4 { rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>, <1 RK_PD1 2 &pcfg_pull_default>, <1 RK_PD2 2 &pcfg_pull_default>, <1 RK_PD3 2 &pcfg_pull_default>; }; emmc_bus8: emmc-bus8 { rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>, <1 RK_PD1 2 &pcfg_pull_default>, <1 RK_PD2 2 &pcfg_pull_default>, <1 RK_PD3 2 &pcfg_pull_default>, <1 RK_PD4 2 &pcfg_pull_default>, <1 RK_PD5 2 &pcfg_pull_default>, <1 RK_PD6 2 &pcfg_pull_default>, <1 RK_PD7 2 &pcfg_pull_default>; }; }; i2c0 { i2c0_xfer: i2c0-xfer { rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>, <0 RK_PA1 1 &pcfg_pull_none>; }; }; i2c1 { i2c1_xfer: i2c1-xfer { rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>, <0 RK_PA3 1 &pcfg_pull_none>; }; }; i2c2 { i2c2_xfer: i2c2-xfer { rockchip,pins = <2 RK_PC4 3 &pcfg_pull_none>, <2 RK_PC5 3 &pcfg_pull_none>; }; }; i2c3 { i2c3_xfer: i2c3-xfer { rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>, <0 RK_PA7 1 &pcfg_pull_none>; }; }; uart0 { uart0_xfer: uart0-xfer { rockchip,pins = <2 RK_PD2 2 &pcfg_pull_default>, <2 RK_PD3 2 &pcfg_pull_none>; }; uart0_cts: uart0-cts { rockchip,pins = <2 RK_PD5 2 &pcfg_pull_none>; }; uart0_rts: uart0-rts { rockchip,pins = <0 RK_PC1 2 &pcfg_pull_none>; }; }; uart1 { uart1_xfer: uart1-xfer { rockchip,pins = <1 RK_PB1 2 &pcfg_pull_default>, <1 RK_PB2 2 &pcfg_pull_default>; }; uart1_cts: uart1-cts { rockchip,pins = <1 RK_PB0 2 &pcfg_pull_none>; }; uart1_rts: uart1-rts { rockchip,pins = <1 RK_PB3 2 &pcfg_pull_none>; }; }; uart2 { uart2_xfer: uart2-xfer { rockchip,pins = <1 RK_PC2 2 &pcfg_pull_default>, <1 RK_PC3 2 &pcfg_pull_none>; }; uart2_cts: uart2-cts { rockchip,pins = <0 RK_PD1 1 &pcfg_pull_none>; }; uart2_rts: uart2-rts { rockchip,pins = <0 RK_PD0 1 &pcfg_pull_none>; }; }; sdmmc { sdmmc_clk: sdmmc-clk { rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>; }; sdmmc_cmd: sdmmc-cmd { rockchip,pins = <1 RK_PB7 1 &pcfg_pull_default>; }; sdmmc_wp: sdmmc-wp { rockchip,pins = <1 RK_PA7 1 &pcfg_pull_default>; }; sdmmc_pwren: sdmmc-pwren { rockchip,pins = <1 RK_PB6 1 &pcfg_pull_default>; }; sdmmc_bus4: sdmmc-bus4 { rockchip,pins = <1 RK_PC2 1 &pcfg_pull_default>, <1 RK_PC3 1 &pcfg_pull_default>, <1 RK_PC4 1 &pcfg_pull_default>, <1 RK_PC5 1 &pcfg_pull_default>; }; }; sdio { sdio_clk: sdio-clk { rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>; }; sdio_cmd: sdio-cmd { rockchip,pins = <0 RK_PA3 2 &pcfg_pull_default>; }; sdio_pwren: sdio-pwren { rockchip,pins = <0 RK_PD6 1 &pcfg_pull_default>; }; sdio_bus4: sdio-bus4 { rockchip,pins = <1 RK_PA1 2 &pcfg_pull_default>, <1 RK_PA2 2 &pcfg_pull_default>, <1 RK_PA4 2 &pcfg_pull_default>, <1 RK_PA5 2 &pcfg_pull_default>; }; }; hdmi { hdmii2c_xfer: hdmii2c-xfer { rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>, <0 RK_PA7 2 &pcfg_pull_none>; }; hdmi_hpd: hdmi-hpd { rockchip,pins = <0 RK_PB7 1 &pcfg_pull_none>; }; hdmi_cec: hdmi-cec { rockchip,pins = <0 RK_PC4 1 &pcfg_pull_none>; }; }; i2s { i2s_bus: i2s-bus { rockchip,pins = <0 RK_PB0 1 &pcfg_pull_none>, <0 RK_PB1 1 &pcfg_pull_none>, <0 RK_PB3 1 &pcfg_pull_none>, <0 RK_PB4 1 &pcfg_pull_none>, <0 RK_PB5 1 &pcfg_pull_none>, <0 RK_PB6 1 &pcfg_pull_none>; }; i2s1_bus: i2s1-bus { rockchip,pins = <1 RK_PA0 1 &pcfg_pull_none>, <1 RK_PA1 1 &pcfg_pull_none>, <1 RK_PA2 1 &pcfg_pull_none>, <1 RK_PA3 1 &pcfg_pull_none>, <1 RK_PA4 1 &pcfg_pull_none>, <1 RK_PA5 1 &pcfg_pull_none>; }; }; pwm0 { pwm0_pin: pwm0-pin { rockchip,pins = <0 RK_PD2 1 &pcfg_pull_none>; }; }; pwm1 { pwm1_pin: pwm1-pin { rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>; }; }; pwm2 { pwm2_pin: pwm2-pin { rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>; }; }; pwm3 { pwm3_pin: pwm3-pin { rockchip,pins = <3 RK_PD2 1 &pcfg_pull_none>; }; }; gmac { rgmii_pins: rgmii-pins { rockchip,pins = <2 RK_PB0 3 &pcfg_pull_default>, <2 RK_PB1 3 &pcfg_pull_default>, <2 RK_PB3 3 &pcfg_pull_default>, <2 RK_PB4 3 &pcfg_pull_default>, <2 RK_PB5 3 &pcfg_pull_default>, <2 RK_PB6 3 &pcfg_pull_default>, <2 RK_PC0 3 &pcfg_pull_default>, <2 RK_PC1 3 &pcfg_pull_default>, <2 RK_PC2 3 &pcfg_pull_default>, <2 RK_PC3 3 &pcfg_pull_default>, <2 RK_PD1 3 &pcfg_pull_default>, <2 RK_PC4 4 &pcfg_pull_default>, <2 RK_PC5 4 &pcfg_pull_default>, <2 RK_PC6 4 &pcfg_pull_default>, <2 RK_PC7 4 &pcfg_pull_default>; }; rmii_pins: rmii-pins { rockchip,pins = <2 RK_PB0 3 &pcfg_pull_default>, <2 RK_PB4 3 &pcfg_pull_default>, <2 RK_PB5 3 &pcfg_pull_default>, <2 RK_PB6 3 &pcfg_pull_default>, <2 RK_PB7 3 &pcfg_pull_default>, <2 RK_PC0 3 &pcfg_pull_default>, <2 RK_PC1 3 &pcfg_pull_default>, <2 RK_PC3 3 &pcfg_pull_default>, <2 RK_PC4 3 &pcfg_pull_default>, <2 RK_PD1 3 &pcfg_pull_default>; }; }; spdif { spdif_tx: spdif-tx { rockchip,pins = <3 RK_PD3 1 &pcfg_pull_none>; }; }; spi { spi0_clk: spi0-clk { rockchip,pins = <1 RK_PB0 1 &pcfg_pull_default>; }; spi0_cs0: spi0-cs0 { rockchip,pins = <1 RK_PB3 1 &pcfg_pull_default>; }; spi0_tx: spi0-tx { rockchip,pins = <1 RK_PB1 1 &pcfg_pull_default>; }; spi0_rx: spi0-rx { rockchip,pins = <1 RK_PB2 1 &pcfg_pull_default>; }; spi0_cs1: spi0-cs1 { rockchip,pins = <1 RK_PB4 1 &pcfg_pull_default>; }; spi1_clk: spi1-clk { rockchip,pins = <2 RK_PA0 2 &pcfg_pull_default>; }; spi1_cs0: spi1-cs0 { rockchip,pins = <1 RK_PD6 3 &pcfg_pull_default>; }; spi1_tx: spi1-tx { rockchip,pins = <1 RK_PD5 3 &pcfg_pull_default>; }; spi1_rx: spi1-rx { rockchip,pins = <1 RK_PD4 3 &pcfg_pull_default>; }; spi1_cs1: spi1-cs1 { rockchip,pins = <1 RK_PD7 3 &pcfg_pull_default>; }; spi2_clk: spi2-clk { rockchip,pins = <0 RK_PB1 2 &pcfg_pull_default>; }; spi2_cs0: spi2-cs0 { rockchip,pins = <0 RK_PB6 2 &pcfg_pull_default>; }; spi2_tx: spi2-tx { rockchip,pins = <0 RK_PB3 2 &pcfg_pull_default>; }; spi2_rx: spi2-rx { rockchip,pins = <0 RK_PB5 2 &pcfg_pull_default>; }; }; }; }; -cells = <1>; }; /* reg[14:13]: reserved */ clk_edp_24m: edp_24m_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <15 1>; clocks = <&edp_24m_clkin>, <&xin24m>; clock-output-names = "clk_edp_24m"; #clock-cells = <0>; }; }; clk_sel_con29: sel-con@00d4 { compatible = "rockchip,rk3188-selcon"; reg = <0x00d4 0x4>; #address-cells = <1>; #size-cells = <1>; ehci1phy_480m: ehci1phy_480m_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <0 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&usbphy_480m>; clock-output-names = "ehci1phy_480m"; #clock-cells = <0>; }; ehci1phy_12m: ehci1phy_12m_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <2 1>; clocks = <&clk_gates13 9>, <&ehci1phy_12m_div>; clock-output-names = "ehci1phy_12m"; #clock-cells = <0>; }; clkin_isp: clkin_isp { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <3 1>; clocks = <&clk_gates16 3>, <&pclkin_isp_inv>; clock-output-names = "clkin_isp"; #clock-cells = <0>; }; clkin_cif: clkin_cif { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <4 1>; clocks = <&clk_gates16 0>, <&pclkin_cif_inv>; clock-output-names = "clkin_cif"; #clock-cells = <0>; }; /* reg[5]: reserved */ dclk_lcdc1: dclk_lcdc1_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <6 2>; clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>; clock-output-names = "dclk_lcdc1"; #clock-cells = <0>; }; dclk_lcdc1_div: dclk_lcdc1_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 8>; clocks = <&dclk_lcdc1>; clock-output-names = "dclk_lcdc1"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_RK3288_DCLK_LCDC1>; rockchip,flags = <CLK_SET_RATE_PARENT>; }; }; clk_sel_con30: sel-con@00d8 { compatible = "rockchip,rk3188-selcon"; reg = <0x00d8 0x4>; #address-cells = <1>; #size-cells = <1>; aclk_rga_div: aclk_rga_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 5>; clocks = <&aclk_rga>; clock-output-names = "aclk_rga"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; }; /* reg[5]: reserved */ aclk_rga: aclk_rga_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <6 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&usbphy_480m>; clock-output-names = "aclk_rga"; #clock-cells = <0>; #clock-init-cells = <1>; }; clk_rga_div: clk_rga_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 5>; clocks = <&clk_rga>; clock-output-names = "clk_rga"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; }; /* reg[13]: reserved */ clk_rga: clk_rga_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <14 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&usbphy_480m>; clock-output-names = "clk_rga"; #clock-cells = <0>; #clock-init-cells = <1>; }; }; clk_sel_con31: sel-con@00dc { compatible = "rockchip,rk3188-selcon"; reg = <0x00dc 0x4>; #address-cells = <1>; #size-cells = <1>; aclk_vio0_div: aclk_vio0_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 5>; clocks = <&aclk_vio0>; clock-output-names = "aclk_vio0"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; rockchip,flags = <CLK_SET_RATE_NO_REPARENT>; }; /* reg[5]: reserved */ aclk_vio0: aclk_vio0_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <6 2>; clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>; clock-output-names = "aclk_vio0"; #clock-cells = <0>; #clock-init-cells = <1>; }; aclk_vio1_div: aclk_vio1_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 5>; clocks = <&aclk_vio1>; clock-output-names = "aclk_vio1"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; rockchip,flags = <CLK_SET_RATE_NO_REPARENT>; }; /* reg[13]: reserved */ aclk_vio1: aclk_vio1_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <14 2>; clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>; clock-output-names = "aclk_vio1"; #clock-cells = <0>; #clock-init-cells = <1>; }; }; clk_sel_con32: sel-con@00e0 { compatible = "rockchip,rk3188-selcon"; reg = <0x00e0 0x4>; #address-cells = <1>; #size-cells = <1>; clk_vepu_div: clk_vepu_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 5>; clocks = <&clk_vepu>; clock-output-names = "clk_vepu"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; }; /* reg[5]: reserved */ clk_vepu: clk_vepu_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <6 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&usbphy_480m>; clock-output-names = "clk_vepu"; #clock-cells = <0>; #clock-init-cells = <1>; }; clk_vdpu_div: clk_vdpu_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 5>; clocks = <&clk_vdpu>; clock-output-names = "clk_vdpu"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; }; /* reg[13]: reserved */ clk_vdpu: clk_vdpu_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <14 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&usbphy_480m>; clock-output-names = "clk_vdpu"; #clock-cells = <0>; #clock-init-cells = <1>; }; }; clk_sel_con33: sel-con@00e4 { compatible = "rockchip,rk3188-selcon"; reg = <0x00e4 0x4>; #address-cells = <1>; #size-cells = <1>; pclk_pd_pmu: pclk_pd_pmu_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 5>; clocks = <&clk_gpll>; clock-output-names = "pclk_pd_pmu"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; #clock-init-cells = <1>; }; /* reg[7:5]: reserved */ pclk_pd_alive: pclk_pd_alive { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 5>; clocks = <&clk_gpll>; clock-output-names = "pclk_pd_alive"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; #clock-init-cells = <1>; }; /* reg[15:13]: reserved */ }; clk_sel_con34: sel-con@00e8 { compatible = "rockchip,rk3188-selcon"; reg = <0x00e8 0x4>; #address-cells = <1>; #size-cells = <1>; clk_gpu_div: clk_gpu_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 5>; clocks = <&clk_gpu>; clock-output-names = "clk_gpu"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; rockchip,flags = <CLK_SET_RATE_PARENT_IN_ORDER>; }; /* reg[5]: reserved */ clk_gpu: clk_gpu_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <6 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&usbphy_480m>, <&clk_npll>; clock-output-names = "clk_gpu"; #clock-cells = <0>; #clock-init-cells = <1>; }; clk_sdio1_div: clk_sdio1_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 6>; clocks = <&clk_sdio1>; clock-output-names = "clk_sdio1"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_EVENDIV>; }; clk_sdio1: clk_sdio1_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <14 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&xin24m>; clock-output-names = "clk_sdio1"; #clock-cells = <0>; }; }; clk_sel_con35: sel-con@00ec { compatible = "rockchip,rk3188-selcon"; reg = <0x00ec 0x4>; #address-cells = <1>; #size-cells = <1>; clk_tsp_div: clk_tsp_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 5>; clocks = <&clk_tsp>; clock-output-names = "clk_tsp"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; }; /* reg[5]: reserved */ clk_tsp: clk_tsp_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <6 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&clk_npll>; clock-output-names = "clk_tsp"; #clock-cells = <0>; #clock-init-cells = <1>; }; clk_tspout_div: clk_tspout_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 5>; clocks = <&clk_tspout>; clock-output-names = "clk_tspout"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; }; /* reg[13]: reserved */ clk_tspout: clk_tspout_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <14 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&clk_npll>, <&io_27m_in>; clock-output-names = "clk_tspout"; #clock-cells = <0>; #clock-init-cells = <1>; }; }; clk_sel_con36: sel-con@00f0 { compatible = "rockchip,rk3188-selcon"; reg = <0x00f0 0x4>; #address-cells = <1>; #size-cells = <1>; clk_core0: clk_core0_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 3>; clocks = <&clk_core>; clock-output-names = "clk_core0"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>; }; /* reg[3]: reserved */ clk_core1: clk_core1_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <4 3>; clocks = <&clk_core>; clock-output-names = "clk_core1"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>; }; /* reg[7]: reserved */ clk_core2: clk_core2_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 3>; clocks = <&clk_core>; clock-output-names = "clk_core2"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>; }; /* reg[11]: reserved */ clk_core3: clk_core3_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <12 3>; clocks = <&clk_core>; clock-output-names = "clk_core3"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>; }; /* reg[15]: reserved */ }; clk_sel_con37: sel-con@00f4 { compatible = "rockchip,rk3188-selcon"; reg = <0x00f4 0x4>; #address-cells = <1>; #size-cells = <1>; clk_l2ram: clk_l2ram_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 3>; clocks = <&clk_core>; clock-output-names = "clk_l2ram"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>; }; /* reg[3]: reserved */ atclk_core: atclk_core_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <4 5>; clocks = <&clk_core>; clock-output-names = "atclk_core"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>; }; pclk_dbg_src: pclk_core_dbg_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <9 5>; clocks = <&clk_core>; clock-output-names = "pclk_dbg_src"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>; }; /* reg[15:14]: reserved */ }; clk_sel_con38: sel-con@00f8 { compatible = "rockchip,rk3188-selcon"; reg = <0x00f8 0x4>; #address-cells = <1>; #size-cells = <1>; clk_nandc0_div: clk_nandc0_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 5>; clocks = <&clk_nandc0>; clock-output-names = "clk_nandc0"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; }; /* reg[6:5]: reserved */ clk_nandc0: clk_nandc0_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <7 1>; clocks = <&dummy_cpll>, <&clk_gpll>; clock-output-names = "clk_nandc0"; #clock-cells = <0>; }; clk_nandc1_div: clk_nandc1_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 5>; clocks = <&clk_nandc1>; clock-output-names = "clk_nandc1"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; }; /* reg[14:13]: reserved */ clk_nandc1: clk_nandc1_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <15 1>; clocks = <&dummy_cpll>, <&clk_gpll>; clock-output-names = "clk_nandc1"; #clock-cells = <0>; }; }; clk_sel_con39: sel-con@00fc { compatible = "rockchip,rk3188-selcon"; reg = <0x00fc 0x4>; #address-cells = <1>; #size-cells = <1>; clk_spi2_div: clk_spi2_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 7>; clocks = <&clk_spi2>; clock-output-names = "clk_spi2"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; }; clk_spi2: clk_spi2_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <7 1>; clocks = <&dummy_cpll>, <&clk_gpll>; clock-output-names = "clk_spi2"; #clock-cells = <0>; }; aclk_hevc_div: aclk_hevc_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 5>; clocks = <&aclk_hevc>; clock-output-names = "aclk_hevc"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; rockchip,flags = <CLK_SET_RATE_PARENT_IN_ORDER>; }; /* reg[13]: reserved */ aclk_hevc: aclk_hevc_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <14 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&clk_npll>; clock-output-names = "aclk_hevc"; #clock-cells = <0>; #clock-init-cells = <1>; }; }; clk_sel_con40: sel-con@0100 { compatible = "rockchip,rk3188-selcon"; reg = <0x0100 0x4>; #address-cells = <1>; #size-cells = <1>; spdif_8ch_div: spdif_8ch_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 7>; clocks = <&clk_spdif_pll>; clock-output-names = "spdif_8ch_div"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; }; /* reg[7]: reserved */ clk_spdif_8ch: spdif_8ch_clk_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <8 2>; clocks = <&spdif_8ch_div>, <&spdif_8ch_frac>, <&xin12m>; clock-output-names = "clk_spdif_8ch"; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_RK3288_I2S>; rockchip,flags = <CLK_SET_RATE_PARENT>; }; /* reg[11:10]: reserved */ hclk_hevc: hclk_hevc_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <12 2>; clocks = <&aclk_hevc>; clock-output-names = "hclk_hevc"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; #clock-init-cells = <1>; }; /* reg[15:14]: reserved */ }; clk_sel_con41: sel-con@0104 { compatible = "rockchip,rk3188-selcon"; reg = <0x0104 0x4>; #address-cells = <1>; #size-cells = <1>; spdif_8ch_frac: spdif_8ch_frac { compatible = "rockchip,rk3188-frac-con"; clocks = <&spdif_8ch_div>; clock-output-names = "spdif_8ch_frac"; /* numerator denominator */ rockchip,bits = <0 32>; rockchip,clkops-idx = <CLKOPS_RATE_FRAC>; #clock-cells = <0>; }; }; clk_sel_con42: sel-con@0108 { compatible = "rockchip,rk3188-selcon"; reg = <0x0108 0x4>; #address-cells = <1>; #size-cells = <1>; clk_hevc_cabac_div: clk_hevc_cabac_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <0 5>; clocks = <&clk_hevc_cabac>; clock-output-names = "clk_hevc_cabac"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; rockchip,flags = <CLK_SET_RATE_PARENT_IN_ORDER>; }; /* reg[5]: reserved */ clk_hevc_cabac: clk_hevc_cabac_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <6 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&clk_npll>; clock-output-names = "clk_hevc_cabac"; #clock-cells = <0>; #clock-init-cells = <1>; }; clk_hevc_core_div: clk_hevc_core_div { compatible = "rockchip,rk3188-div-con"; rockchip,bits = <8 5>; clocks = <&clk_hevc_core>; clock-output-names = "clk_hevc_core"; rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>; #clock-cells = <0>; rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>; rockchip,flags = <CLK_SET_RATE_PARENT_IN_ORDER>; }; /* reg[13]: reserved */ clk_hevc_core: clk_hevc_core_mux { compatible = "rockchip,rk3188-mux-con"; rockchip,bits = <14 2>; clocks = <&dummy_cpll>, <&clk_gpll>, <&clk_npll>; clock-output-names = "clk_hevc_core"; #clock-cells = <0>; #clock-init-cells = <1>; }; }; }; /* Gate control regs */ clk_gate_cons { compatible = "rockchip,rk-gate-cons"; #address-cells = <1>; #size-cells = <1>; ranges ; clk_gates0: gate-clk@0160 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0160 0x4>; clocks = <&dummy>, <&clk_apll>, <&clk_gpll>, <&aclk_bus>, <&hclk_bus>, <&pclk_bus>, <&dummy>, <&aclk_bus>, <&clk_dpll>, <&clk_gpll>, <&clk_gpll>, <&clk_cpll>, <&xin24m>, <&dummy>, <&dummy>, <&dummy>; clock-output-names = "reserved", "reserved", /* do not use bit1 = "core_apll" */ "clk_arm_gpll", "g_aclk_bus", "hclk_bus", "pclk_bus", "reserved", "aclk_bus_2pmu", "reserved", "reserved", /*"clk_ddr_dpll", "clk_ddr_gpll",*/ "reserved", "reserved", /*"clk_bus_gpll", "clk_bus_cpll",*/ "clk_acc_efuse", "reserved", "reserved", "reserved"; rockchip,suspend-clkgating-setting=<0x0fff 0x0fff>; #clock-cells = <1>; }; clk_gates1: gate-clk@0164 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0164 0x4>; clocks = <&xin24m>, <&xin24m>, <&xin24m>, <&xin24m>, <&xin24m>, <&xin24m>, <&dummy>, <&dummy>, <&clk_uart0_pll>, <&uart0_frac>, <&clk_uart1_div>, <&uart1_frac>, <&clk_uart2_div>, <&uart2_frac>, <&clk_uart3_div>, <&uart3_frac>; clock-output-names = "clk_timer0", "clk_timer1", "clk_timer2", "clk_timer3", "clk_timer4", "clk_timer5", "reserved", "reserved", "clk_uart0_pll", "uart0_frac", "clk_uart1_div", "uart1_frac", "clk_uart2_div", "uart2_frac", "clk_uart3_div", "uart3_frac"; rockchip,suspend-clkgating-setting=<0x0 0x0>; #clock-cells = <1>; }; clk_gates2: gate-clk@0168 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0168 0x4>; clocks = <&aclk_peri>, <&aclk_peri>, <&hclk_peri>, <&pclk_peri>, <&dummy>, <&clk_mac_pll>, <&clk_hsadc_pll>, <&clk_tsadc>, <&clk_saradc>, <&clk_spi0>, <&clk_spi1>, <&clk_spi2>, <&clk_uart4_div>, <&uart4_frac>, <&dummy>, <&dummy>; clock-output-names = "aclk_peri", "reserved", /*"g_aclk_periph",*/ "hclk_peri", "pclk_peri", "reserved", "clk_mac_pll", "clk_hsadc_pll", "clk_tsadc", "clk_saradc", "clk_spi0", "clk_spi1", "clk_spi2", "clk_uart4_div", "uart4_frac", "reserved", "reserved"; rockchip,suspend-clkgating-setting=<0x000f 0x000f>; #clock-cells = <1>; }; clk_gates3: gate-clk@016c { compatible = "rockchip,rk3188-gate-clk"; reg = <0x016c 0x4>; clocks = <&aclk_vio0>, <&dclk_lcdc0>, <&aclk_vio1>, <&dclk_lcdc1>, <&clk_rga>, <&aclk_rga>, <&ehci1phy_480m>, <&clk_cif_pll>, <&dummy>, <&clk_vepu>, <&dummy>, <&clk_vdpu>, <&clk_edp_24m>, <&clk_edp>, <&clk_isp>, <&clk_isp_jpe>; clock-output-names = "aclk_vio0", "dclk_lcdc0", "aclk_vio1", "dclk_lcdc1", "clk_rga", "aclk_rga", "ehci1phy_480m", "clk_cif_pll", /*Not use hclk_vpu_gate tmp, fixme*/ "reserved", "clk_vepu", "reserved", "clk_vdpu", "clk_edp_24m", "clk_edp", "clk_isp", "clk_isp_jpe"; rockchip,suspend-clkgating-setting=<0x0000 0x0000>; #clock-cells = <1>; }; clk_gates4: gate-clk@0170 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0170 0x4>; clocks = <&clk_i2s_out>, <&clk_i2s_pll>, <&i2s_frac>, <&clk_i2s>, <&spdif_div>, <&spdif_frac>, <&clk_spdif>, <&spdif_8ch_div>, <&spdif_8ch_frac>, <&clk_spdif_8ch>, <&clk_tsp>, <&clk_tspout>, <&clk_ddr>, <&clk_ddr>, <&jtag_clkin>, <&dummy>; clock-output-names = "clk_i2s_out", "clk_i2s_pll", "i2s_frac", "clk_i2s", "spdif_div", "spdif_frac", "clk_spdif", "spdif_8ch_div", "spdif_8ch_frac", "clk_spdif_8ch", "clk_tsp", "clk_tspout", /* Not use these ddr gates */ "reserved", "reserved", /*"g_clk_ddrphy0", "g_clk_ddrphy1",*/ "clk_jtag", "reserved"; /*"testclk_gate_en";*/ rockchip,suspend-clkgating-setting=<0xf000 0xf000>; #clock-cells = <1>; }; clk_gates5: gate-clk@0174 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0174 0x4>; clocks = <&clk_mac>, <&clk_mac>, <&clk_mac>, <&clk_mac>, <&clk_crypto>, <&clk_nandc0>, <&clk_nandc1>, <&clk_gpu>, <&pclk_pd_pmu>, <&xin24m>, <&xin24m>, <&xin32k>, <&xin24m>, <&xin24m>, <&usbphy_480m>, <&xin24m>; clock-output-names = "g_clk_mac_rx", "g_clk_mac_tx", "g_clk_mac_ref", "g_mac_refout", "clk_crypto", "clk_nandc0", "clk_nandc1", "clk_gpu", "pclk_pd_pmu", "g_clk_pvtm_core", "g_clk_pvtm_gpu", "g_hdmi_cec_clk", "g_hdmi_hdcp_clk", "g_ps2c_clk", "usbphy_480m", "g_mipidsi_24m"; rockchip,suspend-clkgating-setting=<0x0100 0x0100>; #clock-cells = <1>; }; clk_gates6: gate-clk@0178 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0178 0x4>; clocks = <&hclk_peri>, <&pclk_peri>, <&aclk_peri>, <&aclk_peri>, <&pclk_peri>, <&pclk_peri>, <&pclk_peri>, <&pclk_peri>, <&pclk_peri>, <&pclk_peri>, <&dummy>, <&pclk_peri>, <&pclk_peri>, <&pclk_peri>, <&pclk_peri>, <&pclk_peri>; clock-output-names = "g_hp_matrix", "g_pp_axi_matrix", "g_ap_axi_matrix", "g_aclk_dmac2", "g_pclk_spi0", "g_pclk_spi1", "g_pclk_spi2", "g_pclk_ps2c", "g_pclk_uart0", "g_pclk_uart1", "reserved", "g_pclk_uart3", "g_pclk_uart4", "g_pclk_i2c1", "g_pclk_i2c3", "g_pclk_i2c4"; rockchip,suspend-clkgating-setting=<0x0003 0x0003>; #clock-cells = <1>; }; clk_gates7: gate-clk@017c { compatible = "rockchip,rk3188-gate-clk"; reg = <0x017c 0x4>; clocks = <&pclk_peri>, <&pclk_peri>, <&pclk_peri>, <&pclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&aclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>; clock-output-names = "g_pclk_i2c5", "g_pclk_saradc", "g_pclk_tsadc", "g_pclk_sim", "g_hclk_otg0", "g_pmu_hclk_otg0", "g_hclk_host0", "g_hclk_host1", "g_hclk_ehci1", "g_hclk_usb_peri", "g_hp_ahb_arbi", "g_aclk_peri_niu", "g_h_emem_peri", "g_hclk_mem_peri", "g_hclk_nandc0", "g_hclk_nandc1"; rockchip,suspend-clkgating-setting=<0x0c00 0xc000>; #clock-cells = <1>; }; clk_gates8: gate-clk@0180 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0180 0x4>; clocks = <&aclk_peri>, <&pclk_peri>, <&aclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hclk_peri>, <&hsadc_0_tsp>, <&hsadc_1_tsp>, <&io_27m_in>, <&aclk_peri>, <&dummy>, <&dummy>, <&dummy>; clock-output-names = "g_aclk_gmac", "g_pclk_gmac", "g_hclk_gps", "g_hclk_sdmmc", "g_hclk_sdio0", "g_hclk_sdio1", "g_hclk_emmc", "g_hclk_hsadc", "g_hclk_tsp", "g_hsadc_0_tsp", "g_hsadc_1_tsp", "g_clk_27m_tsp", "g_aclk_peri_mmu", "reserved", "reserved", "reserved"; rockchip,suspend-clkgating-setting=<0x0000 0x0000>; #clock-cells = <1>; }; clk_gates9: gate-clk@0184 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0184 0x4>; clocks = <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>; clock-output-names = "reserved", "reserved", /*"aclk_video_gate_en", "hclk_video_clock_en",*/ "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved"; rockchip,suspend-clkgating-setting=<0x0 0x0>; #clock-cells = <1>; }; clk_gates10: gate-clk@0188 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0188 0x4>; clocks = <&pclk_bus>, <&pclk_bus>, <&pclk_bus>, <&pclk_bus>, <&aclk_bus>, <&aclk_bus>, <&aclk_bus>, <&aclk_bus>, <&hclk_bus>, <&hclk_bus>, <&hclk_bus>, <&hclk_bus>, <&aclk_bus>, <&aclk_bus>, <&pclk_bus>, <&pclk_bus>; clock-output-names = "g_pclk_pwm", "g_pclk_timer", "g_pclk_i2c0", "g_pclk_i2c2", "g_aclk_intmem", "g_clk_intmem0", "g_clk_intmem1", "g_clk_intmem2", "g_hclk_i2s", "g_hclk_rom", "g_hclk_spdif", "g_h_spdif_8ch", "g_aclk_dmac1", "g_aclk_strc_sys", "reserved", "reserved"; /*"g_p_ddrupctl0", "g_pclk_publ0";*/ //rockchip,suspend-clkgating-setting=<0xe2f1 0xe2f1>; // use sram mem no gating rockchip,suspend-clkgating-setting=<0xf2f1 0xf2f1>; // pwm logic vol #clock-cells = <1>; }; clk_gates11: gate-clk@018c { compatible = "rockchip,rk3188-gate-clk"; reg = <0x018c 0x4>; clocks = <&pclk_bus>, <&pclk_bus>, <&pclk_bus>, <&pclk_bus>, <&dummy>, <&dummy>, <&aclk_bus>, <&hclk_bus>, <&aclk_bus>, <&pclk_bus>, <&pclk_bus>, <&pclk_bus>, <&dummy>, <&dummy>, <&dummy>, <&dummy>; clock-output-names = "reserved", "reserved", /*"g_p_ddrupctl1", "g_pclk_publ1",*/ "g_p_efuse_1024", "g_pclk_tzpc", "reserved", "reserved", /*"g_nclk_ddrupctl0", "g_nclk_ddrupctl1"*/ "g_aclk_crypto", "g_hclk_crypto", "g_aclk_ccp", "g_pclk_uart2", "g_p_efuse_256", "g_pclk_rkpwm", "reserved", "reserved", "reserved", "reserved"; rockchip,suspend-clkgating-setting=<0x0033 0x0033>; #clock-cells = <1>; }; clk_gates12: gate-clk@0190 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0190 0x4>; clocks = <&clk_core0>, <&clk_core1>, <&clk_core2>, <&clk_core3>, <&clk_l2ram>, <&aclk_core_m0>, <&aclk_core_mp>, <&atclk_core>, <&pclk_dbg_src>, <&pclk_dbg_src>, <&pclk_dbg_src>, <&pclk_dbg_src>, <&dummy>, <&dummy>, <&dummy>, <&dummy>; clock-output-names = "clk_core0", "clk_core1", "clk_core2", "clk_core3", "clk_l2ram", "aclk_core_m0", "aclk_core_mp", "atclk_core", "pclk_dbg_src", "g_dbg_core_clk", "g_cs_dbg_clk", "g_pclk_core_niu", "reserved", "reserved", "reserved", "reserved"; rockchip,suspend-clkgating-setting=<0x0ff1 0x0ff1>; #clock-cells = <1>; }; clk_gates13: gate-clk@0194 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0194 0x4>; clocks = <&clk_sdmmc>, <&clk_sdio0>, <&clk_sdio1>, <&clk_emmc>, <&xin24m>, <&xin24m>, <&xin24m>, <&xin32k>, <&aclk_bus_src>, <&xin12m>, <&xin24m>, <&xin24m>, <&dummy>, <&aclk_hevc>, <&clk_hevc_cabac>, <&clk_hevc_core>; clock-output-names = "clk_sdmmc", "clk_sdio0", "clk_sdio1", "clk_emmc", "clk_otgphy0", "clk_otgphy1", "clk_otgphy2", "clk_otg_adp", "g_clk_c2c_host", "g_clk_ehci1_12m", "g_clk_lcdc_pwm0", "g_clk_lcdc_pwm1", "g_clk_wifi", "aclk_hevc", "clk_hevc_cabac", "clk_hevc_core"; rockchip,suspend-clkgating-setting=<0x0 0x0>; #clock-cells = <1>; }; clk_gates14: gate-clk@0198 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x0198 0x4>; clocks = <&dummy>, <&pclk_pd_alive>, <&pclk_pd_alive>, <&pclk_pd_alive>, <&pclk_pd_alive>, <&pclk_pd_alive>, <&pclk_pd_alive>, <&pclk_pd_alive>, <&pclk_pd_alive>, <&dummy>, <&dummy>, <&pclk_pd_alive>, <&pclk_pd_alive>, <&dummy>, <&dummy>, <&dummy>; clock-output-names = "reserved", "g_pclk_gpio1", "g_pclk_gpio2", "g_pclk_gpio3", "g_pclk_gpio4", "g_pclk_gpio5", "g_pclk_gpio6", "g_pclk_gpio7", "g_pclk_gpio8", "reserved", "reserved", "g_pclk_grf", "g_p_alive_niu", "reserved", "reserved", "reserved"; //rockchip,suspend-clkgating-setting=<0xffff 0xffff>; rockchip,suspend-clkgating-setting=<0x19fe 0x19fe>; #clock-cells = <1>; }; clk_gates15: gate-clk@019c { compatible = "rockchip,rk3188-gate-clk"; reg = <0x019c 0x4>; clocks = <&aclk_rga>, <&hclk_vio>, <&clk_gates15 11>, <&hclk_vio>, <&dummy>, <&clk_gates15 11>, <&hclk_vio>, <&clk_gates15 12>, <&hclk_vio>, <&dummy>, <&dummy>, <&aclk_vio0>, <&aclk_vio1>, <&aclk_rga>, <&clk_gates15 11>, <&hclk_vio>; clock-output-names = "reserved", /*"g_aclk_rga"*/ "g_hclk_rga", "g_aclk_iep", "g_hclk_iep", "g_aclk_lcdc_iep", "g_aclk_lcdc0", "g_hclk_lcdc0", "g_aclk_lcdc1", "g_hclk_lcdc1", "reserved", /* "g_h_vio_ahb" */ "reserved",/*"g_hclk_vio_niu"*/ "g_aclk_vio0_niu", "g_aclk_vio1_niu", "reserved",/*"g_aclk_rga_niu"*/ "g_aclk_vip", "g_hclk_vip"; rockchip,suspend-clkgating-setting=<0x0 0x0>; #clock-cells = <1>; }; clk_gates16: gate-clk@01a0 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x01a0 0x4>; clocks = <&pclkin_cif>, <&hclk_vio>, <&clk_gates15 12>, <&pclkin_isp>, <&hclk_vio>, <&hclk_vio>, <&hclk_vio>, <&hclk_vio>, <&hclk_vio>, <&hclk_vio>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>; clock-output-names = "g_pclkin_cif", "g_hclk_isp", "g_aclk_isp", "g_pclkin_isp", "g_p_mipi_dsi0", "g_p_mipi_dsi1", "g_p_mipi_csi", "g_pclk_lvds_phy", "g_pclk_edp_ctrl", "g_p_hdmi_ctrl", "reserved", "reserved", /* bit10:"g_hclk_vio2_h2p" bit11: "g_pclk_vio2_h2p" */ "reserved", "reserved", "reserved", "reserved"; rockchip,suspend-clkgating-setting=<0x0 0x0>; #clock-cells = <1>; }; clk_gates17: gate-clk@01a4 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x01a4 0x4>; clocks = <&pclk_pd_pmu>, <&pclk_pd_pmu>, <&pclk_pd_pmu>, <&pclk_pd_pmu>, <&pclk_pd_pmu>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>; clock-output-names = "g_pclk_pmu", "g_pclk_intmem1", "g_pclk_pmu_niu", "g_pclk_sgrf", "g_pclk_gpio0", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved"; rockchip,suspend-clkgating-setting=<0x01f 0x01f>; #clock-cells = <1>; }; clk_gates18: gate-clk@01a8 { compatible = "rockchip,rk3188-gate-clk"; reg = <0x01a8 0x4>; clocks = <&clk_gpu>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>, <&dummy>; clock-output-names = "reserved", /*"g_aclk_gpu",*/ "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved", "reserved"; rockchip,suspend-clkgating-setting=<0x0 0x0>; #clock-cells = <1>; }; }; }; }; };