]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge tag 'samsung-dt-2' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene...
authorOlof Johansson <olof@lixom.net>
Thu, 29 May 2014 16:44:32 +0000 (09:44 -0700)
committerOlof Johansson <olof@lixom.net>
Thu, 29 May 2014 16:44:32 +0000 (09:44 -0700)
Merge "Samsung 2nd DT updates for v3.16" from Kukjin Kim:

exynos4
 - add hsotg device, exynos_usbphy nodes
 - add PMU syscon and audio subsystem nodes
 - replace number by macro in clock binding

exynos4210-universal_c210
 - add external sd card node and multimedia nodes
 - enable USB functionality

exynos4412-trats2
 - enable usb nodes and usb gagdet functionality
 - add cm36651 light/proximity sensor node
 - fixed gpio key node

exynos5250 and exynos5420
 - add pmu syscon handle and sysreg system controller nodes
 - add support for usb2phy
 - replace number by macro in clock binding
 - add USB 2.0 support on exynos5420

exynos5420-peach-pit
 - move dp hpd gpio pin to pinctrl_0

* tag 'samsung-dt-2' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (21 commits)
  ARM: dts: enable usb nodes for exynos4412-trats2
  ARM: dts: add hsotg device node for exynos4
  ARM: dts: add exynos_usbphy node for exynos4
  ARM: dts: add PMU syscon node for exynos4
  ARM: dts: add pmu syscon handle to exynos5420 hdmi
  ARM: dts: add pmu syscon handle to exynos5250 hdmi
  ARM: dts: replace number by macro in clock binding for exynos5420
  ARM: dts: replace number by macro in clock binding for exynos5250
  ARM: dts: replace number by macro in clock binding for exynos4
  ARM: dts: add external sd card node for exynos4210-universal_c210
  ARM: dts: add multimedia nodes for exynos4210-universal_c210
  ARM: dts: enable USB functionality for exynos4210-universal_c210
  ARM: dts: Enable USB gadget functionality for exynos4210-trats
  ARM: dts: Add audio subsystem nodes to exynos4.dtsi
  ARM: dts: fixed gpio key node for exynos4412-trats2
  ARM: dts: add cm36651 light/proximity sensor node for exynos4412-trats2
  ARM: dts: Add USB 2.0 support on exynos5420
  ARM: dts: Add usb2phy support on exynos5420
  ARM: dts: Add usb2phy to exynos5250
  ARM: dts: Add sysreg sytem controller node to exynos5250 and exynos5420
  ...

Documentation/devicetree/bindings/arm/samsung/pmu.txt
Documentation/devicetree/bindings/arm/samsung/sysreg.txt
arch/arm/boot/dts/exynos4.dtsi
arch/arm/boot/dts/exynos4210-trats.dts
arch/arm/boot/dts/exynos4210-universal_c210.dts
arch/arm/boot/dts/exynos4412-trats2.dts
arch/arm/boot/dts/exynos4412.dtsi
arch/arm/boot/dts/exynos4x12.dtsi
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5420-peach-pit.dts
arch/arm/boot/dts/exynos5420.dtsi

index f1f155255f28fe4e9c6442f2da547b5fbff29d20..b562634db746bdfafb85f77e229cc0c46b3f8e42 100644 (file)
@@ -2,6 +2,9 @@ SAMSUNG Exynos SoC series PMU Registers
 
 Properties:
  - compatible : should contain two values. First value must be one from following list:
+                  - "samsung,exynos4210-pmu" - for Exynos4210 SoC,
+                  - "samsung,exynos4212-pmu" - for Exynos4212 SoC,
+                  - "samsung,exynos4412-pmu" - for Exynos4412 SoC,
                   - "samsung,exynos5250-pmu" - for Exynos5250 SoC,
                   - "samsung,exynos5420-pmu" - for Exynos5420 SoC.
                second value must be always "syscon".
index 0ab3251a6ec23e6853002d3a55172dac6d8c281d..4fced6e9d5e42d18a7d7f97ec78a6c5eed4b4e98 100644 (file)
@@ -1,8 +1,10 @@
 SAMSUNG S5P/Exynos SoC series System Registers (SYSREG)
 
 Properties:
