Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86a2d2ac authored by Sjoerd Simons's avatar Sjoerd Simons Committed by Kukjin Kim
Browse files

ARM: dts: Add dts file for Odroid XU3 board



Add DTS for the Hardkernel Odroid XU3. The name of the DTS file is
kept the same as the vendors naming, which means it's prefixed with
exynos5422 instead of exynos5800 as the SoC name even though it
includes the exyno5800 dtsi.

Signed-off-by: default avatarSjoerd Simons <sjoerd.simons@collabora.co.uk>
Tested-by: default avatarKevin Hilman <khilman@linaro.org>
Signed-off-by: default avatarKukjin Kim <kgene@kernel.org>
parent 97bf6af1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
	exynos5420-arndale-octa.dtb \
	exynos5420-peach-pit.dtb \
	exynos5420-smdk5420.dtb \
	exynos5422-odroidxu3.dtb \
	exynos5440-sd5v1.dtb \
	exynos5440-ssdk5440.dtb \
	exynos5800-peach-pi.dtb
+332 −0
Original line number Diff line number Diff line
/*
 * 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.
*/

/dts-v1/;
#include "exynos5800.dtsi"

/ {
	model = "Hardkernel Odroid XU3";
	compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5";

	memory {
		reg = <0x40000000 0x80000000>;
	};

	chosen {
		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>;
		};
	};

	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>;

			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;
				};

				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;
				};
			};
		};
	};

	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>;
		};
	};

	rtc@101E0000 {
		status = "okay";
	};
};

&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";
	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>;
	pinctrl-names = "default";
	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
	bus-width = <8>;
	cap-mmc-highspeed;
};

&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";
	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &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>;
	};
};

&usbdrd_dwc3_0 {
	dr_mode = "host";
};

&usbdrd_dwc3_1 {
	dr_mode = "otg";
};