summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2014-05-08 09:43:02 +0200
committerChanho Park <chanho61.park@samsung.com>2014-11-18 11:47:49 +0900
commit550f7df28065566357105c4a6f5b0c4932b0c2fa (patch)
treeeef3aa720cc83a98459d4e2a86c648c0f4658c12 /arch/arm/boot/dts/exynos4412-odroid-common.dtsi
parent67ff66690fece77a51099129b2aa87c06a2a8805 (diff)
downloadlinux-3.10-550f7df28065566357105c4a6f5b0c4932b0c2fa.tar.gz
linux-3.10-550f7df28065566357105c4a6f5b0c4932b0c2fa.tar.bz2
linux-3.10-550f7df28065566357105c4a6f5b0c4932b0c2fa.zip
ARM: dts: exynos4x12: refactor common Odroid defs and add OdroidU3 support
Moved most of the common definitions to exynos4412-odroid-common.dtsi and created exynos4412-odroidu3.dts for OdroidU3 board. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I30fcd329aff827e8c0e734ea6047782be03ed242
Diffstat (limited to 'arch/arm/boot/dts/exynos4412-odroid-common.dtsi')
-rw-r--r--arch/arm/boot/dts/exynos4412-odroid-common.dtsi536
1 files changed, 536 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
new file mode 100644
index 00000000000..b42cdce6294
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -0,0 +1,536 @@
+/*
+ * Common definition for Hardkernel's Exynos4412 based ODROID-X/X2/U2/U3 boards
+ * device tree source
+ *
+ * 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 "exynos4412.dtsi"
+
+/ {
+ memory {
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ contig_mem: region@0 {
+ compatible = "linux,contiguous-memory-region";
+ reg = <0x0 0x4000000>;
+ linux,default-contiguous-region;
+ };
+
+ mfc_l_mem: mfc_l_region@43000000 {
+ compatible = "linux,contiguous-memory-region", "reserved-memory-region";
+ reg = <0x43000000 0x1000000>;
+ };
+
+ mfc_r_mem: mfc_r_region@51000000 {
+ compatible = "linux,contiguous-memory-region", "reserved-memory-region";
+ reg = <0x51000000 0x1000000>;
+ };
+ };
+ };
+
+ chosen {
+ bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p2 rootwait earlyprintk panic=5";
+ };
+
+ firmware@0204F000 {
+ compatible = "samsung,secure-firmware";
+ reg = <0x0204F000 0x1000>;
+ };
+
+ i2s0: i2s@03830000 {
+ pinctrl-0 = <&i2s0_bus>;
+ pinctrl-names = "default";
+ status = "okay";
+ };
+
+ sound {
+ compatible = "samsung,odroidx2-audio";
+ samsung,i2s-controller = <&i2s0>;
+ samsung,audio-codec = <&max98090>;
+ };
+
+ mshc@12550000 {
+ pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ num-slots = <1>;
+ supports-highspeed;
+ broken-cd;
+ fifo-depth = <0x80>;
+ card-detect-delay = <200>;
+ clock-frequency = <400000000>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <2 3 3>;
+ samsung,dw-mshc-ddr-timing = <1 2 3>;
+
+ slot@0 {
+ reg = <0>;
+ bus-width = <8>;
+ };
+ };
+
+ sdhci@12530000 {
+ bus-width = <4>;
+ pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
+ pinctrl-names = "default";
+ status = "okay";
+ };
+
+ serial@13800000 {
+ status = "okay";
+ };
+
+ serial@13810000 {
+ status = "okay";
+ };
+
+ fixed-rate-clocks {
+ xxti {
+ compatible = "samsung,clock-xxti";
+ clock-frequency = <0>;
+ };
+
+ xusbxti {
+ compatible = "samsung,clock-xusbxti";
+ clock-frequency = <24000000>;
+ };
+ };
+
+ i2c@13860000 { // i2c0
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>; // ?
+ samsung,i2c-max-bus-freq = <100000>;
+ pinctrl-0 = <&i2c0_bus>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ usb3503: usb3503@08 {
+ compatible = "smsc,usb3503";
+ reg = <0x08>;
+
+ connect-gpios = <&gpx3 4 0>;
+ intn-gpios = <&gpx3 0 0>;
+ reset-gpios = <&gpx3 5 0>;
+ initial-mode = <1>;
+
+ };
+
+ max77686_pmic@09 {
+ compatible = "maxim,max77686";
+ reg = <0x09>;
+
+ voltage-regulators {
+ ldo1_reg: ldo@1 {
+ regulator-compatible = "LDO1";
+ regulator-name = "VALIVE_1.0V_AP";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo2_reg: ldo@2 {
+ regulator-compatible = "LDO2";
+ regulator-name = "VDDQ_M1M2_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo3_reg: ldo@3 {
+ regulator-compatible = "LDO3";
+ regulator-name = "VDDQ_M0_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo4_reg: ldo@4 {
+ regulator-compatible = "LDO4";
+ regulator-name = "VDDQ_MMC2_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ };
+
+ ldo5_reg: ldo@5 {
+ regulator-compatible = "LDO5";
+ regulator-name = "VDDQ_MMC13_1V8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo6_reg: ldo@6 {
+ regulator-compatible = "LDO6";
+ regulator-name = "VDD_MPLL_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo7_reg: ldo@7 {
+ regulator-compatible = "LDO7";
+ regulator-name = "VDD_VPLL_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo8_reg: ldo@8 {
+ regulator-compatible = "LDO8";
+ regulator-name = "VDD10_HDMI_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo9_reg: ldo@9 {
+ regulator-compatible = "LDO9";
+ regulator-name = "VDD_VTCORE_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo10_reg: ldo@10 {
+ regulator-compatible = "LDO10";
+ regulator-name = "VDDQ_MIPIHSI_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo11_reg: ldo@11 {
+ regulator-compatible = "LDO11";
+ regulator-name = "VDD18_ABB1_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo12_reg: ldo@12 {
+ regulator-compatible = "LDO12";
+ regulator-name = "VDD33_UOTG_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ ldo13_reg: ldo@13 {
+ regulator-compatible = "LDO13";
+ regulator-name = "VDDQ_C2C_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo14_reg: ldo@14 {
+ regulator-compatible = "LDO14";
+ regulator-name = "VDD18_ABB2_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo15_reg: ldo@15 {
+ regulator-compatible = "LDO15";
+ regulator-name = "VDD10_HSIC_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo16_reg: ldo@16 {
+ regulator-compatible = "LDO16";
+ regulator-name = "VDD18_HSIC_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo17_reg: ldo@17 {
+ regulator-compatible = "LDO17";
+ regulator-name = "VDDQ_CAM_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo18_reg: ldo@18 {
+ regulator-compatible = "LDO18";
+ regulator-name = "VDD_LDO18_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo19_reg: ldo@19 {
+ regulator-compatible = "LDO19";
+ regulator-name = "VDD_VTCAM_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo20_reg: ldo@20 {
+ regulator-compatible = "LDO20";
+ regulator-name = "VDD_LDO20_1V8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo21_reg: ldo@21 {
+ regulator-compatible = "LDO21";
+ regulator-name = "VDD_SDCARD_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ ldo22_reg: ldo@22 {
+ regulator-compatible = "LDO22";
+ regulator-name = "VDD_LDO22_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ };
+
+ ldo23_reg: ldo@23 {
+ regulator-compatible = "LDO23";
+ regulator-name = "VDD_TOUCH_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ };
+
+ ldo24_reg: ldo@24 {
+ regulator-compatible = "LDO24";
+ regulator-name = "VDD_TOUCHLED_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ ldo25_reg: ldo@25 {
+ regulator-compatible = "LDO25";
+ regulator-name = "VDDQ_LCD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ };
+
+ ldo26_reg: ldo@26 {
+ regulator-compatible = "LDO26";
+ regulator-name = "VDD_MOTOR_3.0V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ buck1_reg: buck@1 {
+ regulator-compatible = "BUCK1";
+ regulator-name = "VDD_MIF_1.0V";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck2_reg: buck@2 {
+ regulator-compatible = "BUCK2";
+ regulator-name = "VDD_ARM_1.3V";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck3_reg: buck@3 {
+ regulator-compatible = "BUCK3";
+ regulator-name = "VDD_INT_1.0V";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1150000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck4_reg: buck@4 {
+ regulator-compatible = "BUCK4";
+ regulator-name = "VDD_G3D_1.0V";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-boot-on;
+ };
+
+ buck5_reg: buck@5 {
+ regulator-compatible = "BUCK5";
+ regulator-name = "VDDQ_CKEM1M2_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ buck6_reg: buck@6 {
+ regulator-compatible = "BUCK6";
+ regulator-name = "VDD_INL_1.35V";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+
+ buck7_reg: buck@7 {
+ regulator-compatible = "BUCK7";
+ regulator-name = "VDD_INL_2.0V";
+ regulator-min-microvolt = <2000000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-always-on;
+ };
+
+ buck8_reg: buck@8 {
+ regulator-compatible = "BUCK8";
+ regulator-name = "VDD_BUCK8_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ };
+
+ buck9_reg: buck@9 {
+ regulator-compatible = "BUCK9";
+ regulator-name = "VDD_BUCK9_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ };
+
+ };
+ };
+
+ exynos-usbphy@125B0000 {
+ status = "okay";
+ };
+
+ hsotg@12480000 {
+ status = "okay";
+ vusb_d-supply = <&ldo15_reg>;
+ vusb_a-supply = <&ldo12_reg>;
+ };
+
+ ehci: ehci@12580000 {
+ status = "okay";
+ vusb_d-supply = <&ldo15_reg>;
+ vusb_a-supply = <&ldo12_reg>;
+ };
+
+ camera {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam_port_a_clk_idle>;
+
+ fimc_0: fimc@11800000 {
+ status = "okay";
+ };
+
+ fimc_1: fimc@11810000 {
+ status = "okay";
+ };
+
+ fimc_2: fimc@11820000 {
+ status = "okay";
+ };
+
+ fimc_3: fimc@11830000 {
+ status = "okay";
+ };
+ };
+
+ mfc: codec@13400000 {
+ status = "okay";
+
+ memport@0 {
+ memory-region = <&mfc_l_mem>;
+ };
+
+ memport@1 {
+ memory-region = <&mfc_r_mem>;
+ };
+ };
+
+ i2c@13870000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c1_bus>;
+ status = "okay";
+ max98090: max98090@10 {
+ compatible = "maxim,max98090";
+ reg = <0x10>;
+ interrupt-parent = <&gpx0>;
+ interrupts = <1 0>;
+ };
+ };
+
+ i2c@13880000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_bus>;
+ status = "okay";
+ hdmiddc@37 {
+ compatible = "samsung,exynos5-hdmiddc";
+ reg = <0x37>;
+ };
+ };
+
+ gpu@13000000 {
+ status = "okay";
+ vdd_g3d-supply = <&buck4_reg>;
+ };
+
+ cpufreq {
+ freq_table = <1400000 1300000 1200000 1100000 1000000
+ 900000 800000 700000 600000 500000 400000 300000
+ 200000>;
+ boost_freq = <1500000>;
+ vdd_arm-supply = <&buck2_reg>;
+ status = "okay";
+ };
+
+ hdmi@12D00000 {
+ hpd-gpio = <&gpx3 7 0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_hpd>;
+ /*
+ * HDMI_EN is a dummy regulator on Origen.
+ * Therefore LDO8 is used instead because
+ * it is enabled at the same time as hdmi-en
+ */
+ hdmi-en-supply = <&ldo8_reg>;
+ vdd-supply = <&ldo8_reg>;
+ vdd_osc-supply = <&ldo10_reg>;
+ vdd_pll-supply = <&ldo8_reg>;
+ status = "okay";
+ };
+};
+
+&pinctrl_1 {
+ gpio_power_key: power_key {
+ samsung,pins = "gpx1-3";
+ samsung,pin-pud = <0>;
+ };
+
+ gpio_home_key: home_key {
+ samsung,pins = "gpx2-2";
+ samsung,pin-pud = <1>;
+ };
+
+ hdmi_hpd: hdmi-hpd {
+ samsung,pins = "gpx3-7";
+ samsung,pin-pud = <1>;
+ };
+};