- - compatible : should contain "samsung,<chip name>-sysreg", "syscon";
-   For Exynos4 SoC series it should be "samsung,exynos4-sysreg", "syscon";
+ - compatible : should contain two values. First value must be one from following list:
+               - "samsung,exynos4-sysreg" - for Exynos4 based SoCs,
+               - "samsung,exynos5-sysreg" - for Exynos5 based SoCs.
+               second value must be always "syscon".
  - reg : offset and length of the register set.
 
 Example:
@@ -10,3 +12,8 @@ Example:
                compatible = "samsung,exynos4-sysreg", "syscon";
                reg = <0x10010000 0x400>;
        };
+
+       syscon@10050000 {
+               compatible = "samsung,exynos5-sysreg", "syscon";
+               reg = <0x10050000 0x5000>;
+       };
index 58ff8e28c74f3c01564cb6cf344a76e45f99a1b4..b8ece4be41ca69d3cacdf797c1de6233f8ddbaa8 100644 (file)
@@ -20,6 +20,7 @@
  */
 
 #include <dt-bindings/clock/exynos4.h>
+#include <dt-bindings/clock/exynos-audss-clk.h>
 #include "skeleton.dtsi"
 
 / {
                fimc3 = &fimc_3;
        };
 
+       clock_audss: clock-controller@03810000 {
+               compatible = "samsung,exynos4210-audss-clock";
+               reg = <0x03810000 0x0C>;
+               #clock-cells = <1>;
+       };
+
+       i2s0: i2s@03830000 {
+               compatible = "samsung,s5pv210-i2s";
+               reg = <0x03830000 0x100>;
+               clocks = <&clock_audss EXYNOS_I2S_BUS>;
+               clock-names = "iis";
+               dmas = <&pdma0 12>, <&pdma0 11>, <&pdma0 10>;
+               dma-names = "tx", "rx", "tx-sec";
+               samsung,idma-addr = <0x03000000>;
+               status = "disabled";
+       };
+
        chipid@10000000 {
                compatible = "samsung,exynos4210-chipid";
                reg = <0x10000000 0x100>;
                reg = <0x10010000 0x400>;
        };
 
+       pmu_system_controller: system-controller@10020000 {
+               compatible = "samsung,exynos4210-pmu", "syscon";
+               reg = <0x10020000 0x4000>;
+       };
+
        dsi_0: dsi@11C80000 {
                compatible = "samsung,exynos4210-mipi-dsi";
                reg = <0x11C80000 0x10000>;
                samsung,power-domain = <&pd_lcd0>;
                phys = <&mipi_phy 1>;
                phy-names = "dsim";
-               clocks = <&clock 286>, <&clock 143>;
+               clocks = <&clock CLK_DSIM0>, <&clock CLK_SCLK_MIPI0>;
                clock-names = "bus_clk", "pll_clk";
                status = "disabled";
                #address-cells = <1>;
                status = "disabled";
        };
 
+       exynos_usbphy: exynos-usbphy@125B0000 {
+               compatible = "samsung,exynos4210-usb2-phy";
+               reg = <0x125B0000 0x100>;
+               samsung,pmureg-phandle = <&pmu_system_controller>;
+               clocks = <&clock CLK_USB_DEVICE>, <&clock CLK_XUSBXTI>;
+               clock-names = "phy", "ref";
+               #phy-cells = <1>;
+               status = "disabled";
+       };
+
+       hsotg@12480000 {
+               compatible = "samsung,s3c6400-hsotg";
+               reg = <0x12480000 0x20000>;
+               interrupts = <0 71 0>;
+               clocks = <&clock CLK_USB_DEVICE>;
+               clock-names = "otg";
+               phys = <&exynos_usbphy 0>;
+               phy-names = "usb2-phy";
+               status = "disabled";
+       };
+
        ehci@12580000 {
                compatible = "samsung,exynos4210-ehci";
                reg = <0x12580000 0x100>;
                status = "disabled";
        };
 
+       i2s1: i2s@13960000 {
+               compatible = "samsung,s5pv210-i2s";
+               reg = <0x13960000 0x100>;
+               clocks = <&clock CLK_I2S1>;
+               clock-names = "iis";
+               dmas = <&pdma1 12>, <&pdma1 11>;
+               dma-names = "tx", "rx";
+               status = "disabled";
+       };
+
+       i2s2: i2s@13970000 {
+               compatible = "samsung,s5pv210-i2s";
+               reg = <0x13970000 0x100>;
+               clocks = <&clock CLK_I2S2>;
+               clock-names = "iis";
+               dmas = <&pdma0 14>, <&pdma0 13>;
+               dma-names = "tx", "rx";
+               status = "disabled";
+       };
+
        mfc: codec@13400000 {
                compatible = "samsung,mfc-v5";
                reg = <0x13400000 0x10000>;
index 63aa2bb24a4bc3de1e37131eae21a30e1fc0f097..f516da9e8b3ae0b9de8a53857be04f89cbdfa4fa 100644 (file)
                };
        };
 
