Merge tag 'v3.18-rockchip-dts2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorOlof Johansson <olof@lixom.net>
Wed, 24 Sep 2014 05:27:38 +0000 (22:27 -0700)
committerOlof Johansson <olof@lixom.net>
Wed, 24 Sep 2014 05:27:51 +0000 (22:27 -0700)
Merge "second bunch of dts changes for 3.18" from Heiko Stubner:

More peripheral support for Rockchip SoCs
- dwc2 usb controllers
- spi controllers
- emmc controller

* tag 'v3.18-rockchip-dts2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: Remove "regulator-always-on" in vcc_rmii for Radxa Rock
  ARM: dts: rockchip: fix rk3188 emmc pull references
  ARM: dts: rockchip: fix swapped Radxa Rock pinctrl references
  ARM: dts: rockchip: clean up rk3xxx mmc nodes
  ARM: dts: rockchip: add emmc nodes for rk3066 and rk3188
  ARM: dts: rockchip: add Cortex-A9 SPI controller nodes
  ARM: dts: rockchip: enable usb ports on Radxa Rock
  ARM: dts: rockchip: add dwc2 controllers for rk3066 and rk3188
  ARM: dts: rockchip: remove rockchip,bus-index from rk3xxx i2c0
  ARM: dts: Switch i2c0 to 400kHz on rk3288-evb-rk808
  ARM: dts: Add rk808 PMIC to rk3288-evb-rk808
  ARM: dts: Add mshc aliases for rk3288
  ARM: dts: Add SPI nodes to rk3288
  ARM: dts: Enable USB host1(dwc) on rk3288-evb
  ARM: dts: add rk3288 dwc2 controller support
  ARM: dts: Add sdio0 and sdio1 to the rk3288

Signed-off-by: Olof Johansson <olof@lixom.net>
1  2 
arch/arm/boot/dts/rk3188-radxarock.dts
arch/arm/boot/dts/rk3288.dtsi
arch/arm/boot/dts/rk3xxx.dtsi

index 2c2313ff67c60ef9cfbb05ec72a05b0abeec1b2d,61d364e55e4bfcd337cd8cd299c24caf0448722a..39f66e349445b400dab2fe6e02d4c1decacd8c1e
                pinctrl-0 = <&ir_recv_pin>;
        };
  
+       vcc_otg: usb-otg-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&otg_vbus_drv>;
+               regulator-name = "otg-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
        vcc_sd0: sdmmc-regulator {
                compatible = "regulator-fixed";
                regulator-name = "sdmmc-supply";
                startup-delay-us = <100000>;
                vin-supply = <&vcc_io>;
        };
