Skip to content

Commit 8149afe

Browse files
committed
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 <[email protected]> Acked-by: Rob Herring <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Link: http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620
1 parent cb08965 commit 8149afe

File tree

3 files changed

+123
-0
lines changed

3 files changed

+123
-0
lines changed

Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Required root node properties:
4747
- "hardkernel,odroid-u3" - for Exynos4412-based Hardkernel Odroid U3.
4848
- "hardkernel,odroid-x" - for Exynos4412-based Hardkernel Odroid X.
4949
- "hardkernel,odroid-x2" - for Exynos4412-based Hardkernel Odroid X2.
50+
- "hardkernel,odroid-xu" - for Exynos5410-based Hardkernel Odroid XU.
5051
- "hardkernel,odroid-xu3" - for Exynos5422-based Hardkernel Odroid XU3.
5152
- "hardkernel,odroid-xu3-lite" - for Exynos5422-based Hardkernel
5253
Odroid XU3 Lite board.

arch/arm/boot/dts/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
134134
exynos5250-snow-rev5.dtb \
135135
exynos5250-spring.dtb \
136136
exynos5260-xyref5260.dtb \
137+
exynos5410-odroidxu.dtb \
137138
exynos5410-smdk5410.dtb \
138139
exynos5420-arndale-octa.dtb \
139140
exynos5420-peach-pit.dtb \
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
};

0 commit comments

Comments
 (0)