+       hsotg@12480000 {
+               vusb_d-supply = <&vusb_reg>;
+               vusb_a-supply = <&vusbdac_reg>;
+               status = "okay";
+       };
+
        sdhci_emmc: sdhci@12510000 {
                bus-width = <8>;
                non-removable;
                status = "okay";
        };
 
+       exynos-usbphy@125B0000 {
+               status = "okay";
+       };
+
        serial@13800000 {
                status = "okay";
        };
index 9296dee10e264035e774c6a21b0a5d782eb4c52b..d50eb3aa708e9a5709f94c5c7491e8d85d1d2387 100644 (file)
                enable-active-high;
        };
 
+       hsotg@12480000 {
+               vusb_d-supply = <&ldo3_reg>;
+               vusb_a-supply = <&ldo8_reg>;
+               status = "okay";
+       };
+
        sdhci_emmc: sdhci@12510000 {
                bus-width = <8>;
                non-removable;
                status = "okay";
        };
 
+       sdhci_sd: sdhci@12530000 {
+               bus-width = <4>;
+               pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
+               pinctrl-names = "default";
+               vmmc-supply = <&ldo5_reg>;
+               cd-gpios = <&gpx3 4 0>;
+               cd-inverted;
+               status = "okay";
+       };
+
+       ehci@12580000 {
+               status = "okay";
+               port@0 {
+                       status = "okay";
+               };
+       };
+
+       ohci@12590000 {
+               status = "okay";
+               port@0 {
+                       status = "okay";
+               };
+       };
+
+       exynos-usbphy@125B0000 {
+               status = "okay";
+       };
+
        serial@13800000 {
                status = "okay";
        };
                                        regulator-name = "VUSB+MIPI_1.1V";
                                        regulator-min-microvolt = <1100000>;
                                        regulator-max-microvolt = <1100000>;
+                                       regulator-always-on;
                                };
 
                                ldo4_reg: LDO4 {
                                        regulator-name = "VUSB+VDAC_3.3V";
                                        regulator-min-microvolt = <3300000>;
                                        regulator-max-microvolt = <3300000>;
+                                       regulator-always-on;
                                };
 
                                ldo9_reg: LDO9 {
                compatible = "samsung,s5p6440-pwm";
                status = "okay";
        };
+
+       camera {
+               status = "okay";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <>;
+
+               fimc_0: fimc@11800000 {
+                       status = "okay";
+               };
+
+               fimc_1: fimc@11810000 {
+                       status = "okay";
+               };
+
+               fimc_2: fimc@11820000 {
+                       status = "okay";
+               };
+
+               fimc_3: fimc@11830000 {
+                       status = "okay";
+               };
+       };
 };
 
 &mdma1 {
index f621fd976815cfcd93bd0d636a16ba34c1e1a0de..106a7057bcaf9199368c20f1e9b6a0df8b609f3c 100644 (file)
@@ -21,6 +21,7 @@
 
        aliases {
                i2c9 = &i2c_ak8975;
+               i2c10 = &i2c_cm36651;
        };
 
        memory {
                        enable-active-high;
                        regulator-always-on;
                };
+
+               ps_als_reg: voltage-regulator-5 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "LED_A_3.0V";
+                       regulator-min-microvolt = <3000000>;
+                       regulator-max-microvolt = <3000000>;
+                       gpio = <&gpj0 5 0>;
+                       enable-active-high;
+               };
        };
 
        gpio-keys {
                compatible = "gpio-keys";
 
                key-down {
-                       interrupt-parent = <&gpj1>;
-                       interrupts = <2 0>;
-                       gpios = <&gpj1 2 1>;
+                       gpios = <&gpx3 3 1>;
                        linux,code = <114>;
                        label = "volume down";
                        debounce-interval = <10>;
                };
 
                key-up {
-                       interrupt-parent = <&gpj1>;
-                       interrupts = <1 0>;
-                       gpios = <&gpj1 1 1>;
+                       gpios = <&gpx2 2 1>;
                        linux,code = <115>;
                        label = "volume up";
                        debounce-interval = <10>;
                };
 
                key-power {
-                       interrupt-parent = <&gpx2>;
-                       interrupts = <7 0>;
                        gpios = <&gpx2 7 1>;
                        linux,code = <116>;
                        label = "power";
                        debounce-interval = <10>;
                        gpio-key,wakeup;
                };
+
+               key-ok {
+                       gpios = <&gpx0 1 1>;
+                       linux,code = <139>;
+                       label = "ok";
+                       debounce-inteval = <10>;
+                       gpio-key,wakeup;
+               };
        };
 
        adc: adc@126C0000 {
                };
        };
 
