ARM: dts: Add Odroid-XU4 support 22/46722/1
authorJoonyoung Shim <jy0922.shim@samsung.com>
Tue, 25 Aug 2015 09:08:29 +0000 (18:08 +0900)
committerJoonyoung Shim <jy0922.shim@samsung.com>
Tue, 25 Aug 2015 09:08:29 +0000 (18:08 +0900)
The Odroid-XU4 is almost the same as XU3, except usb otg, DP, audio
codec and power monitoring sensors. This patch makes common dtsi file
and dts file for XU4.

We will add more features on dts for XU4 later.

Change-Id: I6536b9cfa4a4441e392bfe17011968be64c97b3e
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi [new file with mode: 0644]
arch/arm/boot/dts/exynos5422-odroidxu3.dts
arch/arm/boot/dts/exynos5422-odroidxu4.dts [new file with mode: 0644]

index a1c776b8dcec51554879d1e001f7f96bd653efd8..649e0d87108741d29055a866d23b049a44bd9db5 100644 (file)
@@ -108,6 +108,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
        exynos5420-peach-pit.dtb \
        exynos5420-smdk5420.dtb \
        exynos5422-odroidxu3.dtb \
+       exynos5422-odroidxu4.dtb \
        exynos5440-sd5v1.dtb \
        exynos5440-ssdk5440.dtb \
        exynos5800-peach-pi.dtb
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
new file mode 100644 (file)
index 0000000..528f3b5
--- /dev/null
@@ -0,0 +1,555 @@
+/*
+ * Hardkernel Odroid XU3 board device tree source
+ *
+ * Copyright (c) 2014 Collabora Ltd.
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#include <dt-bindings/clock/samsung,s2mps11.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/sound/samsung-i2s.h>
+#include "exynos5800.dtsi"
+
+/ {
+       model = "Hardkernel Odroid XU3";
+       compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5";
+
+       memory {
+               reg = <0x40000000 0x7EA00000>;
+       };
+
+       chosen {
+               bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p2 rootwait";
+               linux,stdout-path = &serial_2;
+       };
+
+       fimd@14400000 {
+               status = "okay";
+       };
+
+       firmware@02073000 {
+               compatible = "samsung,secure-firmware";
+               reg = <0x02073000 0x1000>;
+       };
+
+       fixed-rate-clocks {
+               oscclk {
+                       compatible = "samsung,exynos5420-oscclk";
+                       clock-frequency = <24000000>;
+               };
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <100>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&key_pullnone>;
+
+               button@1 {
+                       label = "gpio-keys: KEY_POWER";
+                       interrupts = <3 0 0>;
+                       interrupt-parent = <&gpx0>;
+                       linux,code = <116>;
+                       gpios = <&gpx0 3 0xf>;
+                       gpio-key,wakeup = <1>;
+               };
+       };
+
+       hsi2c_4: i2c@12CA0000 {
+               status = "okay";
+
+               s2mps11_pmic@66 {
+                       compatible = "samsung,s2mps11-pmic";
+                       reg = <0x66>;
+                       s2mps11,buck2-ramp-delay = <12>;
+                       s2mps11,buck34-ramp-delay = <12>;
+                       s2mps11,buck16-ramp-delay = <12>;
+                       s2mps11,buck6-ramp-enable = <1>;
+                       s2mps11,buck2-ramp-enable = <1>;
+                       s2mps11,buck3-ramp-enable = <1>;
+                       s2mps11,buck4-ramp-enable = <1>;
+
+                       interrupt-parent = <&gpx0>;
+                       interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&s2mps11_irq>;
+
+                       s2mps11_osc: clocks {
+                               #clock-cells = <1>;
+                               clock-output-names = "s2mps11_ap",
+                                               "s2mps11_cp", "s2mps11_bt";
+                       };
+
+                       regulators {
+                               ldo1_reg: LDO1 {
+                                       regulator-name = "vdd_ldo1";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo3_reg: LDO3 {
+                                       regulator-name = "vdd_ldo3";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo5_reg: LDO5 {
+                                       regulator-name = "vdd_ldo5";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo6_reg: LDO6 {
+                                       regulator-name = "vdd_ldo6";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo7_reg: LDO7 {
+                                       regulator-name = "vdd_ldo7";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo8_reg: LDO8 {
+                                       regulator-name = "vdd_ldo8";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo9_reg: LDO9 {
+                                       regulator-name = "vdd_ldo9";
+                                       regulator-min-microvolt = <3000000>;
+                                       regulator-max-microvolt = <3000000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo10_reg: LDO10 {
+                                       regulator-name = "vdd_ldo10";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo11_reg: LDO11 {
+                                       regulator-name = "vdd_ldo11";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo12_reg: LDO12 {
+                                       regulator-name = "vdd_ldo12";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo13_reg: LDO13 {
+                                       regulator-name = "vdd_ldo13";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo15_reg: LDO15 {
+                                       regulator-name = "vdd_ldo15";
+                                       regulator-min-microvolt = <3100000>;
+                                       regulator-max-microvolt = <3100000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo16_reg: LDO16 {
+                                       regulator-name = "vdd_ldo16";
+                                       regulator-min-microvolt = <2200000>;
+                                       regulator-max-microvolt = <2200000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo17_reg: LDO17 {
+                                       regulator-name = "tsp_avdd";
+                                       regulator-min-microvolt = <3300000>;
+                                       regulator-max-microvolt = <3300000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo19_reg: LDO19 {
+                                       regulator-name = "vdd_sd";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo24_reg: LDO24 {
+                                       regulator-name = "tsp_io";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                                       regulator-always-on;
+                               };
+
+                               ldo26_reg: LDO26 {
+                                       regulator-name = "vdd_ldo26";
+                                       regulator-min-microvolt = <3000000>;
+                                       regulator-max-microvolt = <3000000>;
+                                       regulator-always-on;
+                               };
+
+                               buck1_reg: BUCK1 {
+                                       regulator-name = "vdd_mif";
+                                       regulator-min-microvolt = <800000>;
+                                       regulator-max-microvolt = <1300000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               buck2_reg: BUCK2 {
+                                       regulator-name = "vdd_arm";
+                                       regulator-min-microvolt = <800000>;
+                                       regulator-max-microvolt = <1500000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               buck3_reg: BUCK3 {
+                                       regulator-name = "vdd_int";
+                                       regulator-min-microvolt = <800000>;
+                                       regulator-max-microvolt = <1400000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               buck4_reg: BUCK4 {
+                                       regulator-name = "vdd_g3d";
+                                       regulator-min-microvolt = <800000>;
+                                       regulator-max-microvolt = <1400000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               buck5_reg: BUCK5 {
+                                       regulator-name = "vdd_mem";
+                                       regulator-min-microvolt = <800000>;
+                                       regulator-max-microvolt = <1400000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               buck6_reg: BUCK6 {
+                                       regulator-name = "vdd_kfc";
+                                       regulator-min-microvolt = <800000>;
+                                       regulator-max-microvolt = <1500000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               buck7_reg: BUCK7 {
+                                       regulator-name = "vdd_1.0v_ldo";
+                                       regulator-min-microvolt = <800000>;
+                                       regulator-max-microvolt = <1500000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               buck8_reg: BUCK8 {
+                                       regulator-name = "vdd_1.8v_ldo";
+                                       regulator-min-microvolt = <800000>;
+                                       regulator-max-microvolt = <1500000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               buck9_reg: BUCK9 {
+                                       regulator-name = "vdd_2.8v_ldo";
+                                       regulator-min-microvolt = <3000000>;
+                                       regulator-max-microvolt = <3750000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               buck10_reg: BUCK10 {
+                                       regulator-name = "vdd_vmem";
+                                       regulator-min-microvolt = <2850000>;
+                                       regulator-max-microvolt = <2850000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+                       };
+               };
+       };
+
+       emmc_pwrseq: pwrseq {
+               pinctrl-0 = <&emmc_nrst_pin>;
+               pinctrl-names = "default";
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&gpd1 0 1>;
+       };
+
+       i2c_2: i2c@12C80000 {
+               samsung,i2c-sda-delay = <100>;
+               samsung,i2c-max-bus-freq = <66000>;
+               status = "okay";
+
+               hdmiddc@50 {
+                       compatible = "samsung,exynos4210-hdmiddc";
+                       reg = <0x50>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               blue-led {
+                       label = "blue:heartbeart";
+                       gpios = <&gpb2 2 0>;
+                       default-state = "off";
+                       linux,default-trigger = "heartbeat";
+               };
+
+               gree-led {
+                       label = "green:activity";
+                       gpios = <&gpb2 1 0>;
+                       default-state = "off";
+                       linux,default-trigger = "mmc0";
+               };
+
+               red-led {
+                       label = "red:activity";
+                       gpios = <&gpx2 3 0>;
+                       default-state = "off";
+                       linux,default-trigger = "mmc1";
+               };
+       };
+
+       pwm-fan {
+               compatible = "pwm-fan";
+               status = "okay";
+               pwms = <&pwm 0 10000 0>;
+       };
+
+       sound: sound {
+               compatible = "simple-audio-card";
+               assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
+                               <&clock_audss EXYNOS_MOUT_I2S>,
+                               <&clock_audss EXYNOS_DOUT_AUD_BUS>;
+               assigned-clock-parents = <&clock CLK_FIN_PLL>,
+                               <&clock_audss EXYNOS_MOUT_AUDSS>;
+               assigned-clock-rates = <0>,
+                               <0>,
+                               <19200000>;
+
+               simple-audio-card,name = "Odroid-XU3";
+
+               simple-audio-card,widgets =
+                       "Headphone", "Headphone Jack",
+                       "Speakers", "Speakers";
+               simple-audio-card,routing =
+                       "Headphone Jack", "HPL",
+                       "Headphone Jack", "HPR",
+                       "Headphone Jack", "MICBIAS",
+                       "IN1", "Headphone Jack",
+                       "Speakers", "SPKL",
+                       "Speakers", "SPKR";
+
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&link0_codec>;
+               simple-audio-card,frame-master = <&link0_codec>;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&i2s0 0>;
+                       system-clock-frequency = <19200000>;
+               };
+
+               link0_codec: simple-audio-card,codec {
+                       sound-dai = <&max98090>;
+                       clocks = <&i2s0 CLK_I2S_CDCLK>;
+               };
+       };
+
+       usb_extcon_a: odroid-usbotg-a {
+               compatible = "extcon-odroid-usbotg";
+               pinctrl-names = "default";
+               pinctrl-0 = <&otg_ida &vbus_deta>;
+               otg-id-gpio = <&gpx1 1 0>;
+               vbus-det-gpio = <&gpx3 4 0>;
+       };
+
+       usb_extcon_b: odroid-usbotg-b {
+               compatible = "extcon-odroid-usbotg";
+               pinctrl-0 = <&vbus_detb>;
+               vbus-det-gpio = <&gpx3 5 0>;
+       };
+};
+
+&hsi2c_5 {
+       status = "okay";
+       max98090: max98090@10 {
+               compatible = "maxim,max98090";
+               reg = <0x10>;
+               interrupt-parent = <&gpx3>;
+               interrupts = <2 0>;
+               clocks = <&i2s0 CLK_I2S_CDCLK>;
+               clock-names = "mclk";
+               #sound-dai-cells = <0>;
+       };
+};
+
+&i2s0 {
+       status = "okay";
+};
+
+&gsc_0 {
+       samsung,lcd-wb;
+};
+
+&gsc_1 {
+       samsung,lcd-wb;
+};
+
+&hdmi {
+       status = "okay";
+       hpd-gpio = <&gpx3 7 0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdmi_hpd_irq>;
+
+       vdd_osc-supply = <&ldo7_reg>;
+       vdd_pll-supply = <&ldo6_reg>;
+       vdd-supply = <&ldo6_reg>;
+};
+
+&mfc {
+       samsung,mfc-r = <0x43000000 0x800000>;
+       samsung,mfc-l = <0x51000000 0x800000>;
+};
+
+&mmc_0 {
+       status = "okay";
+       mmc-pwrseq = <&emmc_pwrseq>;
+       broken-cd;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <0 4>;
+       samsung,dw-mshc-ddr-timing = <0 2>;
+       samsung,dw-mshc-hs400-timing = <0 2>;
+       samsung,read-strobe-delay = <90>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
+       bus-width = <8>;
+       cap-mmc-highspeed;
+       mmc-hs200-1_8v;
+       mmc-hs400-1_8v;
+};
+
+&mmc_2 {
+       status = "okay";
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <0 4>;
+       samsung,dw-mshc-ddr-timing = <0 2>;
+       pinctrl-names = "default";
+       cd-gpios = <&gpc2 2 0>;
+       cd-inverted;
+       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>;
+       bus-width = <4>;
+       cap-sd-highspeed;
+};
+
+&pinctrl_0 {
+       hdmi_hpd_irq: hdmi-hpd-irq {
+               samsung,pins = "gpx3-7";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <1>;
+               samsung,pin-drv = <0>;
+       };
+
+       s2mps11_irq: s2mps11-irq {
+               samsung,pins = "gpx0-4";
+               samsung,pin-function = <0xf>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&pinctrl_1 {
+       emmc_nrst_pin: emmc-nrst {
+               samsung,pins = "gpd1-0";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&mali {
+       status = "okay";
+       vdd_g3d-supply = <&buck4_reg>;
+};
+
+&usbdrd3_0 {
+       extcon = <&usb_extcon_b>;
+};
+
+&usbdrd3_1 {
+       extcon = <&usb_extcon_a>;
+};
+
+&usbdrd_dwc3_0 {
+       dr_mode = "host";
+};
+
+&usbdrd_dwc3_1 {
+       dr_mode = "otg";
+};
+
+&cpu0 {
+       cpu-cluster.0-supply = <&buck2_reg>;
+};
+
+&cpu4 {
+       cpu-cluster.1-supply = <&buck6_reg>;
+};
+
+&pwm {
+       status = "okay";
+       pinctrl-0 = <&pwm0_out>;
+       pinctrl-names = "default";
+};
+
+&pinctrl_0 {
+       key_pullnone: key-pullnone {
+               samsung,pins = "gpx0-3";
+               samsung,pin-pud = <0>;
+       };
+
+       otg_ida: otg-ida {
+               samsung,pins = "gpx1-1";
+               samsung,pin-pud = <0>;
+       };
+
+       vbus_deta: vbus-deta {
+               samsung,pins = "gpx3-4";
+               samsung,pin-pud = <0>;
+       };
+
+       vbus_detb: vbus-detb {
+               samsung,pins = "gpx3-5";
+               samsung,pin-pud = <0>;
+       };
+};
+
+&rtc {
+       status = "okay";
+       clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
+       clock-names = "rtc", "rtc_src";
+};
index 6b8f9cc8afd2369cb6a5efe91a9dd0ed44d57c2e..78e6a502f320b527f315bfceaebfaed22c111789 100644 (file)
 */
 
 /dts-v1/;
