All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support
@ 2014-06-17  9:25 Marek Szyprowski
  2014-06-17  9:25 ` [PATCH 1/4] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules Marek Szyprowski
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Marek Szyprowski @ 2014-06-17  9:25 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: Marek Szyprowski, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
	Tobias Jakobi, Daniel Drake

Hello,

This is 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://www.spinics.net/lists/linux-usb/msg108028.html
http://www.spinics.net/lists/kernel/msg1743815.html 
The above changes however don't affect Odroid DTS files, but without
them, usb3503 hub is not yet functional.

Support for audio codec will be posted separately by Sylwester Nawrocki
soon. Support for HDMI video output will be also posted separately
together with the required ExynosDRM-HDMI fixes.

If you are interested in more complete and open-source Odroid board
support, please also check the latest 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

Marek Szyprowski (4):
  ARM: dts: exynos4: add port sub-nodes to exynos usb host modules
  ARM: dts: exynos4412-odroidx: enable common hardware blocks
  ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device)
  ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and
    U2/U3

 arch/arm/boot/dts/Makefile                      |   2 +
 arch/arm/boot/dts/exynos4.dtsi                  |  24 ++
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 319 ++++++++++++++++++++++++
 arch/arm/boot/dts/exynos4412-odroidu3.dts       |  49 ++++
 arch/arm/boot/dts/exynos4412-odroidx.dts        | 264 +-------------------
 arch/arm/boot/dts/exynos4412-odroidx2.dts       |  23 ++
 6 files changed, 424 insertions(+), 257 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] 13+ messages in thread

* [PATCH 1/4] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules
  2014-06-17  9:25 [PATCH 0/4] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
@ 2014-06-17  9:25 ` Marek Szyprowski
  2014-06-19 11:44   ` Daniel Drake
  2014-06-17  9:25 ` [PATCH 2/4] ARM: dts: exynos4412-odroidx: enable common hardware blocks Marek Szyprowski
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 13+ messages in thread
From: Marek Szyprowski @ 2014-06-17  9:25 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 b8ece4be41ca..c91284441694 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] 13+ messages in thread

* [PATCH 2/4] ARM: dts: exynos4412-odroidx: enable common hardware blocks
  2014-06-17  9:25 [PATCH 0/4] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
  2014-06-17  9:25 ` [PATCH 1/4] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules Marek Szyprowski
@ 2014-06-17  9:25 ` Marek Szyprowski
  2014-06-19 12:21   ` Daniel Drake
  2014-06-17  9:25 ` [PATCH 3/4] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device) Marek Szyprowski
  2014-06-17  9:25 ` [PATCH 4/4] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3 Marek Szyprowski
  3 siblings, 1 reply; 13+ messages in thread
From: Marek Szyprowski @ 2014-06-17  9:25 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] 13+ messages in thread

* [PATCH 3/4] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device)
  2014-06-17  9:25 [PATCH 0/4] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
  2014-06-17  9:25 ` [PATCH 1/4] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules Marek Szyprowski
  2014-06-17  9:25 ` [PATCH 2/4] ARM: dts: exynos4412-odroidx: enable common hardware blocks Marek Szyprowski
@ 2014-06-17  9:25 ` Marek Szyprowski
  2014-06-19 12:32   ` Daniel Drake
  2014-06-17  9:25 ` [PATCH 4/4] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3 Marek Szyprowski
  3 siblings, 1 reply; 13+ messages in thread
From: Marek Szyprowski @ 2014-06-17  9:25 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>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
 arch/arm/boot/dts/exynos4412-odroidx.dts | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
index fda9ac23dd55..1a067cc00072 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,24 @@
 			};
 		};
 	};
+
+	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";
+		};
+		port@2 {
+			status = "okay";
+		};
+	};
 };
-- 
1.9.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/4] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3
  2014-06-17  9:25 [PATCH 0/4] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
                   ` (2 preceding siblings ...)
  2014-06-17  9:25 ` [PATCH 3/4] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device) Marek Szyprowski
@ 2014-06-17  9:25 ` Marek Szyprowski
  2014-06-19 12:43   ` Daniel Drake
  3 siblings, 1 reply; 13+ messages in thread