+       i2c_cm36651: i2c-gpio-2 {
+               compatible = "i2c-gpio";
+               gpios = <&gpf0 0 1>, <&gpf0 1 1>;
+               i2c-gpio,delay-us = <2>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cm36651@18 {
+                       compatible = "capella,cm36651";
+                       reg = <0x18>;
+                       interrupt-parent = <&gpx0>;
+                       interrupts = <2 2>;
+                       vled-supply = <&ps_als_reg>;
+               };
+       };
+
        spi_1: spi@13930000 {
                pinctrl-names = "default";
                pinctrl-0 = <&spi1_bus>;
                };
        };
 
+       exynos-usbphy@125B0000 {
+               status = "okay";
+       };
+
+       hsotg@12480000 {
+               vusb_d-supply = <&ldo15_reg>;
+               vusb_a-supply = <&ldo12_reg>;
+               status = "okay";
+       };
+
        thermistor-ap@0 {
                compatible = "ntc,ncp15wb473";
                pullup-uv = <1800000>;   /* VCC_1.8V_AP */
index 15d3c0ac2f5f77d337f4f4c0f1424d9e56e5a350..c42a3e196cd5db7fdac7dd843e15c1f884b0e0ce 100644 (file)
@@ -29,4 +29,8 @@
        gic: interrupt-controller@10490000 {
                cpu-offset = <0x4000>;
        };
+
+       pmu_system_controller: system-controller@10020000 {
+               compatible = "samsung,exynos4412-pmu", "syscon";
+       };
 };
index 70e3765b51eee263bd921f35c57dafcb1936ca9f..c5a943df1cd73a5c0c68607537135769b8375240 100644 (file)
                interrupts = <0 72 0>;
        };
 
+       pmu_system_controller: system-controller@10020000 {
+               compatible = "samsung,exynos4212-pmu", "syscon";
+       };
+
        g2d@10800000 {
                compatible = "samsung,exynos4212-g2d";
                reg = <0x10800000 0x1000>;
                clock-names = "biu", "ciu";
                status = "disabled";
        };
+
+       exynos-usbphy@125B0000 {
+               compatible = "samsung,exynos4x12-usb2-phy";
+               samsung,sysreg-phandle = <&sys_reg>;
+       };
 };
index 68a3e6f254d9f332aece88d12d4c752f5a60ed21..834fb5a5306f297ffde587ef58248d61c9d60f08 100644 (file)
                reg = <0x10040000 0x5000>;
        };
 
+       sysreg_system_controller: syscon@10050000 {
+               compatible = "samsung,exynos5-sysreg", "syscon";
+               reg = <0x10050000 0x5000>;
+       };
+
        watchdog@101D0000 {
                compatible = "samsung,exynos5250-wdt";
                reg = <0x101D0000 0x100>;
        sata_phy: sata-phy@12170000 {
                compatible = "samsung,exynos5250-sata-phy";
                reg = <0x12170000 0x1ff>;
-               clocks = <&clock 287>;
+               clocks = <&clock CLK_SATA_PHYCTRL>;
                clock-names = "sata_phyctrl";
                #phy-cells = <0>;
                samsung,syscon-phandle = <&pmu_system_controller>;
 
                clocks = <&clock CLK_USB2>;
                clock-names = "usbhost";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               port@0 {
+                       reg = <0>;
+                       phys = <&usb2_phy_gen 1>;
+               };
        };
 
        usb@12120000 {
 
                clocks = <&clock CLK_USB2>;
                clock-names = "usbhost";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               port@0 {
+                       reg = <0>;
+                       phys = <&usb2_phy_gen 1>;
+               };
        };
 
        usb2_phy: usbphy@12130000 {
                };
        };
 
