Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Copyright (c) 2013 MundoReader S.L.
0004  * Author: Heiko Stuebner <heiko@sntech.de>
0005  */
0006 
0007 #include <dt-bindings/gpio/gpio.h>
0008 #include <dt-bindings/pinctrl/rockchip.h>
0009 #include <dt-bindings/clock/rk3066a-cru.h>
0010 #include <dt-bindings/power/rk3066-power.h>
0011 #include "rk3xxx.dtsi"
0012 
0013 / {
0014         compatible = "rockchip,rk3066a";
0015 
0016         cpus {
0017                 #address-cells = <1>;
0018                 #size-cells = <0>;
0019                 enable-method = "rockchip,rk3066-smp";
0020 
0021                 cpu0: cpu@0 {
0022                         device_type = "cpu";
0023                         compatible = "arm,cortex-a9";
0024                         next-level-cache = <&L2>;
0025                         reg = <0x0>;
0026                         operating-points =
0027                                 /* kHz    uV */
0028                                 <1416000 1300000>,
0029                                 <1200000 1175000>,
0030                                 <1008000 1125000>,
0031                                 <816000  1125000>,
0032                                 <600000  1100000>,
0033                                 <504000  1100000>,
0034                                 <312000  1075000>;
0035                         clock-latency = <40000>;
0036                         clocks = <&cru ARMCLK>;
0037                 };
0038                 cpu1: cpu@1 {
0039                         device_type = "cpu";
0040                         compatible = "arm,cortex-a9";
0041                         next-level-cache = <&L2>;
0042                         reg = <0x1>;
0043                 };
0044         };
0045 
0046         display-subsystem {
0047                 compatible = "rockchip,display-subsystem";
0048                 ports = <&vop0_out>, <&vop1_out>;
0049         };
0050 
0051         sram: sram@10080000 {
0052                 compatible = "mmio-sram";
0053                 reg = <0x10080000 0x10000>;
0054                 #address-cells = <1>;
0055                 #size-cells = <1>;
0056                 ranges = <0 0x10080000 0x10000>;
0057 
0058                 smp-sram@0 {
0059                         compatible = "rockchip,rk3066-smp-sram";
0060                         reg = <0x0 0x50>;
0061                 };
0062         };
0063 
0064         vop0: vop@1010c000 {
0065                 compatible = "rockchip,rk3066-vop";
0066                 reg = <0x1010c000 0x19c>;
0067                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
0068                 clocks = <&cru ACLK_LCDC0>,
0069                          <&cru DCLK_LCDC0>,
0070                          <&cru HCLK_LCDC0>;
0071                 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
0072                 power-domains = <&power RK3066_PD_VIO>;
0073                 resets = <&cru SRST_LCDC0_AXI>,
0074                          <&cru SRST_LCDC0_AHB>,
0075                          <&cru SRST_LCDC0_DCLK>;
0076                 reset-names = "axi", "ahb", "dclk";
0077                 status = "disabled";
0078 
0079                 vop0_out: port {
0080                         #address-cells = <1>;
0081                         #size-cells = <0>;
0082 
0083                         vop0_out_hdmi: endpoint@0 {
0084                                 reg = <0>;
0085                                 remote-endpoint = <&hdmi_in_vop0>;
0086                         };
0087                 };
0088         };
0089 
0090         vop1: vop@1010e000 {
0091                 compatible = "rockchip,rk3066-vop";
0092                 reg = <0x1010e000 0x19c>;
0093                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
0094                 clocks = <&cru ACLK_LCDC1>,
0095                          <&cru DCLK_LCDC1>,
0096                          <&cru HCLK_LCDC1>;
0097                 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
0098                 power-domains = <&power RK3066_PD_VIO>;
0099                 resets = <&cru SRST_LCDC1_AXI>,
0100                          <&cru SRST_LCDC1_AHB>,
0101                          <&cru SRST_LCDC1_DCLK>;
0102                 reset-names = "axi", "ahb", "dclk";
0103                 status = "disabled";
0104 
0105                 vop1_out: port {
0106                         #address-cells = <1>;
0107                         #size-cells = <0>;
0108 
0109                         vop1_out_hdmi: endpoint@0 {
0110                                 reg = <0>;
0111                                 remote-endpoint = <&hdmi_in_vop1>;
0112                         };
0113                 };
0114         };
0115 
0116         hdmi: hdmi@10116000 {
0117                 compatible = "rockchip,rk3066-hdmi";
0118                 reg = <0x10116000 0x2000>;
0119                 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
0120                 clocks = <&cru HCLK_HDMI>;
0121                 clock-names = "hclk";
0122                 pinctrl-names = "default";
0123                 pinctrl-0 = <&hdmii2c_xfer>, <&hdmi_hpd>;
0124                 power-domains = <&power RK3066_PD_VIO>;
0125                 rockchip,grf = <&grf>;
0126                 status = "disabled";
0127 
0128                 ports {
0129                         #address-cells = <1>;
0130                         #size-cells = <0>;
0131 
0132                         hdmi_in: port@0 {
0133                                 reg = <0>;
0134                                 #address-cells = <1>;
0135                                 #size-cells = <0>;
0136 
0137                                 hdmi_in_vop0: endpoint@0 {
0138                                         reg = <0>;
0139                                         remote-endpoint = <&vop0_out_hdmi>;
0140                                 };
0141 
0142                                 hdmi_in_vop1: endpoint@1 {
0143                                         reg = <1>;
0144                                         remote-endpoint = <&vop1_out_hdmi>;
0145                                 };
0146                         };
0147 
0148                         hdmi_out: port@1 {
0149                                 reg = <1>;
0150                         };
0151                 };
0152         };
0153 
0154         i2s0: i2s@10118000 {
0155                 compatible = "rockchip,rk3066-i2s";
0156                 reg = <0x10118000 0x2000>;
0157                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
0158                 pinctrl-names = "default";
0159                 pinctrl-0 = <&i2s0_bus>;
0160                 clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>;
0161                 clock-names = "i2s_clk", "i2s_hclk";
0162                 dmas = <&dmac1_s 4>, <&dmac1_s 5>;
0163                 dma-names = "tx", "rx";
0164                 rockchip,playback-channels = <8>;
0165                 rockchip,capture-channels = <2>;
0166                 #sound-dai-cells = <0>;
0167                 status = "disabled";
0168         };
0169 
0170         i2s1: i2s@1011a000 {
0171                 compatible = "rockchip,rk3066-i2s";
0172                 reg = <0x1011a000 0x2000>;
0173                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
0174                 pinctrl-names = "default";
0175                 pinctrl-0 = <&i2s1_bus>;
0176                 clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1>;
0177                 clock-names = "i2s_clk", "i2s_hclk";
0178                 dmas = <&dmac1_s 6>, <&dmac1_s 7>;
0179                 dma-names = "tx", "rx";
0180                 rockchip,playback-channels = <2>;
0181                 rockchip,capture-channels = <2>;
0182                 #sound-dai-cells = <0>;
0183                 status = "disabled";
0184         };
0185 
0186         i2s2: i2s@1011c000 {
0187                 compatible = "rockchip,rk3066-i2s";
0188                 reg = <0x1011c000 0x2000>;
0189                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
0190                 pinctrl-names = "default";
0191                 pinctrl-0 = <&i2s2_bus>;
0192                 clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2>;
0193                 clock-names = "i2s_clk", "i2s_hclk";
0194                 dmas = <&dmac1_s 9>, <&dmac1_s 10>;
0195                 dma-names = "tx", "rx";
0196                 rockchip,playback-channels = <2>;
0197                 rockchip,capture-channels = <2>;
0198                 #sound-dai-cells = <0>;
0199                 status = "disabled";
0200         };
0201 
0202         cru: clock-controller@20000000 {
0203                 compatible = "rockchip,rk3066a-cru";
0204                 reg = <0x20000000 0x1000>;
0205                 clocks = <&xin24m>;
0206                 clock-names = "xin24m";
0207                 rockchip,grf = <&grf>;
0208                 #clock-cells = <1>;
0209                 #reset-cells = <1>;
0210                 assigned-clocks = <&cru PLL_CPLL>, <&cru PLL_GPLL>,
0211                                   <&cru ACLK_CPU>, <&cru HCLK_CPU>,
0212                                   <&cru PCLK_CPU>, <&cru ACLK_PERI>,
0213                                   <&cru HCLK_PERI>, <&cru PCLK_PERI>;
0214                 assigned-clock-rates = <400000000>, <594000000>,
0215                                        <300000000>, <150000000>,
0216                                        <75000000>, <300000000>,
0217                                        <150000000>, <75000000>;
0218         };
0219 
0220         timer2: timer@2000e000 {
0221                 compatible = "snps,dw-apb-timer";
0222                 reg = <0x2000e000 0x100>;
0223                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
0224                 clocks = <&cru SCLK_TIMER2>, <&cru PCLK_TIMER2>;
0225                 clock-names = "timer", "pclk";
0226         };
0227 
0228         efuse: efuse@20010000 {
0229                 compatible = "rockchip,rk3066a-efuse";
0230                 reg = <0x20010000 0x4000>;
0231                 #address-cells = <1>;
0232                 #size-cells = <1>;
0233                 clocks = <&cru PCLK_EFUSE>;
0234                 clock-names = "pclk_efuse";
0235 
0236                 cpu_leakage: cpu_leakage@17 {
0237                         reg = <0x17 0x1>;
0238                 };
0239         };
0240 
0241         timer0: timer@20038000 {
0242                 compatible = "snps,dw-apb-timer";
0243                 reg = <0x20038000 0x100>;
0244                 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
0245                 clocks = <&cru SCLK_TIMER0>, <&cru PCLK_TIMER0>;
0246                 clock-names = "timer", "pclk";
0247         };
0248 
0249         timer1: timer@2003a000 {
0250                 compatible = "snps,dw-apb-timer";
0251                 reg = <0x2003a000 0x100>;
0252                 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
0253                 clocks = <&cru SCLK_TIMER1>, <&cru PCLK_TIMER1>;
0254                 clock-names = "timer", "pclk";
0255         };
0256 
0257         tsadc: tsadc@20060000 {
0258                 compatible = "rockchip,rk3066-tsadc";
0259                 reg = <0x20060000 0x100>;
0260                 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
0261                 clock-names = "saradc", "apb_pclk";
0262                 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
0263                 #io-channel-cells = <1>;
0264                 resets = <&cru SRST_TSADC>;
0265                 reset-names = "saradc-apb";
0266                 status = "disabled";
0267         };
0268 
0269         pinctrl: pinctrl {
0270                 compatible = "rockchip,rk3066a-pinctrl";
0271                 rockchip,grf = <&grf>;
0272                 #address-cells = <1>;
0273                 #size-cells = <1>;
0274                 ranges;
0275 
0276                 gpio0: gpio@20034000 {
0277                         compatible = "rockchip,gpio-bank";
0278                         reg = <0x20034000 0x100>;
0279                         interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
0280                         clocks = <&cru PCLK_GPIO0>;
0281 
0282                         gpio-controller;
0283                         #gpio-cells = <2>;
0284 
0285                         interrupt-controller;
0286                         #interrupt-cells = <2>;
0287                 };
0288 
0289                 gpio1: gpio@2003c000 {
0290                         compatible = "rockchip,gpio-bank";
0291                         reg = <0x2003c000 0x100>;
0292                         interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
0293                         clocks = <&cru PCLK_GPIO1>;
0294 
0295                         gpio-controller;
0296                         #gpio-cells = <2>;
0297 
0298                         interrupt-controller;
0299                         #interrupt-cells = <2>;
0300                 };
0301 
0302                 gpio2: gpio@2003e000 {
0303                         compatible = "rockchip,gpio-bank";
0304                         reg = <0x2003e000 0x100>;
0305                         interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
0306                         clocks = <&cru PCLK_GPIO2>;
0307 
0308                         gpio-controller;
0309                         #gpio-cells = <2>;
0310 
0311                         interrupt-controller;
0312                         #interrupt-cells = <2>;
0313                 };
0314 
0315                 gpio3: gpio@20080000 {
0316                         compatible = "rockchip,gpio-bank";
0317                         reg = <0x20080000 0x100>;
0318                         interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
0319                         clocks = <&cru PCLK_GPIO3>;
0320 
0321                         gpio-controller;
0322                         #gpio-cells = <2>;
0323 
0324                         interrupt-controller;
0325                         #interrupt-cells = <2>;
0326                 };
0327 
0328                 gpio4: gpio@20084000 {
0329                         compatible = "rockchip,gpio-bank";
0330                         reg = <0x20084000 0x100>;
0331                         interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
0332                         clocks = <&cru PCLK_GPIO4>;
0333 
0334                         gpio-controller;
0335                         #gpio-cells = <2>;
0336 
0337                         interrupt-controller;
0338                         #interrupt-cells = <2>;
0339                 };
0340 
0341                 gpio6: gpio@2000a000 {
0342                         compatible = "rockchip,gpio-bank";
0343                         reg = <0x2000a000 0x100>;
0344                         interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
0345                         clocks = <&cru PCLK_GPIO6>;
0346 
0347                         gpio-controller;
0348                         #gpio-cells = <2>;
0349 
0350                         interrupt-controller;
0351                         #interrupt-cells = <2>;
0352                 };
0353 
0354                 pcfg_pull_default: pcfg-pull-default {
0355                         bias-pull-pin-default;
0356                 };
0357 
0358                 pcfg_pull_none: pcfg-pull-none {
0359                         bias-disable;
0360                 };
0361 
0362                 emac {
0363                         emac_xfer: emac-xfer {
0364                                 rockchip,pins = <1 RK_PC0 2 &pcfg_pull_none>, /* mac_clk */
0365                                                 <1 RK_PC1 2 &pcfg_pull_none>, /* tx_en */
0366                                                 <1 RK_PC2 2 &pcfg_pull_none>, /* txd1 */
0367                                                 <1 RK_PC3 2 &pcfg_pull_none>, /* txd0 */
0368                                                 <1 RK_PC4 2 &pcfg_pull_none>, /* rx_err */
0369                                                 <1 RK_PC5 2 &pcfg_pull_none>, /* crs_dvalid */
0370                                                 <1 RK_PC6 2 &pcfg_pull_none>, /* rxd1 */
0371                                                 <1 RK_PC7 2 &pcfg_pull_none>; /* rxd0 */
0372                         };
0373 
0374                         emac_mdio: emac-mdio {
0375                                 rockchip,pins = <1 RK_PD0 2 &pcfg_pull_none>, /* mac_md */
0376                                                 <1 RK_PD1 2 &pcfg_pull_none>; /* mac_mdclk */
0377                         };
0378                 };
0379 
0380                 emmc {
0381                         emmc_clk: emmc-clk {
0382                                 rockchip,pins = <3 RK_PD7 2 &pcfg_pull_default>;
0383                         };
0384 
0385                         emmc_cmd: emmc-cmd {
0386                                 rockchip,pins = <4 RK_PB1 2 &pcfg_pull_default>;
0387                         };
0388 
0389                         emmc_rst: emmc-rst {
0390                                 rockchip,pins = <4 RK_PB2 2 &pcfg_pull_default>;
0391                         };
0392 
0393                         /*
0394                          * The data pins are shared between nandc and emmc and
0395                          * not accessible through pinctrl. Also they should've
0396                          * been already set correctly by firmware, as
0397                          * flash/emmc is the boot-device.
0398                          */
0399                 };
0400 
0401                 hdmi {
0402                         hdmi_hpd: hdmi-hpd {
0403                                 rockchip,pins = <0 RK_PA0 1 &pcfg_pull_default>;
0404                         };
0405 
0406                         hdmii2c_xfer: hdmii2c-xfer {
0407                                 rockchip,pins = <0 RK_PA1 1 &pcfg_pull_none>,
0408                                                 <0 RK_PA2 1 &pcfg_pull_none>;
0409                         };
0410                 };
0411 
0412                 i2c0 {
0413                         i2c0_xfer: i2c0-xfer {
0414                                 rockchip,pins = <2 RK_PD4 1 &pcfg_pull_none>,
0415                                                 <2 RK_PD5 1 &pcfg_pull_none>;
0416                         };
0417                 };
0418 
0419                 i2c1 {
0420                         i2c1_xfer: i2c1-xfer {
0421                                 rockchip,pins = <2 RK_PD6 1 &pcfg_pull_none>,
0422                                                 <2 RK_PD7 1 &pcfg_pull_none>;
0423                         };
0424                 };
0425 
0426                 i2c2 {
0427                         i2c2_xfer: i2c2-xfer {
0428                                 rockchip,pins = <3 RK_PA0 1 &pcfg_pull_none>,
0429                                                 <3 RK_PA1 1 &pcfg_pull_none>;
0430                         };
0431                 };
0432 
0433                 i2c3 {
0434                         i2c3_xfer: i2c3-xfer {
0435                                 rockchip,pins = <3 RK_PA2 2 &pcfg_pull_none>,
0436                                                 <3 RK_PA3 2 &pcfg_pull_none>;
0437                         };
0438                 };
0439 
0440                 i2c4 {
0441                         i2c4_xfer: i2c4-xfer {
0442                                 rockchip,pins = <3 RK_PA4 1 &pcfg_pull_none>,
0443                                                 <3 RK_PA5 1 &pcfg_pull_none>;
0444                         };
0445                 };
0446 
0447                 pwm0 {
0448                         pwm0_out: pwm0-out {
0449                                 rockchip,pins = <0 RK_PA3 1 &pcfg_pull_none>;
0450                         };
0451                 };
0452 
0453                 pwm1 {
0454                         pwm1_out: pwm1-out {
0455                                 rockchip,pins = <0 RK_PA4 1 &pcfg_pull_none>;
0456                         };
0457                 };
0458 
0459                 pwm2 {
0460                         pwm2_out: pwm2-out {
0461                                 rockchip,pins = <0 RK_PD6 1 &pcfg_pull_none>;
0462                         };
0463                 };
0464 
0465                 pwm3 {
0466                         pwm3_out: pwm3-out {
0467                                 rockchip,pins = <0 RK_PD7 1 &pcfg_pull_none>;
0468                         };
0469                 };
0470 
0471                 spi0 {
0472                         spi0_clk: spi0-clk {
0473                                 rockchip,pins = <1 RK_PA5 2 &pcfg_pull_default>;
0474                         };
0475                         spi0_cs0: spi0-cs0 {
0476                                 rockchip,pins = <1 RK_PA4 2 &pcfg_pull_default>;
0477                         };
0478                         spi0_tx: spi0-tx {
0479                                 rockchip,pins = <1 RK_PA7 2 &pcfg_pull_default>;
0480                         };
0481                         spi0_rx: spi0-rx {
0482                                 rockchip,pins = <1 RK_PA6 2 &pcfg_pull_default>;
0483                         };
0484                         spi0_cs1: spi0-cs1 {
0485                                 rockchip,pins = <4 RK_PB7 1 &pcfg_pull_default>;
0486                         };
0487                 };
0488 
0489                 spi1 {
0490                         spi1_clk: spi1-clk {
0491                                 rockchip,pins = <2 RK_PC3 2 &pcfg_pull_default>;
0492                         };
0493                         spi1_cs0: spi1-cs0 {
0494                                 rockchip,pins = <2 RK_PC4 2 &pcfg_pull_default>;
0495                         };
0496                         spi1_rx: spi1-rx {
0497                                 rockchip,pins = <2 RK_PC6 2 &pcfg_pull_default>;
0498                         };
0499                         spi1_tx: spi1-tx {
0500                                 rockchip,pins = <2 RK_PC5 2 &pcfg_pull_default>;
0501                         };
0502                         spi1_cs1: spi1-cs1 {
0503                                 rockchip,pins = <2 RK_PC7 2 &pcfg_pull_default>;
0504                         };
0505                 };
0506 
0507                 uart0 {
0508                         uart0_xfer: uart0-xfer {
0509                                 rockchip,pins = <1 RK_PA0 1 &pcfg_pull_default>,
0510                                                 <1 RK_PA1 1 &pcfg_pull_default>;
0511                         };
0512 
0513                         uart0_cts: uart0-cts {
0514                                 rockchip,pins = <1 RK_PA2 1 &pcfg_pull_default>;
0515                         };
0516 
0517                         uart0_rts: uart0-rts {
0518                                 rockchip,pins = <1 RK_PA3 1 &pcfg_pull_default>;
0519                         };
0520                 };
0521 
0522                 uart1 {
0523                         uart1_xfer: uart1-xfer {
0524                                 rockchip,pins = <1 RK_PA4 1 &pcfg_pull_default>,
0525                                                 <1 RK_PA5 1 &pcfg_pull_default>;
0526                         };
0527 
0528                         uart1_cts: uart1-cts {
0529                                 rockchip,pins = <1 RK_PA6 1 &pcfg_pull_default>;
0530                         };
0531 
0532                         uart1_rts: uart1-rts {
0533                                 rockchip,pins = <1 RK_PA7 1 &pcfg_pull_default>;
0534                         };
0535                 };
0536 
0537                 uart2 {
0538                         uart2_xfer: uart2-xfer {
0539                                 rockchip,pins = <1 RK_PB0 1 &pcfg_pull_default>,
0540                                                 <1 RK_PB1 1 &pcfg_pull_default>;
0541                         };
0542                         /* no rts / cts for uart2 */
0543                 };
0544 
0545                 uart3 {
0546                         uart3_xfer: uart3-xfer {
0547                                 rockchip,pins = <3 RK_PD3 1 &pcfg_pull_default>,
0548                                                 <3 RK_PD4 1 &pcfg_pull_default>;
0549                         };
0550 
0551                         uart3_cts: uart3-cts {
0552                                 rockchip,pins = <3 RK_PD5 1 &pcfg_pull_default>;
0553                         };
0554 
0555                         uart3_rts: uart3-rts {
0556                                 rockchip,pins = <3 RK_PD6 1 &pcfg_pull_default>;
0557                         };
0558                 };
0559 
0560                 sd0 {
0561                         sd0_clk: sd0-clk {
0562                                 rockchip,pins = <3 RK_PB0 1 &pcfg_pull_default>;
0563                         };
0564 
0565                         sd0_cmd: sd0-cmd {
0566                                 rockchip,pins = <3 RK_PB1 1 &pcfg_pull_default>;
0567                         };
0568 
0569                         sd0_cd: sd0-cd {
0570                                 rockchip,pins = <3 RK_PB6 1 &pcfg_pull_default>;
0571                         };
0572 
0573                         sd0_wp: sd0-wp {
0574                                 rockchip,pins = <3 RK_PB7 1 &pcfg_pull_default>;
0575                         };
0576 
0577                         sd0_bus1: sd0-bus-width1 {
0578                                 rockchip,pins = <3 RK_PB2 1 &pcfg_pull_default>;
0579                         };
0580 
0581                         sd0_bus4: sd0-bus-width4 {
0582                                 rockchip,pins = <3 RK_PB2 1 &pcfg_pull_default>,
0583                                                 <3 RK_PB3 1 &pcfg_pull_default>,
0584                                                 <3 RK_PB4 1 &pcfg_pull_default>,
0585                                                 <3 RK_PB5 1 &pcfg_pull_default>;
0586                         };
0587                 };
0588 
0589                 sd1 {
0590                         sd1_clk: sd1-clk {
0591                                 rockchip,pins = <3 RK_PC5 1 &pcfg_pull_default>;
0592                         };
0593 
0594                         sd1_cmd: sd1-cmd {
0595                                 rockchip,pins = <3 RK_PC0 1 &pcfg_pull_default>;
0596                         };
0597 
0598                         sd1_cd: sd1-cd {
0599                                 rockchip,pins = <3 RK_PC6 1 &pcfg_pull_default>;
0600                         };
0601 
0602                         sd1_wp: sd1-wp {
0603                                 rockchip,pins = <3 RK_PC7 1 &pcfg_pull_default>;
0604                         };
0605 
0606                         sd1_bus1: sd1-bus-width1 {
0607                                 rockchip,pins = <3 RK_PC1 1 &pcfg_pull_default>;
0608                         };
0609 
0610                         sd1_bus4: sd1-bus-width4 {
0611                                 rockchip,pins = <3 RK_PC1 1 &pcfg_pull_default>,
0612                                                 <3 RK_PC2 1 &pcfg_pull_default>,
0613                                                 <3 RK_PC3 1 &pcfg_pull_default>,
0614                                                 <3 RK_PC4 1 &pcfg_pull_default>;
0615                         };
0616                 };
0617 
0618                 i2s0 {
0619                         i2s0_bus: i2s0-bus {
0620                                 rockchip,pins = <0 RK_PA7 1 &pcfg_pull_default>,
0621                                                 <0 RK_PB0 1 &pcfg_pull_default>,
0622                                                 <0 RK_PB1 1 &pcfg_pull_default>,
0623                                                 <0 RK_PB2 1 &pcfg_pull_default>,
0624                                                 <0 RK_PB3 1 &pcfg_pull_default>,
0625                                                 <0 RK_PB4 1 &pcfg_pull_default>,
0626                                                 <0 RK_PB5 1 &pcfg_pull_default>,
0627                                                 <0 RK_PB6 1 &pcfg_pull_default>,
0628                                                 <0 RK_PB7 1 &pcfg_pull_default>;
0629                         };
0630                 };
0631 
0632                 i2s1 {
0633                         i2s1_bus: i2s1-bus {
0634                                 rockchip,pins = <0 RK_PC0 1 &pcfg_pull_default>,
0635                                                 <0 RK_PC1 1 &pcfg_pull_default>,
0636                                                 <0 RK_PC2 1 &pcfg_pull_default>,
0637                                                 <0 RK_PC3 1 &pcfg_pull_default>,
0638                                                 <0 RK_PC4 1 &pcfg_pull_default>,
0639                                                 <0 RK_PC5 1 &pcfg_pull_default>;
0640                         };
0641                 };
0642 
0643                 i2s2 {
0644                         i2s2_bus: i2s2-bus {
0645                                 rockchip,pins = <0 RK_PD0 1 &pcfg_pull_default>,
0646                                                 <0 RK_PD1 1 &pcfg_pull_default>,
0647                                                 <0 RK_PD2 1 &pcfg_pull_default>,
0648                                                 <0 RK_PD3 1 &pcfg_pull_default>,
0649                                                 <0 RK_PD4 1 &pcfg_pull_default>,
0650                                                 <0 RK_PD5 1 &pcfg_pull_default>;
0651                         };
0652                 };
0653         };
0654 };
0655 
0656 &gpu {
0657         compatible = "rockchip,rk3066-mali", "arm,mali-400";
0658         interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
0659                      <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
0660                      <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
0661                      <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
0662                      <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
0663                      <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
0664                      <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
0665                      <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
0666                      <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
0667                      <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
0668         interrupt-names = "gp",
0669                           "gpmmu",
0670                           "pp0",
0671                           "ppmmu0",
0672                           "pp1",
0673                           "ppmmu1",
0674                           "pp2",
0675                           "ppmmu2",
0676                           "pp3",
0677                           "ppmmu3";
0678         power-domains = <&power RK3066_PD_GPU>;
0679 };
0680 
0681 &grf {
0682         compatible = "rockchip,rk3066-grf", "syscon", "simple-mfd";
0683 
0684         usbphy: usbphy {
0685                 compatible = "rockchip,rk3066a-usb-phy";
0686                 #address-cells = <1>;
0687                 #size-cells = <0>;
0688                 status = "disabled";
0689 
0690                 usbphy0: usb-phy@17c {
0691                         reg = <0x17c>;
0692                         clocks = <&cru SCLK_OTGPHY0>;
0693                         clock-names = "phyclk";
0694                         #clock-cells = <0>;
0695                         #phy-cells = <0>;
0696                 };
0697 
0698                 usbphy1: usb-phy@188 {
0699                         reg = <0x188>;
0700                         clocks = <&cru SCLK_OTGPHY1>;
0701                         clock-names = "phyclk";
0702                         #clock-cells = <0>;
0703                         #phy-cells = <0>;
0704                 };
0705         };
0706 };
0707 
0708 &i2c0 {
0709         pinctrl-names = "default";
0710         pinctrl-0 = <&i2c0_xfer>;
0711 };
0712 
0713 &i2c1 {
0714         pinctrl-names = "default";
0715         pinctrl-0 = <&i2c1_xfer>;
0716 };
0717 
0718 &i2c2 {
0719         pinctrl-names = "default";
0720         pinctrl-0 = <&i2c2_xfer>;
0721 };
0722 
0723 &i2c3 {
0724         pinctrl-names = "default";
0725         pinctrl-0 = <&i2c3_xfer>;
0726 };
0727 
0728 &i2c4 {
0729         pinctrl-names = "default";
0730         pinctrl-0 = <&i2c4_xfer>;
0731 };
0732 
0733 &mmc0 {
0734         clock-frequency = <50000000>;
0735         dmas = <&dmac2 1>;
0736         dma-names = "rx-tx";
0737         max-frequency = <50000000>;
0738         pinctrl-names = "default";
0739         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4>;
0740 };
0741 
0742 &mmc1 {
0743         dmas = <&dmac2 3>;
0744         dma-names = "rx-tx";
0745         pinctrl-names = "default";
0746         pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_bus4>;
0747 };
0748 
0749 &emmc {
0750         dmas = <&dmac2 4>;
0751         dma-names = "rx-tx";
0752 };
0753 
0754 &pmu {
0755         power: power-controller {
0756                 compatible = "rockchip,rk3066-power-controller";
0757                 #power-domain-cells = <1>;
0758                 #address-cells = <1>;
0759                 #size-cells = <0>;
0760 
0761                 power-domain@RK3066_PD_VIO {
0762                         reg = <RK3066_PD_VIO>;
0763                         clocks = <&cru ACLK_LCDC0>,
0764                                  <&cru ACLK_LCDC1>,
0765                                  <&cru DCLK_LCDC0>,
0766                                  <&cru DCLK_LCDC1>,
0767                                  <&cru HCLK_LCDC0>,
0768                                  <&cru HCLK_LCDC1>,
0769                                  <&cru SCLK_CIF1>,
0770                                  <&cru ACLK_CIF1>,
0771                                  <&cru HCLK_CIF1>,
0772                                  <&cru SCLK_CIF0>,
0773                                  <&cru ACLK_CIF0>,
0774                                  <&cru HCLK_CIF0>,
0775                                  <&cru HCLK_HDMI>,
0776                                  <&cru ACLK_IPP>,
0777                                  <&cru HCLK_IPP>,
0778                                  <&cru ACLK_RGA>,
0779                                  <&cru HCLK_RGA>;
0780                         pm_qos = <&qos_lcdc0>,
0781                                  <&qos_lcdc1>,
0782                                  <&qos_cif0>,
0783                                  <&qos_cif1>,
0784                                  <&qos_ipp>,
0785                                  <&qos_rga>;
0786                         #power-domain-cells = <0>;
0787                 };
0788 
0789                 power-domain@RK3066_PD_VIDEO {
0790                         reg = <RK3066_PD_VIDEO>;
0791                         clocks = <&cru ACLK_VDPU>,
0792                                  <&cru ACLK_VEPU>,
0793                                  <&cru HCLK_VDPU>,
0794                                  <&cru HCLK_VEPU>;
0795                         pm_qos = <&qos_vpu>;
0796                         #power-domain-cells = <0>;
0797                 };
0798 
0799                 power-domain@RK3066_PD_GPU {
0800                         reg = <RK3066_PD_GPU>;
0801                         clocks = <&cru ACLK_GPU>;
0802                         pm_qos = <&qos_gpu>;
0803                         #power-domain-cells = <0>;
0804                 };
0805         };
0806 };
0807 
0808 &pwm0 {
0809         pinctrl-names = "default";
0810         pinctrl-0 = <&pwm0_out>;
0811 };
0812 
0813 &pwm1 {
0814         pinctrl-names = "default";
0815         pinctrl-0 = <&pwm1_out>;
0816 };
0817 
0818 &pwm2 {
0819         pinctrl-names = "default";
0820         pinctrl-0 = <&pwm2_out>;
0821 };
0822 
0823 &pwm3 {
0824         pinctrl-names = "default";
0825         pinctrl-0 = <&pwm3_out>;
0826 };
0827 
0828 &spi0 {
0829         pinctrl-names = "default";
0830         pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
0831 };
0832 
0833 &spi1 {
0834         pinctrl-names = "default";
0835         pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
0836 };
0837 
0838 &uart0 {
0839         compatible = "rockchip,rk3066-uart", "snps,dw-apb-uart";
0840         dmas = <&dmac1_s 0>, <&dmac1_s 1>;
0841         dma-names = "tx", "rx";
0842         pinctrl-names = "default";
0843         pinctrl-0 = <&uart0_xfer>;
0844 };
0845 
0846 &uart1 {
0847         compatible = "rockchip,rk3066-uart", "snps,dw-apb-uart";
0848         dmas = <&dmac1_s 2>, <&dmac1_s 3>;
0849         dma-names = "tx", "rx";
0850         pinctrl-names = "default";
0851         pinctrl-0 = <&uart1_xfer>;
0852 };
0853 
0854 &uart2 {
0855         compatible = "rockchip,rk3066-uart", "snps,dw-apb-uart";
0856         dmas = <&dmac2 6>, <&dmac2 7>;
0857         dma-names = "tx", "rx";
0858         pinctrl-names = "default";
0859         pinctrl-0 = <&uart2_xfer>;
0860 };
0861 
0862 &uart3 {
0863         compatible = "rockchip,rk3066-uart", "snps,dw-apb-uart";
0864         dmas = <&dmac2 8>, <&dmac2 9>;
0865         dma-names = "tx", "rx";
0866         pinctrl-names = "default";
0867         pinctrl-0 = <&uart3_xfer>;
0868 };
0869 
0870 &vpu {
0871         power-domains = <&power RK3066_PD_VIDEO>;
0872 };
0873 
0874 &wdt {
0875         compatible = "rockchip,rk3066-wdt", "snps,dw-wdt";
0876 };
0877 
0878 &emac {
0879         compatible = "rockchip,rk3066-emac";
0880 };