-#include <dt-bindings/clock/samsung,s2mps11.h>
-#include <dt-bindings/interrupt-controller/irq.h>
-#include <dt-bindings/sound/samsung-i2s.h>
-#include "exynos5800.dtsi"
+#include "exynos5422-odroidxu3-common.dtsi"
 
 / {
        model = "Hardkernel Odroid XU3";
        compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5";
-
-       memory {
-               reg = <0x40000000 0x7EA00000>;
-       };
-
-       chosen {
-               bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p2 rootwait";
-               linux,stdout-path = &serial_2;
-       };
-
-       fimd@14400000 {
-               status = "okay";
-       };
-
-       firmware@02073000 {
-               compatible = "samsung,secure-firmware";
-               reg = <0x02073000 0x1000>;
-       };
-
-       fixed-rate-clocks {
-               oscclk {
-                       compatible = "samsung,exynos5420-oscclk";
-                       clock-frequency = <24000000>;
-               };
-       };
-
-       gpio_keys {
-               compatible = "gpio-keys";
-               #address-cells = <1>;
-               #size-cells = <0>;
-               poll-interval = <100>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&key_pullnone>;
-
-               button@1 {
-                       label = "gpio-keys: KEY_POWER";
-                       interrupts = <3 0 0>;
-                       interrupt-parent = <&gpx0>;
-                       linux,code = <116>;
-                       gpios = <&gpx0 3 0xf>;
-                       gpio-key,wakeup = <1>;
-               };
-       };
-
-       hsi2c_4: i2c@12CA0000 {
-               status = "okay";
-
-               s2mps11_pmic@66 {
-                       compatible = "samsung,s2mps11-pmic";
-                       reg = <0x66>;
-                       s2mps11,buck2-ramp-delay = <12>;
-                       s2mps11,buck34-ramp-delay = <12>;
-                       s2mps11,buck16-ramp-delay = <12>;
-                       s2mps11,buck6-ramp-enable = <1>;
-                       s2mps11,buck2-ramp-enable = <1>;
-                       s2mps11,buck3-ramp-enable = <1>;
-                       s2mps11,buck4-ramp-enable = <1>;
-
-                       interrupt-parent = <&gpx0>;
-                       interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&s2mps11_irq>;
-
-                       s2mps11_osc: clocks {
-                               #clock-cells = <1>;
-                               clock-output-names = "s2mps11_ap",
-                                               "s2mps11_cp", "s2mps11_bt";
-                       };
-
-                       regulators {
-                               ldo1_reg: LDO1 {
-                                       regulator-name = "vdd_ldo1";
-                                       regulator-min-microvolt = <1000000>;
-                                       regulator-max-microvolt = <1000000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo3_reg: LDO3 {
-                                       regulator-name = "vdd_ldo3";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo5_reg: LDO5 {
-                                       regulator-name = "vdd_ldo5";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo6_reg: LDO6 {
-                                       regulator-name = "vdd_ldo6";
-                                       regulator-min-microvolt = <1000000>;
-                                       regulator-max-microvolt = <1000000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo7_reg: LDO7 {
-                                       regulator-name = "vdd_ldo7";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo8_reg: LDO8 {
-                                       regulator-name = "vdd_ldo8";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo9_reg: LDO9 {
-                                       regulator-name = "vdd_ldo9";
-                                       regulator-min-microvolt = <3000000>;
-                                       regulator-max-microvolt = <3000000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo10_reg: LDO10 {
-                                       regulator-name = "vdd_ldo10";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo11_reg: LDO11 {
-                                       regulator-name = "vdd_ldo11";
-                                       regulator-min-microvolt = <1000000>;
-                                       regulator-max-microvolt = <1000000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo12_reg: LDO12 {
-                                       regulator-name = "vdd_ldo12";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo13_reg: LDO13 {
-                                       regulator-name = "vdd_ldo13";
-                                       regulator-min-microvolt = <2800000>;
-                                       regulator-max-microvolt = <2800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo15_reg: LDO15 {
-                                       regulator-name = "vdd_ldo15";
-                                       regulator-min-microvolt = <3100000>;
-                                       regulator-max-microvolt = <3100000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo16_reg: LDO16 {
-                                       regulator-name = "vdd_ldo16";
-                                       regulator-min-microvolt = <2200000>;
-                                       regulator-max-microvolt = <2200000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo17_reg: LDO17 {
-                                       regulator-name = "tsp_avdd";
-                                       regulator-min-microvolt = <3300000>;
-                                       regulator-max-microvolt = <3300000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo19_reg: LDO19 {
-                                       regulator-name = "vdd_sd";
-                                       regulator-min-microvolt = <2800000>;
-                                       regulator-max-microvolt = <2800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo24_reg: LDO24 {
-                                       regulator-name = "tsp_io";
-                                       regulator-min-microvolt = <2800000>;
-                                       regulator-max-microvolt = <2800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo26_reg: LDO26 {
-                                       regulator-name = "vdd_ldo26";
-                                       regulator-min-microvolt = <3000000>;
-                                       regulator-max-microvolt = <3000000>;
-                                       regulator-always-on;
-                               };
-
-                               buck1_reg: BUCK1 {
-                                       regulator-name = "vdd_mif";
-                                       regulator-min-microvolt = <800000>;
-                                       regulator-max-microvolt = <1300000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-
-                               buck2_reg: BUCK2 {
-                                       regulator-name = "vdd_arm";
-                                       regulator-min-microvolt = <800000>;
-                                       regulator-max-microvolt = <1500000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-
-                               buck3_reg: BUCK3 {
-                                       regulator-name = "vdd_int";
-                                       regulator-min-microvolt = <800000>;
-                                       regulator-max-microvolt = <1400000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-
-                               buck4_reg: BUCK4 {
-                                       regulator-name = "vdd_g3d";
-                                       regulator-min-microvolt = <800000>;
-                                       regulator-max-microvolt = <1400000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-
-                               buck5_reg: BUCK5 {
-                                       regulator-name = "vdd_mem";
-                                       regulator-min-microvolt = <800000>;
-                                       regulator-max-microvolt = <1400000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-
-                               buck6_reg: BUCK6 {
-                                       regulator-name = "vdd_kfc";
-                                       regulator-min-microvolt = <800000>;
-                                       regulator-max-microvolt = <1500000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-
-                               buck7_reg: BUCK7 {
-                                       regulator-name = "vdd_1.0v_ldo";
-                                       regulator-min-microvolt = <800000>;
-                                       regulator-max-microvolt = <1500000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-
-                               buck8_reg: BUCK8 {
-                                       regulator-name = "vdd_1.8v_ldo";
-                                       regulator-min-microvolt = <800000>;
-                                       regulator-max-microvolt = <1500000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-
-                               buck9_reg: BUCK9 {
-                                       regulator-name = "vdd_2.8v_ldo";
-                                       regulator-min-microvolt = <3000000>;
-                                       regulator-max-microvolt = <3750000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-
-                               buck10_reg: BUCK10 {
-                                       regulator-name = "vdd_vmem";
-                                       regulator-min-microvolt = <2850000>;
-                                       regulator-max-microvolt = <2850000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                               };
-                       };
-               };
-       };
-
-       emmc_pwrseq: pwrseq {
-               pinctrl-0 = <&emmc_nrst_pin>;
-               pinctrl-names = "default";
-               compatible = "mmc-pwrseq-emmc";
-               reset-gpios = <&gpd1 0 1>;
-       };
-
-       i2c_2: i2c@12C80000 {
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-               status = "okay";
-
-               hdmiddc@50 {
-                       compatible = "samsung,exynos4210-hdmiddc";
-                       reg = <0x50>;
-               };
-       };
-
-       leds {
-               compatible = "gpio-leds";
-
-               blue-led {
-                       label = "blue:heartbeart";
-                       gpios = <&gpb2 2 0>;
-                       default-state = "off";
-                       linux,default-trigger = "heartbeat";
-               };
-
-               gree-led {
-                       label = "green:activity";
-                       gpios = <&gpb2 1 0>;
-                       default-state = "off";
-                       linux,default-trigger = "mmc0";
-               };
-
-               red-led {
-                       label = "red:activity";
-                       gpios = <&gpx2 3 0>;
-                       default-state = "off";
-                       linux,default-trigger = "mmc1";
-               };
-       };
-
-       pwm-fan {
-               compatible = "pwm-fan";
-               status = "okay";
-               pwms = <&pwm 0 10000 0>;
-       };
-
-       sound: sound {
-               compatible = "simple-audio-card";
-               assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
-                               <&clock_audss EXYNOS_MOUT_I2S>,
-                               <&clock_audss EXYNOS_DOUT_AUD_BUS>;
-               assigned-clock-parents = <&clock CLK_FIN_PLL>,
-                               <&clock_audss EXYNOS_MOUT_AUDSS>;
-               assigned-clock-rates = <0>,
-                               <0>,
-                               <19200000>;
-
-               simple-audio-card,name = "Odroid-XU3";
-
-               simple-audio-card,widgets =
-                       "Headphone", "Headphone Jack",
-                       "Speakers", "Speakers";
-               simple-audio-card,routing =
-                       "Headphone Jack", "HPL",
-                       "Headphone Jack", "HPR",
-                       "Headphone Jack", "MICBIAS",
-                       "IN1", "Headphone Jack",
-                       "Speakers", "SPKL",
-                       "Speakers", "SPKR";
-
-               simple-audio-card,format = "i2s";
-               simple-audio-card,bitclock-master = <&link0_codec>;
-               simple-audio-card,frame-master = <&link0_codec>;
-
-               simple-audio-card,cpu {
-                       sound-dai = <&i2s0 0>;
-                       system-clock-frequency = <19200000>;
-               };
-
-               link0_codec: simple-audio-card,codec {
-                       sound-dai = <&max98090>;
-                       clocks = <&i2s0 CLK_I2S_CDCLK>;
-               };
-       };
-
-       usb_extcon_a: odroid-usbotg-a {
-               compatible = "extcon-odroid-usbotg";
-               pinctrl-names = "default";
-               pinctrl-0 = <&otg_ida &vbus_deta>;
-               otg-id-gpio = <&gpx1 1 0>;
-               vbus-det-gpio = <&gpx3 4 0>;
-       };
-
-       usb_extcon_b: odroid-usbotg-b {
-               compatible = "extcon-odroid-usbotg";
-               pinctrl-0 = <&vbus_detb>;
-               vbus-det-gpio = <&gpx3 5 0>;
-       };
-};
-
-&hsi2c_5 {
-       status = "okay";
-       max98090: max98090@10 {
-               compatible = "maxim,max98090";
-               reg = <0x10>;
-               interrupt-parent = <&gpx3>;
-               interrupts = <2 0>;
-               clocks = <&i2s0 CLK_I2S_CDCLK>;
-               clock-names = "mclk";
-               #sound-dai-cells = <0>;
-       };
-};
-
-&i2s0 {
-       status = "okay";
-};
-
-&gsc_0 {
-       samsung,lcd-wb;
-};
-
-&gsc_1 {
-       samsung,lcd-wb;
-};
-
-&hdmi {
-       status = "okay";
-       hpd-gpio = <&gpx3 7 0>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&hdmi_hpd_irq>;
-
-       vdd_osc-supply = <&ldo7_reg>;
-       vdd_pll-supply = <&ldo6_reg>;
-       vdd-supply = <&ldo6_reg>;
-};
-
-&mfc {
-       samsung,mfc-r = <0x43000000 0x800000>;
-       samsung,mfc-l = <0x51000000 0x800000>;
-};
-
-&mmc_0 {
-       status = "okay";
-       mmc-pwrseq = <&emmc_pwrseq>;
-       broken-cd;
-       card-detect-delay = <200>;
-       samsung,dw-mshc-ciu-div = <3>;
-       samsung,dw-mshc-sdr-timing = <0 4>;
-       samsung,dw-mshc-ddr-timing = <0 2>;
-       samsung,dw-mshc-hs400-timing = <0 2>;
-       samsung,read-strobe-delay = <90>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
-       bus-width = <8>;
-       cap-mmc-highspeed;
-       mmc-hs200-1_8v;
-       mmc-hs400-1_8v;
-};
-
-&mmc_2 {
-       status = "okay";
-       card-detect-delay = <200>;
-       samsung,dw-mshc-ciu-div = <3>;
-       samsung,dw-mshc-sdr-timing = <0 4>;
-       samsung,dw-mshc-ddr-timing = <0 2>;
-       pinctrl-names = "default";
-       cd-gpios = <&gpc2 2 0>;
-       cd-inverted;
-       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>;
-       bus-width = <4>;
-       cap-sd-highspeed;
-};
-
-&pinctrl_0 {
-       hdmi_hpd_irq: hdmi-hpd-irq {
-               samsung,pins = "gpx3-7";
-               samsung,pin-function = <0>;
-               samsung,pin-pud = <1>;
-               samsung,pin-drv = <0>;
-       };
-
-       s2mps11_irq: s2mps11-irq {
-               samsung,pins = "gpx0-4";
-               samsung,pin-function = <0xf>;
-               samsung,pin-pud = <0>;
-               samsung,pin-drv = <0>;
-       };
-};
-
-&pinctrl_1 {
-       emmc_nrst_pin: emmc-nrst {
-               samsung,pins = "gpd1-0";
-               samsung,pin-function = <0>;
-               samsung,pin-pud = <0>;
-               samsung,pin-drv = <0>;
-       };
-};
-
-&mali {
-       status = "okay";
-       vdd_g3d-supply = <&buck4_reg>;
-};
-
-&usbdrd3_0 {
-       extcon = <&usb_extcon_b>;
-};
-
-&usbdrd3_1 {
-       extcon = <&usb_extcon_a>;
-};
-
-&usbdrd_dwc3_0 {
-       dr_mode = "host";
-};
-
-&usbdrd_dwc3_1 {
-       dr_mode = "otg";
-};
-
-&cpu0 {
-       cpu-cluster.0-supply = <&buck2_reg>;
-};
-
-&cpu4 {
-       cpu-cluster.1-supply = <&buck6_reg>;
 };
 
 &i2c_0 {
                shunt-resistor = <10000>;
        };
 };
-
-&pwm {
-       status = "okay";
-       pinctrl-0 = <&pwm0_out>;
-       pinctrl-names = "default";
-};
-
-&pinctrl_0 {
-       key_pullnone: key-pullnone {
-               samsung,pins = "gpx0-3";
-               samsung,pin-pud = <0>;
-       };
-
-       otg_ida: otg-ida {
-               samsung,pins = "gpx1-1";
-               samsung,pin-pud = <0>;
-       };
-
-       vbus_deta: vbus-deta {
-               samsung,pins = "gpx3-4";
-               samsung,pin-pud = <0>;
-       };
-
-       vbus_detb: vbus-detb {
-               samsung,pins = "gpx3-5";
-               samsung,pin-pud = <0>;
-       };
-};
-
-&rtc {
-       status = "okay";
-       clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
-       clock-names = "rtc", "rtc_src";
-};
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu4.dts b/arch/arm/boot/dts/exynos5422-odroidxu4.dts
new file mode 100644 (file)
index 0000000..93df2d7
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Hardkernel Odroid XU4 board device tree source
+ *
+ * Copyright (c) 2014 Collabora Ltd.
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/dts-v1/;
+#include "exynos5422-odroidxu3-common.dtsi"
+
+/ {
+       model = "Hardkernel Odroid XU4";
+       compatible = "hardkernel,odroid-xu4", "samsung,exynos5800", "samsung,exynos5";
+};
+
+&usbdrd_dwc3_1 {
+       dr_mode = "host";
+};