+       usb2_phy_gen: phy@12130000 {
+               compatible = "samsung,exynos5250-usb2-phy";
+               reg = <0x12130000 0x100>;
+               clocks = <&clock CLK_USB2>, <&clock CLK_FIN_PLL>;
+               clock-names = "phy", "ref";
+               #phy-cells = <1>;
+               samsung,sysreg-phandle = <&sysreg_system_controller>;
+               samsung,pmureg-phandle = <&pmu_system_controller>;
+       };
+
        pwm: pwm@12dd0000 {
                compatible = "samsung,exynos4210-pwm";
                reg = <0x12dd0000 0x100>;
                         <&clock CLK_MOUT_HDMI>;
                clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
                                "sclk_hdmiphy", "mout_hdmi";
+               samsung,syscon-phandle = <&pmu_system_controller>;
        };
 
        mixer {
                compatible = "samsung,exynos4210-secss";
                reg = <0x10830000 0x10000>;
                interrupts = <0 112 0>;
-               clocks = <&clock 348>;
+               clocks = <&clock CLK_SSS>;
                clock-names = "secss";
        };
 };
index d4127b0ba83f3c4c6fa2497be3539e441ebf9f07..29f64de95ebf9e682ef0df3bf51ea3ae8bbdbc89 100644 (file)
                samsung,pin-pud = <1>;
                samsung,pin-drv = <0>;
        };
+
+       dp_hpd_gpio: dp_hpd_gpio {
+               samsung,pins = "gpx2-6";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
 };
 
 &pinctrl_3 {
                samsung,pin-pud = <0>;
                samsung,pin-drv = <0>;
        };
-
-       dp_hpd_gpio: dp_hpd_gpio {
-               samsung,pins = "gpx2-6";
-               samsung,pin-function = <0>;
-               samsung,pin-pud = <3>;
-               samsung,pin-drv = <0>;
-       };
 };
 
 &rtc {
index 9b6414a9e8a1448b70896cb7b004819cfe240603..3a89cfbd6a87e881291b7935597a12947477d467 100644 (file)
                clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
                        "sclk_hdmiphy", "mout_hdmi";
                phy = <&hdmiphy>;
+               samsung,syscon-phandle = <&pmu_system_controller>;
                status = "disabled";
        };
 
                reg = <0x10040000 0x5000>;
        };
 
+       sysreg_system_controller: syscon@10050000 {
+               compatible = "samsung,exynos5-sysreg", "syscon";
+               reg = <0x10050000 0x5000>;
+       };
+
        tmu_cpu0: tmu@10060000 {
                compatible = "samsung,exynos5420-tmu";
                reg = <0x10060000 0x100>;
                compatible = "samsung,exynos4210-secss";
                reg = <0x10830000 0x10000>;
                interrupts = <0 112 0>;
-               clocks = <&clock 471>;
+               clocks = <&clock CLK_SSS>;
                clock-names = "secss";
        };
 
                samsung,pmu-syscon = <&pmu_system_controller>;
                #phy-cells = <1>;
        };
+
+       usbhost2: usb@12110000 {
+               compatible = "samsung,exynos4210-ehci";
+               reg = <0x12110000 0x100>;
+               interrupts = <0 71 0>;
+
+               clocks = <&clock CLK_USBH20>;
+               clock-names = "usbhost";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               port@0 {
+                       reg = <0>;
+                       phys = <&usb2_phy 1>;
+               };
+       };
+
+       usbhost1: usb@12120000 {
+               compatible = "samsung,exynos4210-ohci";
+               reg = <0x12120000 0x100>;
+               interrupts = <0 71 0>;
+
+               clocks = <&clock CLK_USBH20>;
+               clock-names = "usbhost";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               port@0 {
+                       reg = <0>;
+                       phys = <&usb2_phy 1>;
+               };
+       };
+
+       usb2_phy: phy@12130000 {
+               compatible = "samsung,exynos5250-usb2-phy";
+               reg = <0x12130000 0x100>;
+               clocks = <&clock CLK_USBH20>, <&clock CLK_SCLK_USBPHY300>;
+               clock-names = "phy", "ref";
+               #phy-cells = <1>;
+               samsung,sysreg-phandle = <&sysreg_system_controller>;
+               samsung,pmureg-phandle = <&pmu_system_controller>;
+       };
 };