aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzk@kernel.org>2016-05-03 05:48:18 -0400
committerKrzysztof Kozlowski <k.kozlowski@samsung.com>2016-05-31 06:42:41 -0400
commit8149afe4dbf91bead5632ac66f54f38b5d8b2391 (patch)
treee6d228fb960dc9a7a3ce5f0a0ac5e947446f0f40
parentcb0896562228703209644e92926ed445150cc594 (diff)
ARM: dts: exynos: Add initial support for Odroid XU board
The Hardkernel's Odroid XU board was first design with big.LITTLE SoC from Samsung: the Exynos5410. Details: 1. Exynos5410 octa-core (A15+A7, however as of now only one cluster is enabled), 2. 2 GB DDR3 RAM, 3. PowerVR SGX544MP3 GPU (not enabled in DTS), 4. USB 3.0 Host x 1, USB 3.0 OTG x 1, USB 2.0 Host x 4, 5. HDMI 1.4a, MIPI DSI and Display Port (Display Port not on all of revisions though), 6. eMMC 4.5 and microSD slots. Comparing this board to Odroid XU3 (more popular), the differences are: 1. Exynos5410 instead of 5422, 2. MIPI DSI LCD connector, 3. Main PMIC: Maxim 77802 instead of S2MPS11, 4. USB3503+LAN9730 instead of integrated LAN9514, 5. eMMC 4.5 instead of eMMC 5.0, This patch adds initial support for the XU board with working basic functions, eMMC/SD and USB (including attached ethernet adapter). Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Rob Herring <robh@kernel.org> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Link: http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620
-rw-r--r--Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt1
-rw-r--r--arch/arm/boot/dts/Makefile1
-rw-r--r--arch/arm/boot/dts/exynos5410-odroidxu.dts121
3 files changed, 123 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
index f5deace2b380..0ea7f14ef294 100644
--- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
+++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
@@ -47,6 +47,7 @@ Required root node properties:
47 - "hardkernel,odroid-u3" - for Exynos4412-based Hardkernel Odroid U3. 47 - "hardkernel,odroid-u3" - for Exynos4412-based Hardkernel Odroid U3.
48 - "hardkernel,odroid-x" - for Exynos4412-based Hardkernel Odroid X. 48 - "hardkernel,odroid-x" - for Exynos4412-based Hardkernel Odroid X.
49 - "hardkernel,odroid-x2" - for Exynos4412-based Hardkernel Odroid X2. 49 - "hardkernel,odroid-x2" - for Exynos4412-based Hardkernel Odroid X2.
50 - "hardkernel,odroid-xu" - for Exynos5410-based Hardkernel Odroid XU.
50 - "hardkernel,odroid-xu3" - for Exynos5422-based Hardkernel Odroid XU3. 51 - "hardkernel,odroid-xu3" - for Exynos5422-based Hardkernel Odroid XU3.
51 - "hardkernel,odroid-xu3-lite" - for Exynos5422-based Hardkernel 52 - "hardkernel,odroid-xu3-lite" - for Exynos5422-based Hardkernel
52 Odroid XU3 Lite board. 53 Odroid XU3 Lite board.
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 06b6c2d695bf..9a1fc0d39180 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -134,6 +134,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
134 exynos5250-snow-rev5.dtb \ 134 exynos5250-snow-rev5.dtb \
135 exynos5250-spring.dtb \ 135 exynos5250-spring.dtb \
136 exynos5260-xyref5260.dtb \ 136 exynos5260-xyref5260.dtb \
137 exynos5410-odroidxu.dtb \
137 exynos5410-smdk5410.dtb \ 138 exynos5410-smdk5410.dtb \
138 exynos5420-arndale-octa.dtb \ 139 exynos5420-arndale-octa.dtb \
139 exynos5420-peach-pit.dtb \ 140 exynos5420-peach-pit.dtb \
diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts
new file mode 100644
index 000000000000..9fe04500ecaf
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
@@ -0,0 +1,121 @@
1/*
2 * Hardkernel Odroid XU board device tree source
3 *
4 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
6 * Copyright (c) 2016 Krzysztof Kozlowski
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12
13/dts-v1/;
14#include "exynos5410.dtsi"
15#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/interrupt-controller/irq.h>
17#include "exynos54xx-odroidxu-leds.dtsi"
18
19/ {
20 model = "Hardkernel Odroid XU";
21 compatible = "hardkernel,odroid-xu", "samsung,exynos5410", "samsung,exynos5";
22
23 memory {
24 reg = <0x40000000 0x7ea00000>;
25 };
26
27 chosen {
28 linux,stdout-path = &serial_2;
29 };
30
31 emmc_pwrseq: pwrseq {
32 pinctrl-0 = <&emmc_nrst_pin>;
33 pinctrl-names = "default";
34 compatible = "mmc-pwrseq-emmc";
35 reset-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>;
36 };
37
38 fan0: pwm-fan {
39 compatible = "pwm-fan";
40 pwms = <&pwm 0 20972 0>;
41 cooling-min-state = <0>;
42 cooling-max-state = <3>;
43 #cooling-cells = <2>;
44 cooling-levels = <0 130 170 230>;
45 };
46
47 fin_pll: xxti {
48 compatible = "fixed-clock";
49 clock-frequency = <24000000>;
50 clock-output-names = "fin_pll";
51 #clock-cells = <0>;
52 };
53
54 firmware@02073000 {
55 compatible = "samsung,secure-firmware";
56 reg = <0x02073000 0x1000>;
57 };
58};
59
60&mmc_0 {
61 status = "okay";
62 mmc-pwrseq = <&emmc_pwrseq>;
63 cd-gpios = <&gpc0 2 GPIO_ACTIVE_LOW>;
64 card-detect-delay = <200>;
65 samsung,dw-mshc-ciu-div = <3>;
66 samsung,dw-mshc-sdr-timing = <0 4>;
67 samsung,dw-mshc-ddr-timing = <0 2>;
68 samsung,dw-mshc-hs400-timing = <0 2>;
69 samsung,read-strobe-delay = <90>;
70 pinctrl-names = "default";
71 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd>;
72 bus-width = <8>;
73 cap-mmc-highspeed;
74 mmc-hs200-1_8v;
75 mmc-hs400-1_8v;
76};
77
78&mmc_2 {
79 status = "okay";
80 card-detect-delay = <200>;
81 samsung,dw-mshc-ciu-div = <3>;
82 samsung,dw-mshc-sdr-timing = <0 4>;
83 samsung,dw-mshc-ddr-timing = <0 2>;
84 pinctrl-names = "default";
85 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
86 bus-width = <4>;
87 cap-sd-highspeed;
88};
89
90&pinctrl_0 {
91 emmc_nrst_pin: emmc-nrst {
92 samsung,pins = "gpd1-0";
93 samsung,pin-function = <0>;
94 samsung,pin-pud = <0>;
95 samsung,pin-drv = <0>;
96 };
97};
98
99&serial_0 {
100 status = "okay";
101};
102
103&serial_1 {
104 status = "okay";
105};
106
107&serial_2 {
108 status = "okay";
109};
110
111&serial_3 {
112 status = "okay";
113};
114
115&usbdrd_dwc3_0 {
116 dr_mode = "host";
117};
118
119&usbdrd_dwc3_1 {
120 dr_mode = "peripheral";
121};