* [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support
@ 2014-07-14 12:48 Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 1/8] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules Marek Szyprowski
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Marek Szyprowski @ 2014-07-14 12:48 UTC (permalink / raw)
To: linux-samsung-soc
Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
Hello,
This is the third version of the initial patch series adding support
for Exynos 4412 based Odroid X2 and U2/U3/U3+ boards and improving
support for Odroid X.
Complete USB support for Odroid U2/U3/U3+ still requires some fixes in
Exynos4 USB2 Phy driver and clock driver for CLKOUT:
http://thread.gmane.org/gmane.linux.kernel/1731843/
http://www.spinics.net/lists/linux-usb/msg109587.html
The above changes however don't affect Odroid DTS files, but without
them, usb3503 hub is not yet functional.
Support for audio codec and HDMI video output is available in separate patch series.
If one is interested in more complete and open-source Odroid board
support, there are also patches for u-boot project:
http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/188295/focus=188610
Best regards
Marek Szyprowski
Samsung R&D Institute Poland
Changelog:
v3:
- added fix for total memory size (last megabyte is used by secure firmware
and should not be accessed by Linux kernel)
- added patch defining GPIO button(s)
- added patch fixing TFLASH (SD card) detection
v2:
- added fix for broken LAN after reboot (removed BUCK8 always on property)
- restored all 4 uarts for Odroid X/X2 until correct patch for UART driver
is developed
- rmoved incorrect port@2 node in ehci node for odroidx dts
- updated links for latest version of CLKOUT and PHY patches
v1:
- initial version
*** BLURB HERE ***
Kamil Debski (2):
ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device)
ARM: dts: exynos4412-odroid-common: disable 'always on' for BUCK8
regulator
Marek Szyprowski (6):
ARM: dts: exynos4: add port sub-nodes to exynos usb host modules
ARM: dts: exynos4412-odroidx: enable common hardware blocks
ARM: dts: exynos4412-odroidx: correct memory size
ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and
U2/U3
ARM: dts: exynos4412-odroid: add support for GPIO buttons
ARM: dts: exynos4412-odroid: fix T-FLASH hotplug detection
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/exynos4.dtsi | 24 ++
arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 344 ++++++++++++++++++++++++
arch/arm/boot/dts/exynos4412-odroidu3.dts | 49 ++++
arch/arm/boot/dts/exynos4412-odroidx.dts | 279 ++-----------------
arch/arm/boot/dts/exynos4412-odroidx2.dts | 23 ++
6 files changed, 471 insertions(+), 250 deletions(-)
create mode 100644 arch/arm/boot/dts/exynos4412-odroid-common.dtsi
create mode 100644 arch/arm/boot/dts/exynos4412-odroidu3.dts
create mode 100644 arch/arm/boot/dts/exynos4412-odroidx2.dts
--
1.9.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 1/8] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
@ 2014-07-14 12:48 ` Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 2/8] ARM: dts: exynos4412-odroidx: enable common hardware blocks Marek Szyprowski
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Marek Szyprowski @ 2014-07-14 12:48 UTC (permalink / raw)
To: linux-samsung-soc
Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
This patch adds port sub-nodes to exynos4 ehci and ohci modules, which
are required by recently merged new exynos4 usb2 phy support.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
arch/arm/boot/dts/exynos4.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
index 17b22e9cc2aa..868925ab2aa4 100644
--- a/arch/arm/boot/dts/exynos4.dtsi
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -322,6 +322,23 @@
clocks = <&clock CLK_USB_HOST>;
clock-names = "usbhost";
status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ phys = <&exynos_usbphy 1>;
+ status = "disabled";
+ };
+ port@1 {
+ reg = <1>;
+ phys = <&exynos_usbphy 2>;
+ status = "disabled";
+ };
+ port@2 {
+ reg = <2>;
+ phys = <&exynos_usbphy 3>;
+ status = "disabled";
+ };
};
ohci@12590000 {
@@ -331,6 +348,13 @@
clocks = <&clock CLK_USB_HOST>;
clock-names = "usbhost";
status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ phys = <&exynos_usbphy 1>;
+ status = "disabled";
+ };
};
i2s1: i2s@13960000 {
--
1.9.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 2/8] ARM: dts: exynos4412-odroidx: enable common hardware blocks
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 1/8] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules Marek Szyprowski
@ 2014-07-14 12:48 ` Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 3/8] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device) Marek Szyprowski
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Marek Szyprowski @ 2014-07-14 12:48 UTC (permalink / raw)
To: linux-samsung-soc
Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
This patch adds support for common hardware modules available on all
Exynos4412-based Odroid boards, which already have complete support in
mainline kernel. This includes secure firmware calls, watchdog, g2d and
fimc (mem2mem) multimedia accelerators.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
arch/arm/boot/dts/exynos4412-odroidx.dts | 35 ++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
index 31db28a4bb33..fda9ac23dd55 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -22,6 +22,11 @@
reg = <0x40000000 0x40000000>;
};
+ firmware@0204F000 {
+ compatible = "samsung,secure-firmware";
+ reg = <0x0204F000 0x1000>;
+ };
+
leds {
compatible = "gpio-leds";
led1 {
@@ -68,10 +73,40 @@
regulator-boot-on;
};
+ watchdog@10060000 {
+ status = "okay";
+ };
+
rtc@10070000 {
status = "okay";
};
+ g2d@10800000 {
+ status = "okay";
+ };
+
+ camera {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <>;
+
+ fimc_0: fimc@11800000 {
+ status = "okay";
+ };
+
+ fimc_1: fimc@11810000 {
+ status = "okay";
+ };
+
+ fimc_2: fimc@11820000 {
+ status = "okay";
+ };
+
+ fimc_3: fimc@11830000 {
+ status = "okay";
+ };
+ };
+
sdhci@12530000 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
--
1.9.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 3/8] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device)
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 1/8] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 2/8] ARM: dts: exynos4412-odroidx: enable common hardware blocks Marek Szyprowski
@ 2014-07-14 12:48 ` Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 4/8] ARM: dts: exynos4412-odroidx: correct memory size Marek Szyprowski
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Marek Szyprowski @ 2014-07-14 12:48 UTC (permalink / raw)
To: linux-samsung-soc
Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
From: Kamil Debski <k.debski@samsung.com>
This patch adds basic support for USB modules (host and device) on
OdroidX board.
Signed-off-by: Kamil Debski <k.debski@samsung.com>
[removed incorrect port@2 node]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
arch/arm/boot/dts/exynos4412-odroidx.dts | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
index fda9ac23dd55..4c853fbf7202 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -148,6 +148,16 @@
pinctrl-names = "default";
status = "okay";
+ usb3503@08 {
+ compatible = "smsc,usb3503";
+ reg = <0x08>;
+
+ intn-gpios = <&gpx3 0 0>;
+ connect-gpios = <&gpx3 4 0>;
+ reset-gpios = <&gpx3 5 0>;
+ initial-mode = <1>;
+ };
+
max77686: pmic@09 {
compatible = "maxim,max77686";
reg = <0x09>;
@@ -338,4 +348,21 @@
};
};
};
+
+ exynos-usbphy@125B0000 {
+ status = "okay";
+ };
+
+ hsotg@12480000 {
+ status = "okay";
+ vusb_d-supply = <&ldo15_reg>;
+ vusb_a-supply = <&ldo12_reg>;
+ };
+
+ ehci@12580000 {
+ status = "okay";
+ port@1 {
+ status = "okay";
+ };
+ };
};
--
1.9.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 4/8] ARM: dts: exynos4412-odroidx: correct memory size
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
` (2 preceding siblings ...)
2014-07-14 12:48 ` [PATCH v3 3/8] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device) Marek Szyprowski
@ 2014-07-14 12:48 ` Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 5/8] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3 Marek Szyprowski
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Marek Szyprowski @ 2014-07-14 12:48 UTC (permalink / raw)
To: linux-samsung-soc
Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
Last megabyte of RAM is used by secure firmware and should not be accessed
by Linux kernel, so correct available memory size in DTS file.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
arch/arm/boot/dts/exynos4412-odroidx.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
index 4c853fbf7202..bcf331543fb0 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -19,7 +19,7 @@
compatible = "hardkernel,odroid-x", "samsung,exynos4412", "samsung,exynos4";
memory {
- reg = <0x40000000 0x40000000>;
+ reg = <0x40000000 0x3FF00000>;
};
firmware@0204F000 {
--
1.9.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 5/8] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
` (3 preceding siblings ...)
2014-07-14 12:48 ` [PATCH v3 4/8] ARM: dts: exynos4412-odroidx: correct memory size Marek Szyprowski
@ 2014-07-14 12:48 ` Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 6/8] ARM: dts: exynos4412-odroid-common: disable 'always on' for BUCK8 regulator Marek Szyprowski
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Marek Szyprowski @ 2014-07-14 12:48 UTC (permalink / raw)
To: linux-samsung-soc
Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
This patch moves some parts of exynos4412-odroidx.dts to common
exynos4412-odroid-common.dtsi file and adds support for Odroid X2 and
U2/U3 boards. X2 is same as X, but it has faster SoC module (1.7GHz
instead of 1.4GHz), while U2/U3 differs from X2 by different way of
routing signals to host USB hub. It also lacks some hw modules not yet
supported by those dts files (i.e. LCD & touch panel).
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
arch/arm/boot/dts/Makefile | 2 +
...2-odroidx.dts => exynos4412-odroid-common.dtsi} | 57 +---
arch/arm/boot/dts/exynos4412-odroidu3.dts | 49 ++++
arch/arm/boot/dts/exynos4412-odroidx.dts | 326 +--------------------
arch/arm/boot/dts/exynos4412-odroidx2.dts | 23 ++
5 files changed, 89 insertions(+), 368 deletions(-)
copy arch/arm/boot/dts/{exynos4412-odroidx.dts => exynos4412-odroid-common.dtsi} (86%)
create mode 100644 arch/arm/boot/dts/exynos4412-odroidu3.dts
create mode 100644 arch/arm/boot/dts/exynos4412-odroidx2.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index adb5ed9e269e..ed2f4e115134 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -66,7 +66,9 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
exynos4210-smdkv310.dtb \
exynos4210-trats.dtb \
exynos4210-universal_c210.dtb \
+ exynos4412-odroidu3.dtb \
exynos4412-odroidx.dtb \
+ exynos4412-odroidx2.dtb \
exynos4412-origen.dtb \
exynos4412-smdk4412.dtb \
exynos4412-tiny4412.dtb \
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
similarity index 86%
copy from arch/arm/boot/dts/exynos4412-odroidx.dts
copy to arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index bcf331543fb0..f793f3b8f0b9 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -1,48 +1,20 @@
/*
- * Hardkernel's Exynos4412 based ODROID-X board device tree source
- *
- * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com>
- *
- * Device tree source file for Hardkernel's ODROID-X board which is based on
- * Samsung's Exynos4412 SoC.
+ * 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.
*/
-/dts-v1/;
#include "exynos4412.dtsi"
/ {
- model = "Hardkernel ODROID-X board based on Exynos4412";
- compatible = "hardkernel,odroid-x", "samsung,exynos4412", "samsung,exynos4";
-
- memory {
- reg = <0x40000000 0x3FF00000>;
- };
-
firmware@0204F000 {
compatible = "samsung,secure-firmware";
reg = <0x0204F000 0x1000>;
};
- leds {
- compatible = "gpio-leds";
- led1 {
- label = "led1:heart";
- gpios = <&gpc1 0 1>;
- default-state = "on";
- linux,default-trigger = "heartbeat";
- };
- led2 {
- label = "led2:mmc0";
- gpios = <&gpc1 2 1>;
- default-state = "on";
- linux,default-trigger = "mmc0";
- };
- };
-
mmc@12550000 {
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
pinctrl-names = "default";
@@ -63,16 +35,6 @@
};
};
- regulator_p3v3 {
- compatible = "regulator-fixed";
- regulator-name = "p3v3_en";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- gpio = <&gpa1 1 1>;
- enable-active-high;
- regulator-boot-on;
- };
-
watchdog@10060000 {
status = "okay";
};
@@ -123,14 +85,6 @@
status = "okay";
};
- serial@13820000 {
- status = "okay";
- };
-
- serial@13830000 {
- status = "okay";
- };
-
fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
@@ -148,7 +102,7 @@
pinctrl-names = "default";
status = "okay";
- usb3503@08 {
+ usb3503: usb3503@08 {
compatible = "smsc,usb3503";
reg = <0x08>;
@@ -359,10 +313,7 @@
vusb_a-supply = <&ldo12_reg>;
};
- ehci@12580000 {
+ ehci: ehci@12580000 {
status = "okay";
- port@1 {
- status = "okay";
- };
};
};
diff --git a/arch/arm/boot/dts/exynos4412-odroidu3.dts b/arch/arm/boot/dts/exynos4412-odroidu3.dts
new file mode 100644
index 000000000000..287aa0d1f978
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-odroidu3.dts
@@ -0,0 +1,49 @@
+/*
+ * Hardkernel's Exynos4412 based ODROID-U3 board device tree source
+ *
+ * Copyright (c) 2014 Marek Szyprowski <m.szyprowski@samsung.com>
+ *
+ * Device tree source file for Hardkernel's ODROID-U3 board which is based
+ * on Samsung's Exynos4412 SoC.
+ *
+ * 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 "exynos4412-odroid-common.dtsi"
+
+/ {
+ model = "Hardkernel ODROID-U3 board based on Exynos4412";
+ compatible = "hardkernel,odroid-u3", "samsung,exynos4412", "samsung,exynos4";
+
+ memory {
+ reg = <0x40000000 0x7FF00000>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ led1 {
+ label = "led1:heart";
+ gpios = <&gpc1 0 1>;
+ default-state = "on";
+ linux,default-trigger = "heartbeat";
+ };
+ };
+};
+
+&usb3503 {
+ clock-names = "refclk";
+ clocks = <&pmu_system_controller 0>;
+ refclk-frequency = <24000000>;
+};
+
+&ehci {
+ port@1 {
+ status = "okay";
+ };
+ port@2 {
+ status = "okay";
+ };
+};
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
index bcf331543fb0..8b453a31410d 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -3,8 +3,8 @@
*
* Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com>
*
- * Device tree source file for Hardkernel's ODROID-X board which is based on
- * Samsung's Exynos4412 SoC.
+ * Device tree source file for Hardkernel's ODROID-X board which is based
+ * on Samsung's Exynos4412 SoC.
*
* 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
@@ -12,7 +12,7 @@
*/
/dts-v1/;
-#include "exynos4412.dtsi"
+#include "exynos4412-odroid-common.dtsi"
/ {
model = "Hardkernel ODROID-X board based on Exynos4412";
@@ -22,11 +22,6 @@
reg = <0x40000000 0x3FF00000>;
};
- firmware@0204F000 {
- compatible = "samsung,secure-firmware";
- reg = <0x0204F000 0x1000>;
- };
-
leds {
compatible = "gpio-leds";
led1 {
@@ -43,24 +38,12 @@
};
};
- mmc@12550000 {
- pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
- pinctrl-names = "default";
- vmmc-supply = <&ldo20_reg &buck8_reg>;
+ serial@13820000 {
status = "okay";
+ };
- num-slots = <1>;
- supports-highspeed;
- broken-cd;
- card-detect-delay = <200>;
- samsung,dw-mshc-ciu-div = <3>;
- samsung,dw-mshc-sdr-timing = <2 3>;
- samsung,dw-mshc-ddr-timing = <1 2>;
-
- slot@0 {
- reg = <0>;
- bus-width = <8>;
- };
+ serial@13830000 {
+ status = "okay";
};
regulator_p3v3 {
@@ -70,299 +53,12 @@
regulator-max-microvolt = <3300000>;
gpio = <&gpa1 1 1>;
enable-active-high;
- regulator-boot-on;
- };
-
- watchdog@10060000 {
- status = "okay";
- };
-
- rtc@10070000 {
- status = "okay";
- };
-
- g2d@10800000 {
- status = "okay";
- };
-
- camera {
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <>;
-
- fimc_0: fimc@11800000 {
- status = "okay";
- };
-
- fimc_1: fimc@11810000 {
- status = "okay";
- };
-
- fimc_2: fimc@11820000 {
- status = "okay";
- };
-
- fimc_3: fimc@11830000 {
- status = "okay";
- };
- };
-
- sdhci@12530000 {
- bus-width = <4>;
- pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
- pinctrl-names = "default";
- vmmc-supply = <&ldo4_reg &ldo21_reg>;
- status = "okay";
- };
-
- serial@13800000 {
- status = "okay";
- };
-
- serial@13810000 {
- status = "okay";
- };
-
- serial@13820000 {
- status = "okay";
- };
-
- serial@13830000 {
- status = "okay";
- };
-
- fixed-rate-clocks {
- xxti {
- compatible = "samsung,clock-xxti";
- clock-frequency = <0>;
- };
-
- xusbxti {
- compatible = "samsung,clock-xusbxti";
- clock-frequency = <24000000>;
- };
- };
-
- i2c@13860000 {
- pinctrl-0 = <&i2c0_bus>;
- pinctrl-names = "default";
- status = "okay";
-
- usb3503@08 {
- compatible = "smsc,usb3503";
- reg = <0x08>;
-
- intn-gpios = <&gpx3 0 0>;
- connect-gpios = <&gpx3 4 0>;
- reset-gpios = <&gpx3 5 0>;
- initial-mode = <1>;
- };
-
- max77686: pmic@09 {
- compatible = "maxim,max77686";
- reg = <0x09>;
- #clock-cells = <1>;
-
- voltage-regulators {
- ldo1_reg: LDO1 {
- regulator-name = "VDD_ALIVE_1.0V";
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1000000>;
- regulator-always-on;
- };
-
- ldo2_reg: LDO2 {
- regulator-name = "VDDQ_M1_2_1.8V";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- };
-
- ldo3_reg: LDO3 {
- regulator-name = "VDDQ_EXT_1.8V";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- };
-
- ldo4_reg: LDO4 {
- regulator-name = "VDDQ_MMC2_2.8V";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- ldo5_reg: LDO5 {
- regulator-name = "VDDQ_MMC1_3_1.8V";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- ldo6_reg: LDO6 {
- regulator-name = "VDD10_MPLL_1.0V";
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1000000>;
- regulator-always-on;
- };
-
- ldo7_reg: LDO7 {
- regulator-name = "VDD10_XPLL_1.0V";
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1000000>;
- regulator-always-on;
- };
-
- ldo11_reg: LDO11 {
- regulator-name = "VDD18_ABB1_1.8V";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- };
-
- ldo12_reg: LDO12 {
- regulator-name = "VDD33_USB_3.3V";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- ldo13_reg: LDO13 {
- regulator-name = "VDDQ_C2C_W_1.8V";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- ldo14_reg: LDO14 {
- regulator-name = "VDD18_ABB0_2_1.8V";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- ldo15_reg: LDO15 {
- regulator-name = "VDD10_HSIC_1.0V";
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1000000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- ldo16_reg: LDO16 {
- regulator-name = "VDD18_HSIC_1.8V";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- ldo20_reg: LDO20 {
- regulator-name = "LDO20_1.8V";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-boot-on;
- };
-
- ldo21_reg: LDO21 {
- regulator-name = "LDO21_3.3V";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- ldo25_reg: LDO25 {
- regulator-name = "VDDQ_LCD_1.8V";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- buck1_reg: BUCK1 {
- regulator-name = "vdd_mif";
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1000000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- buck2_reg: BUCK2 {
- regulator-name = "vdd_arm";
- regulator-min-microvolt = <900000>;
- regulator-max-microvolt = <1350000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- buck3_reg: BUCK3 {
- regulator-name = "vdd_int";
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1000000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- buck4_reg: BUCK4 {
- regulator-name = "vdd_g3d";
- regulator-min-microvolt = <900000>;
- regulator-max-microvolt = <1100000>;
- regulator-microvolt-offset = <50000>;
- };
-
- buck5_reg: BUCK5 {
- regulator-name = "VDDQ_CKEM1_2_1.2V";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- buck6_reg: BUCK6 {
- regulator-name = "BUCK6_1.35V";
- regulator-min-microvolt = <1350000>;
- regulator-max-microvolt = <1350000>;
- regulator-always-on;
- regulator-boot-on;
- };
-
- buck7_reg: BUCK7 {
- regulator-name = "BUCK7_2.0V";
- regulator-min-microvolt = <2000000>;
- regulator-max-microvolt = <2000000>;
- regulator-always-on;
- };
-
- buck8_reg: BUCK8 {
- regulator-name = "BUCK8_2.8V";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- regulator-always-on;
- };
- };
- };
- };
-
- exynos-usbphy@125B0000 {
- status = "okay";
- };
-
- hsotg@12480000 {
- status = "okay";
- vusb_d-supply = <&ldo15_reg>;
- vusb_a-supply = <&ldo12_reg>;
+ regulator-always-on;
};
+};
- ehci@12580000 {
+&ehci {
+ port@1 {
status = "okay";
- port@1 {
- status = "okay";
- };
};
};
diff --git a/arch/arm/boot/dts/exynos4412-odroidx2.dts b/arch/arm/boot/dts/exynos4412-odroidx2.dts
new file mode 100644
index 000000000000..e9ae161a4117
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-odroidx2.dts
@@ -0,0 +1,23 @@
+/*
+ * Hardkernel's Exynos4412 based ODROID-X2 board device tree source
+ *
+ * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com>
+ *
+ * Device tree source file for Hardkernel's ODROID-X2 board which is based
+ * on Samsung's Exynos4412 SoC.
+ *
+ * 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-odroidx.dts"
+
+/ {
+ model = "Hardkernel ODROID-X2 board based on Exynos4412";
+ compatible = "hardkernel,odroid-x2", "samsung,exynos4412", "samsung,exynos4";
+
+ memory {
+ reg = <0x40000000 0x7FF00000>;
+ };
+};
--
1.9.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 6/8] ARM: dts: exynos4412-odroid-common: disable 'always on' for BUCK8 regulator
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
` (4 preceding siblings ...)
2014-07-14 12:48 ` [PATCH v3 5/8] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3 Marek Szyprowski
@ 2014-07-14 12:48 ` Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 7/8] ARM: dts: exynos4412-odroid: add support for GPIO buttons Marek Szyprowski
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Marek Szyprowski @ 2014-07-14 12:48 UTC (permalink / raw)
To: linux-samsung-soc
Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
From: Kamil Debski <k.debski@samsung.com>
On Odroid U2/U3 BUCK8 is used for providing power to also to P3V3
source, which is also connected to LAN9730 chip's nRESET signal. To
reset lan chip on system reboot, the BUCK8 output should not be used in
'always on' mode. This change has no impact on X/X2 boards.
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index f793f3b8f0b9..ad2cb32a3439 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -297,7 +297,6 @@
regulator-name = "BUCK8_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
- regulator-always-on;
};
};
};
--
1.9.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 7/8] ARM: dts: exynos4412-odroid: add support for GPIO buttons
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
` (5 preceding siblings ...)
2014-07-14 12:48 ` [PATCH v3 6/8] ARM: dts: exynos4412-odroid-common: disable 'always on' for BUCK8 regulator Marek Szyprowski
@ 2014-07-14 12:48 ` Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 8/8] ARM: dts: exynos4412-odroid: fix T-FLASH hotplug detection Marek Szyprowski
2014-07-15 17:49 ` [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Kukjin Kim
8 siblings, 0 replies; 10+ messages in thread
From: Marek Szyprowski @ 2014-07-14 12:48 UTC (permalink / raw)
To: linux-samsung-soc
Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
This patch adds support for simple GPIO-based button availabled on
Exynos4 based Odroid boards. All supported boards have POWER button,
which has been defined in exynos4412-odroid-common.dtsi. X/X2 boards
also have additional user-configurable button which has been mapped to
KEY_HOME. All defined keys have been marked as possible wakeup source.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 24 ++++++++++++++++++++++++
arch/arm/boot/dts/exynos4412-odroidx.dts | 21 +++++++++++++++++++++
2 files changed, 45 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index ad2cb32a3439..d1b33a8efa9d 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -7,6 +7,7 @@
* published by the Free Software Foundation.
*/
+#include <dt-bindings/input/input.h>
#include "exynos4412.dtsi"
/ {
@@ -15,6 +16,22 @@
reg = <0x0204F000 0x1000>;
};
+ gpio_keys {
+ compatible = "gpio-keys";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio_power_key>;
+
+ power_key {
+ interrupt-parent = <&gpx1>;
+ interrupts = <3 0>;
+ gpios = <&gpx1 3 1>;
+ linux,code = <KEY_POWER>;
+ label = "power key";
+ debounce-interval = <10>;
+ gpio-key,wakeup;
+ };
+ };
+
mmc@12550000 {
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
pinctrl-names = "default";
@@ -316,3 +333,10 @@
status = "okay";
};
};
+
+&pinctrl_1 {
+ gpio_power_key: power_key {
+ samsung,pins = "gpx1-3";
+ samsung,pin-pud = <0>;
+ };
+};
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
index 8b453a31410d..cb1cfe7239c4 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -46,6 +46,20 @@
status = "okay";
};
+ gpio_keys {
+ pinctrl-0 = <&gpio_power_key &gpio_home_key>;
+
+ home_key {
+ interrupt-parent = <&gpx2>;
+ interrupts = <2 0>;
+ gpios = <&gpx2 2 0>;
+ linux,code = <KEY_HOME>;
+ label = "home key";
+ debounce-interval = <10>;
+ gpio-key,wakeup;
+ };
+ };
+
regulator_p3v3 {
compatible = "regulator-fixed";
regulator-name = "p3v3_en";
@@ -62,3 +76,10 @@
status = "okay";
};
};
+
+&pinctrl_1 {
+ gpio_home_key: home_key {
+ samsung,pins = "gpx2-2";
+ samsung,pin-pud = <0>;
+ };
+};
--
1.9.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 8/8] ARM: dts: exynos4412-odroid: fix T-FLASH hotplug detection
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
` (6 preceding siblings ...)
2014-07-14 12:48 ` [PATCH v3 7/8] ARM: dts: exynos4412-odroid: add support for GPIO buttons Marek Szyprowski
@ 2014-07-14 12:48 ` Marek Szyprowski
2014-07-15 17:49 ` [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Kukjin Kim
8 siblings, 0 replies; 10+ messages in thread
From: Marek Szyprowski @ 2014-07-14 12:48 UTC (permalink / raw)
To: linux-samsung-soc
Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
TFLASH (SDHCI2 controller) uses internal card detect line, but it looks
that the driver fails to operate it properly. Use GPIO interrupt on
SD_CDn line for detecting SD card state.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index d1b33a8efa9d..0bc1a9b94f47 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -91,6 +91,8 @@
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
pinctrl-names = "default";
vmmc-supply = <&ldo4_reg &ldo21_reg>;
+ cd-gpios = <&gpk2 2 0>;
+ cd-inverted;
status = "okay";
};
--
1.9.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
` (7 preceding siblings ...)
2014-07-14 12:48 ` [PATCH v3 8/8] ARM: dts: exynos4412-odroid: fix T-FLASH hotplug detection Marek Szyprowski
@ 2014-07-15 17:49 ` Kukjin Kim
8 siblings, 0 replies; 10+ messages in thread
From: Kukjin Kim @ 2014-07-15 17:49 UTC (permalink / raw)
To: Marek Szyprowski
Cc: linux-samsung-soc, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
Tobias Jakobi, Daniel Drake
On 07/14/14 21:48, Marek Szyprowski wrote:
> Hello,
>
Hi Marek,
> This is the third version of the initial patch series adding support
> for Exynos 4412 based Odroid X2 and U2/U3/U3+ boards and improving
> support for Odroid X.
>
Looks good to me and thanks for your support Odroid series.
> Complete USB support for Odroid U2/U3/U3+ still requires some fixes in
> Exynos4 USB2 Phy driver and clock driver for CLKOUT:
> http://thread.gmane.org/gmane.linux.kernel/1731843/
> http://www.spinics.net/lists/linux-usb/msg109587.html
> The above changes however don't affect Odroid DTS files, but without
> them, usb3503 hub is not yet functional.
>
> Support for audio codec and HDMI video output is available in separate patch series.
>
> If one is interested in more complete and open-source Odroid board
> support, there are also patches for u-boot project:
> http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/188295/focus=188610
>
I've applied this whole series.
- Kukjin
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-07-15 17:49 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-14 12:48 [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 1/8] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 2/8] ARM: dts: exynos4412-odroidx: enable common hardware blocks Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 3/8] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device) Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 4/8] ARM: dts: exynos4412-odroidx: correct memory size Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 5/8] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3 Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 6/8] ARM: dts: exynos4412-odroid-common: disable 'always on' for BUCK8 regulator Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 7/8] ARM: dts: exynos4412-odroid: add support for GPIO buttons Marek Szyprowski
2014-07-14 12:48 ` [PATCH v3 8/8] ARM: dts: exynos4412-odroid: fix T-FLASH hotplug detection Marek Szyprowski
2014-07-15 17:49 ` [PATCH v3 0/8] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Kukjin Kim
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.