+       vcc_host: usb-host-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&host_vbus_drv>;
+               regulator-name = "host-pwr";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
  };
  
  &i2c1 {
                                regulator-name = "VCC_RMII";
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
-                               regulator-always-on;
                        };
  
                        vccio_wl: REG10 {
  &mmc0 {
        num-slots = <1>;
        status = "okay";
 +      pinctrl-names = "default";
 +      pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
        vmmc-supply = <&vcc_sd0>;
  
        bus-width = <4>;
                        rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
+       usb {
+               host_vbus_drv: host-vbus-drv {
+                       rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+               otg_vbus_drv: otg-vbus-drv {
+                       rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
  };
  
  &uart0 {
        status = "okay";
  };
  
+ &usb_host {
+       status = "okay";
+ };
+ &usb_otg {
+       status = "okay";
+ };
  &wdt {
        status = "okay";
  };
index dca586e24e8386b9f08a9edd8b1748fa1d5078da,37a8ac8b2a91408f164eca0a6447dbe875da9dfb..be276bdfde045813d8259032e72b64602f427c3b
                i2c3 = &i2c3;
                i2c4 = &i2c4;
                i2c5 = &i2c5;
+               mshc0 = &emmc;
+               mshc1 = &sdmmc;
+               mshc2 = &sdio0;
+               mshc3 = &sdio1;
                serial0 = &uart0;
                serial1 = &uart1;
                serial2 = &uart2;
                serial3 = &uart3;
                serial4 = &uart4;
+               spi0 = &spi0;
+               spi1 = &spi1;
+               spi2 = &spi2;
        };
  
        cpus {
                };
        };
  
 +      amba {
 +              compatible = "arm,amba-bus";
 +              #address-cells = <1>;
 +              #size-cells = <1>;
 +              ranges;
 +
 +              dmac_peri: dma-controller@ff250000 {
 +                      compatible = "arm,pl330", "arm,primecell";
 +                      reg = <0xff250000 0x4000>;
 +                      interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
 +                                   <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
 +                      #dma-cells = <1>;
 +                      clocks = <&cru ACLK_DMAC2>;
 +                      clock-names = "apb_pclk";
 +              };
 +
 +              dmac_bus_ns: dma-controller@ff600000 {
 +                      compatible = "arm,pl330", "arm,primecell";
 +                      reg = <0xff600000 0x4000>;
 +                      interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 +                                   <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
 +                      #dma-cells = <1>;
 +                      clocks = <&cru ACLK_DMAC1>;
 +                      clock-names = "apb_pclk";
 +                      status = "disabled";
 +              };
 +
 +              dmac_bus_s: dma-controller@ffb20000 {
 +                      compatible = "arm,pl330", "arm,primecell";
 +                      reg = <0xffb20000 0x4000>;
 +                      interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 +                                   <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
 +                      #dma-cells = <1>;
 +                      clocks = <&cru ACLK_DMAC1>;
 +                      clock-names = "apb_pclk";
 +              };
 +      };
 +
        xin24m: oscillator {
                compatible = "fixed-clock";
                clock-frequency = <24000000>;
                status = "disabled";
        };
  
+       sdio0: dwmmc@ff0d0000 {
+               compatible = "rockchip,rk3288-dw-mshc";
+               clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>;
+               clock-names = "biu", "ciu";
+               fifo-depth = <0x100>;
+               interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0xff0d0000 0x4000>;
+               status = "disabled";
+       };
+       sdio1: dwmmc@ff0e0000 {
+               compatible = "rockchip,rk3288-dw-mshc";
+               clocks = <&cru HCLK_SDIO1>, <&cru SCLK_SDIO1>;
+               clock-names = "biu", "ciu";
+               fifo-depth = <0x100>;
+               interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0xff0e0000 0x4000>;
+               status = "disabled";
+       };
        emmc: dwmmc@ff0f0000 {
                compatible = "rockchip,rk3288-dw-mshc";
                clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
                status = "disabled";
        };
  
+       spi0: spi@ff110000 {
+               compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
+               reg = <0xff110000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+       spi1: spi@ff120000 {
+               compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
+               reg = <0xff120000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+       spi2: spi@ff130000 {
+               compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
+               reg = <0xff130000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
        i2c1: i2c@ff140000 {
                compatible = "rockchip,rk3288-i2c";
                reg = <0xff140000 0x1000>;
  
        /* NOTE: ohci@ff520000 doesn't actually work on hardware */
  
+       usb_host1: usb@ff540000 {
+               compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
+                               "snps,dwc2";
+               reg = <0xff540000 0x40000>;
+               interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_USBHOST1>;
+               clock-names = "otg";
+               status = "disabled";
+       };
+       usb_otg: usb@ff580000 {
+               compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
+                               "snps,dwc2";
+               reg = <0xff580000 0x40000>;
+               interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_OTG0>;
+               clock-names = "otg";
+               status = "disabled";
+       };
        usb_hsic: usb@ff5c0000 {
                compatible = "generic-ehci";
                reg = <0xff5c0000 0x100>;
                        };
                };
  
+               sdio0 {
+                       sdio0_bus1: sdio0-bus1 {
+                               rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       sdio0_bus4: sdio0-bus4 {
+                               rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_up>,
+                                               <4 21 RK_FUNC_1 &pcfg_pull_up>,
+                                               <4 22 RK_FUNC_1 &pcfg_pull_up>,
+                                               <4 23 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       sdio0_cmd: sdio0-cmd {
+                               rockchip,pins = <4 24 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       sdio0_clk: sdio0-clk {
+                               rockchip,pins = <4 25 RK_FUNC_1 &pcfg_pull_none>;
+                       };
+                       sdio0_cd: sdio0-cd {
+                               rockchip,pins = <4 26 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       sdio0_wp: sdio0-wp {
+                               rockchip,pins = <4 27 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       sdio0_pwr: sdio0-pwr {
+                               rockchip,pins = <4 28 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       sdio0_bkpwr: sdio0-bkpwr {
+                               rockchip,pins = <4 29 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       sdio0_int: sdio0-int {
+                               rockchip,pins = <4 30 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+               };
+               sdio1 {
+                       sdio1_bus1: sdio1-bus1 {
+                               rockchip,pins = <3 24 4 &pcfg_pull_up>;
+                       };
+                       sdio1_bus4: sdio1-bus4 {
+                               rockchip,pins = <3 24 4 &pcfg_pull_up>,
+                                               <3 25 4 &pcfg_pull_up>,
+                                               <3 26 4 &pcfg_pull_up>,
+                                               <3 27 4 &pcfg_pull_up>;
+                       };
+                       sdio1_cd: sdio1-cd {
+                               rockchip,pins = <3 28 4 &pcfg_pull_up>;
+                       };
+                       sdio1_wp: sdio1-wp {
+                               rockchip,pins = <3 29 4 &pcfg_pull_up>;
+                       };
+                       sdio1_bkpwr: sdio1-bkpwr {
+                               rockchip,pins = <3 30 4 &pcfg_pull_up>;
+                       };
+                       sdio1_int: sdio1-int {
+                               rockchip,pins = <3 31 4 &pcfg_pull_up>;
+                       };
+                       sdio1_cmd: sdio1-cmd {
+                               rockchip,pins = <4 6 4 &pcfg_pull_up>;
+                       };
+                       sdio1_clk: sdio1-clk {
+                               rockchip,pins = <4 7 4 &pcfg_pull_none>;
+                       };
+                       sdio1_pwr: sdio1-pwr {
+                               rockchip,pins = <4 9 4 &pcfg_pull_up>;
+                       };
+               };
                emmc {
                        emmc_clk: emmc-clk {
                                rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none>;
                        };
                };
  
+               spi0 {
+                       spi0_clk: spi0-clk {
+                               rockchip,pins = <5 12 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi0_cs0: spi0-cs0 {
+                               rockchip,pins = <5 13 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi0_tx: spi0-tx {
+                               rockchip,pins = <5 14 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi0_rx: spi0-rx {
+                               rockchip,pins = <5 15 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi0_cs1: spi0-cs1 {
+                               rockchip,pins = <5 16 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+               };
+               spi1 {
+                       spi1_clk: spi1-clk {
+                               rockchip,pins = <7 12 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi1_cs0: spi1-cs0 {
+                               rockchip,pins = <7 13 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi1_rx: spi1-rx {
+                               rockchip,pins = <7 14 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi1_tx: spi1-tx {
+                               rockchip,pins = <7 15 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+               };
+               spi2 {
+                       spi2_cs1: spi2-cs1 {
+                               rockchip,pins = <8 3 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi2_clk: spi2-clk {
+                               rockchip,pins = <8 6 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi2_cs0: spi2-cs0 {
+                               rockchip,pins = <8 7 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi2_rx: spi2-rx {
+                               rockchip,pins = <8 8 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi2_tx: spi2-tx {
+                               rockchip,pins = <8 9 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+               };
                uart0 {
                        uart0_xfer: uart0-xfer {
                                rockchip,pins = <4 16 RK_FUNC_1 &pcfg_pull_up>,
index bdc92a42def890dbc2dadea3016ea83d84e30eda,9945bb9b6c149e620054740254ef8c8df59c5649..7332d12eb565a43822b5cfcaa9e4023c3fca7770
                i2c2 = &i2c2;
                i2c3 = &i2c3;
                i2c4 = &i2c4;
+               mshc0 = &emmc;
+               mshc1 = &mmc0;
+               mshc2 = &mmc1;
+               spi0 = &spi0;
+               spi1 = &spi1;
        };
  
 +      amba {
 +              compatible = "arm,amba-bus";
 +              #address-cells = <1>;
 +              #size-cells = <1>;
 +              ranges;
 +
 +              dmac1_s: dma-controller@20018000 {
 +                      compatible = "arm,pl330", "arm,primecell";
 +                      reg = <0x20018000 0x4000>;
 +                      interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 +                                   <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
 +                      #dma-cells = <1>;
 +                      clocks = <&cru ACLK_DMA1>;
 +                      clock-names = "apb_pclk";
 +              };
 +
 +              dmac1_ns: dma-controller@2001c000 {
 +                      compatible = "arm,pl330", "arm,primecell";
 +                      reg = <0x2001c000 0x4000>;
 +                      interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 +                                   <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
 +                      #dma-cells = <1>;
 +                      clocks = <&cru ACLK_DMA1>;
 +                      clock-names = "apb_pclk";
 +                      status = "disabled";
 +              };
 +
 +              dmac2: dma-controller@20078000 {
 +                      compatible = "arm,pl330", "arm,primecell";
 +                      reg = <0x20078000 0x4000>;
 +                      interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
 +                                   <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
 +                      #dma-cells = <1>;
 +                      clocks = <&cru ACLK_DMA2>;
 +                      clock-names = "apb_pclk";
 +              };
 +      };
 +
        xin24m: oscillator {
                compatible = "fixed-clock";
                clock-frequency = <24000000>;
                status = "disabled";
        };
  
+       usb_otg: usb@10180000 {
+               compatible = "rockchip,rk3066-usb", "snps,dwc2";
+               reg = <0x10180000 0x40000>;
+               interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_OTG0>;
+               clock-names = "otg";
+               status = "disabled";
+       };
+       usb_host: usb@101c0000 {
+               compatible = "snps,dwc2";
+               reg = <0x101c0000 0x40000>;
+               interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_OTG1>;
+               clock-names = "otg";
+               status = "disabled";
+       };
        mmc0: dwmmc@10214000 {
                compatible = "rockchip,rk2928-dw-mshc";
                reg = <0x10214000 0x1000>;
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
-               #address-cells = <1>;
-               #size-cells = <0>;
  
                clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
                clock-names = "biu", "ciu";
                compatible = "rockchip,rk2928-dw-mshc";
                reg = <0x10218000 0x1000>;
                interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
-               #address-cells = <1>;
-               #size-cells = <0>;
  
                clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>;
                clock-names = "biu", "ciu";
                status = "disabled";
        };
  
+       emmc: dwmmc@1021c000 {
+               compatible = "rockchip,rk2928-dw-mshc";
+               reg = <0x1021c000 0x1000>;
+               interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
+               clock-names = "biu", "ciu";
+               status = "disabled";
+       };
        pmu: pmu@20004000 {
                compatible = "rockchip,rk3066-pmu", "syscon";
                reg = <0x20004000 0x100>;
                #size-cells = <0>;
  
                rockchip,grf = <&grf>;
-               rockchip,bus-index = <0>;
  
                clock-names = "i2c";
                clocks = <&cru PCLK_I2C0>;
                clock-names = "saradc", "apb_pclk";
                status = "disabled";
        };
+       spi0: spi@20070000 {
+               compatible = "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0x20070000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+       spi1: spi@20074000 {
+               compatible = "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0x20074000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
  };