From: Marek Szyprowski @ 2014-06-17  9:25 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 +
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 319 +++++++++++++++++++++++
 arch/arm/boot/dts/exynos4412-odroidu3.dts       |  49 ++++
 arch/arm/boot/dts/exynos4412-odroidx.dts        | 329 +-----------------------
 arch/arm/boot/dts/exynos4412-odroidx2.dts       |  23 ++
 5 files changed, 400 insertions(+), 322 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

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5986ff63b901..28b354936685 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-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
new file mode 100644
index 000000000000..f793f3b8f0b9
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -0,0 +1,319 @@
+/*
+ * 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"
+
+/ {
+	firmware@0204F000 {
+		compatible = "samsung,secure-firmware";
+		reg = <0x0204F000 0x1000>;
+	};
+
+	mmc@12550000 {
+		pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
+		pinctrl-names = "default";
+		vmmc-supply = <&ldo20_reg &buck8_reg>;
+		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>;
+		};
+	};
+
+	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";
+	};
+
+	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: 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>;
+	};
+
+	ehci: ehci@12580000 {
+		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..b89408ea9efc
--- /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 0x80000000>;
+	};
+
+	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 1a067cc00072..9711b6dcfbcc 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 0x40000000>;
 	};
 
-	firmware@0204F000 {
-		compatible = "samsung,secure-firmware";
-		reg = <0x0204F000 0x1000>;
-	};
-
 	leds {
 		compatible = "gpio-leds";
 		led1 {
@@ -43,26 +38,6 @@
 		};
 	};
 
-	mmc@12550000 {
-		pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
-		pinctrl-names = "default";
-		vmmc-supply = <&ldo20_reg &buck8_reg>;
-		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>;
-		};
-	};
-
 	regulator_p3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "p3v3_en";
@@ -70,302 +45,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";
-		};
-		port@2 {
-			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..5b934dd2af35
--- /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 0x80000000>;
+	};
+};
-- 
1.9.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/4] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules
  2014-06-17  9:25 ` [PATCH 1/4] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules Marek Szyprowski
@ 2014-06-19 11:44   ` Daniel Drake
  2014-06-19 13:12     ` Tomasz Figa
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel Drake @ 2014-06-19 11:44 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: linux-samsung-soc, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
	Tobias Jakobi

On Tue, Jun 17, 2014 at 10:25 AM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> 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>

I checked this against the DT binding documentation for the
samsung,exynos4210-ohci and samsung,exynos4210-ehci nodes, and also
the usb2 phy binding docs. Looks fine.

Also tested on ODROID-U2, seems to be working:

ehci-exynos: EHCI EXYNOS driver
exynos-ehci 12580000.ehci: EHCI Host Controller
exynos-ehci 12580000.ehci: new USB bus registered, assigned bus number 1
exynos-ehci 12580000.ehci: irq 102, io mem 0x12580000
exynos-ehci 12580000.ehci: USB 2.0 started, EHCI 1.00
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci-exynos: OHCI EXYNOS driver

...and the onboard USB (EHCI) ethernet adapter works. Nice.

The only thing I don't quite understand is the relationship between
EHCI and OHCI controllers, one being at 12580000 and the other at
1259000; the SoC docs (which I have not studied in detail) don't make
this very clear to me - no registers listed at base address 12590000?
Anyway,

Reviewed-by: Daniel Drake <drake@endlessm.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/4] ARM: dts: exynos4412-odroidx: enable common hardware blocks
  2014-06-17  9:25 ` [PATCH 2/4] ARM: dts: exynos4412-odroidx: enable common hardware blocks Marek Szyprowski
@ 2014-06-19 12:21   ` Daniel Drake
  2014-06-19 13:08     ` Tomasz Figa
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel Drake @ 2014-06-19 12:21 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: linux-samsung-soc, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
	Tobias Jakobi

On Tue, Jun 17, 2014 at 10:25 AM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> 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.

For the secure firmware, this is indeed required for U2/U3, otherwise
the system crashes in weird ways during early boot. If this entry also
makes sense for ODROID-X, I'm surprised it was not there already, does
it boot without it?

As for the watchdog, g2d and fimc, is there really any Exynos4412
configuration where such components are not available?
Sorry if that is a silly question - just wondering why we wouldn't
enable these in exynos4412.dtsi.

Thanks
Daniel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/4] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device)
  2014-06-17  9:25 ` [PATCH 3/4] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device) Marek Szyprowski
@ 2014-06-19 12:32   ` Daniel Drake
  0 siblings, 0 replies; 13+ messages in thread
From: Daniel Drake @ 2014-06-19 12:32 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: linux-samsung-soc, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
	Tobias Jakobi

On Tue, Jun 17, 2014 at 10:25 AM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> 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>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

Checked that this conforms to the documented DT bindings.

Reviewed-by: Daniel Drake <drake@endlessm.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/4] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3
  2014-06-17  9:25 ` [PATCH 4/4] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3 Marek Szyprowski
@ 2014-06-19 12:43   ` Daniel Drake
  2014-06-24 11:47     ` Marek Szyprowski
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel Drake @ 2014-06-19 12:43 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: linux-samsung-soc, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
	Tobias Jakobi

On Tue, Jun 17, 2014 at 10:25 AM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> 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).

Thanks for this! It is working on ODROID-U2: at least eMMC/SD, LED, serial.

Just 2 minor questions from reviewing:

Odroid-X DTS used to have serial ports at 13820000 and 13830000, this
patch removes them, but leaves 2.
I can understand the idea of removing entries for ports that are not
available on the board, but I've never seen an ODROID with 2 serial
ports - should we bring this down to just the 1 enabled serial port
that is accessible?

Odroid-X DTS used to enable EHCI port 2, but with this refactoring, no
longer does. Intentional?

Thanks
Daniel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/4] ARM: dts: exynos4412-odroidx: enable common hardware blocks
  2014-06-19 12:21   ` Daniel Drake
@ 2014-06-19 13:08     ` Tomasz Figa
  0 siblings, 0 replies; 13+ messages in thread
From: Tomasz Figa @ 2014-06-19 13:08 UTC (permalink / raw)
  To: Daniel Drake, Marek Szyprowski
  Cc: linux-samsung-soc, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
	Tobias Jakobi

On 19.06.2014 14:21, Daniel Drake wrote:
> On Tue, Jun 17, 2014 at 10:25 AM, Marek Szyprowski
> <m.szyprowski@samsung.com> wrote:
>> 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.
> 
> For the secure firmware, this is indeed required for U2/U3, otherwise
> the system crashes in weird ways during early boot. If this entry also
> makes sense for ODROID-X, I'm surprised it was not there already, does
> it boot without it?

It probably does, but certain things fail, such as secondary CPU bring-up.

> 
> As for the watchdog, g2d and fimc, is there really any Exynos4412
> configuration where such components are not available?
> Sorry if that is a silly question - just wondering why we wouldn't
> enable these in exynos4412.dtsi.

I believe they should all be enabled at highest possible level, as they
don't have any board-specific hardware dependencies. Probably even in
exynos4.dtsi for some of them (watchdog likely).

Best regards,
Tomasz

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/4] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules
  2014-06-19 11:44   ` Daniel Drake
@ 2014-06-19 13:12     ` Tomasz Figa
  0 siblings, 0 replies; 13+ messages in thread
From: Tomasz Figa @ 2014-06-19 13:12 UTC (permalink / raw)
  To: Daniel Drake, Marek Szyprowski
  Cc: linux-samsung-soc, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
	Tobias Jakobi

On 19.06.2014 13:44, Daniel Drake wrote:
> On Tue, Jun 17, 2014 at 10:25 AM, Marek Szyprowski
> <m.szyprowski@samsung.com> wrote:
>> 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>
> 
> I checked this against the DT binding documentation for the
> samsung,exynos4210-ohci and samsung,exynos4210-ehci nodes, and also
> the usb2 phy binding docs. Looks fine.
> 
> Also tested on ODROID-U2, seems to be working:

Thanks for testing.

> 
> ehci-exynos: EHCI EXYNOS driver
> exynos-ehci 12580000.ehci: EHCI Host Controller
> exynos-ehci 12580000.ehci: new USB bus registered, assigned bus number 1
> exynos-ehci 12580000.ehci: irq 102, io mem 0x12580000
> exynos-ehci 12580000.ehci: USB 2.0 started, EHCI 1.00
> ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> ohci-exynos: OHCI EXYNOS driver
> 
> ...and the onboard USB (EHCI) ethernet adapter works. Nice.
> 
> The only thing I don't quite understand is the relationship between
> EHCI and OHCI controllers, one being at 12580000 and the other at
> 1259000; the SoC docs (which I have not studied in detail) don't make
> this very clear to me - no registers listed at base address 12590000?
> Anyway,

Well, that's exactly the same relationship as on PCs, where you have
both EHCI and UHCI/OHCI and depending on what kind of device you connect
the proper controller will pick it up.

AFAIK the base address is good, but I believe it was already tested anyway.

Best regards,
Tomasz

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/4] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3
  2014-06-19 12:43   ` Daniel Drake
@ 2014-06-24 11:47     ` Marek Szyprowski
  2014-06-25 22:15       ` Tomasz Figa
  0 siblings, 1 reply; 13+ messages in thread
From: Marek Szyprowski @ 2014-06-24 11:47 UTC (permalink / raw)
  To: Daniel Drake
  Cc: linux-samsung-soc, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
	Tobias Jakobi

Hello,

On 2014-06-19 14:43, Daniel Drake wrote:
> On Tue, Jun 17, 2014 at 10:25 AM, Marek Szyprowski
> <m.szyprowski@samsung.com> wrote:
>> 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).
> Thanks for this! It is working on ODROID-U2: at least eMMC/SD, LED, serial.
>
> Just 2 minor questions from reviewing:
>
> Odroid-X DTS used to have serial ports at 13820000 and 13830000, this
> patch removes them, but leaves 2.

Right. I've forgot the UART port change. Now I've checked it again and
schematics reveals that Odroid X/X2 and U2/U3 has UART1 available on UART
connector. On the other hand U2/U3 have UART0 RX/TX lines on GPIO connector,
while X/X2 has UART3 lines on the LCD/GPIO connector.

> I can understand the idea of removing entries for ports that are not
> available on the board, but I've never seen an ODROID with 2 serial
> ports - should we bring this down to just the 1 enabled serial port
> that is accessible?

That would be best solution, but this way the tty driver name will change
from ttySAC1 to ttySAC0 for UART1 port. Until uart driver gets fixed, I
would keep all 4 uart defined on X/X2 and define only uart 0 and 1 on
U2/U3. I will fix this in the next version of Odroid patches.

> Odroid-X DTS used to enable EHCI port 2, but with this refactoring, no
> longer does. Intentional?

This was a bug in the initial patch adding usb support. X and X2 uses only
HSCI0 port (ehci port 1).

Thanks for your review!

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/4] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3
  2014-06-24 11:47     ` Marek Szyprowski
@ 2014-06-25 22:15       ` Tomasz Figa
  0 siblings, 0 replies; 13+ messages in thread
From: Tomasz Figa @ 2014-06-25 22:15 UTC (permalink / raw)
  To: Marek Szyprowski, Daniel Drake
  Cc: linux-samsung-soc, Kukjin Kim, Kamil Debski, Sylwester Nawrocki,
	Tobias Jakobi

Hi Marek, Daniel,

On 24.06.2014 13:47, Marek Szyprowski wrote:
> Hello,
> 
> On 2014-06-19 14:43, Daniel Drake wrote:
>> On Tue, Jun 17, 2014 at 10:25 AM, Marek Szyprowski
>> <m.szyprowski@samsung.com> wrote:
>>> 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).
>> Thanks for this! It is working on ODROID-U2: at least eMMC/SD, LED,
>> serial.
>>
>> Just 2 minor questions from reviewing:
>>
>> Odroid-X DTS used to have serial ports at 13820000 and 13830000, this
>> patch removes them, but leaves 2.
> 
> Right. I've forgot the UART port change. Now I've checked it again and
> schematics reveals that Odroid X/X2 and U2/U3 has UART1 available on UART
> connector. On the other hand U2/U3 have UART0 RX/TX lines on GPIO
> connector,
> while X/X2 has UART3 lines on the LCD/GPIO connector.
> 
>> I can understand the idea of removing entries for ports that are not
>> available on the board, but I've never seen an ODROID with 2 serial
>> ports - should we bring this down to just the 1 enabled serial port
>> that is accessible?
> 
> That would be best solution, but this way the tty driver name will change
> from ttySAC1 to ttySAC0 for UART1 port. Until uart driver gets fixed, I
> would keep all 4 uart defined on X/X2 and define only uart 0 and 1 on
> U2/U3. I will fix this in the next version of Odroid patches.

I managed to code port ID look-up from DT aliases today. I'll try to
polish the patches a bit more and send them to ML tomorrow. With this,
the problem should be fixed.

Best regards,
Tomasz

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-06-25 22:16 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-17  9:25 [PATCH 0/4] Add Exynos4412 based Odroid X2 and U2/U3/U3+ support Marek Szyprowski
2014-06-17  9:25 ` [PATCH 1/4] ARM: dts: exynos4: add port sub-nodes to exynos usb host modules Marek Szyprowski
2014-06-19 11:44   ` Daniel Drake
2014-06-19 13:12     ` Tomasz Figa
2014-06-17  9:25 ` [PATCH 2/4] ARM: dts: exynos4412-odroidx: enable common hardware blocks Marek Szyprowski
2014-06-19 12:21   ` Daniel Drake
2014-06-19 13:08     ` Tomasz Figa
2014-06-17  9:25 ` [PATCH 3/4] ARM: dts: exynos4412-odroidx: add support for USB (phy, host, device) Marek Szyprowski
2014-06-19 12:32   ` Daniel Drake
2014-06-17  9:25 ` [PATCH 4/4] ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3 Marek Szyprowski
2014-06-19 12:43   ` Daniel Drake
2014-06-24 11:47     ` Marek Szyprowski
2014-06-25 22:15       ` Tomasz Figa

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.