* [PATCH v3 01/27] dt-bindings: clock: Add license and reformat Exynos5410 clock IDs
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 02/27] dt-bindings: clock: Add PWM and USB clock IDs to Exynos5410 Krzysztof Kozlowski
` (26 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Add license and copyrights (file introduced in 2014) to header with
Exynos5410 clock IDs. Additionally reformat it to improve readability.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
include/dt-bindings/clock/exynos5410.h | 54 ++++++++++++++++++++--------------
1 file changed, 32 insertions(+), 22 deletions(-)
diff --git a/include/dt-bindings/clock/exynos5410.h b/include/dt-bindings/clock/exynos5410.h
index 9b180f032e2d..213f19e02870 100644
--- a/include/dt-bindings/clock/exynos5410.h
+++ b/include/dt-bindings/clock/exynos5410.h
@@ -1,33 +1,43 @@
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * 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.
+ *
+ * Device Tree binding constants for Exynos5421 clock controller.
+*/
+
#ifndef _DT_BINDINGS_CLOCK_EXYNOS_5410_H
#define _DT_BINDINGS_CLOCK_EXYNOS_5410_H
/* core clocks */
-#define CLK_FIN_PLL 1
-#define CLK_FOUT_APLL 2
-#define CLK_FOUT_CPLL 3
-#define CLK_FOUT_MPLL 4
-#define CLK_FOUT_BPLL 5
-#define CLK_FOUT_KPLL 6
+#define CLK_FIN_PLL 1
+#define CLK_FOUT_APLL 2
+#define CLK_FOUT_CPLL 3
+#define CLK_FOUT_MPLL 4
+#define CLK_FOUT_BPLL 5
+#define CLK_FOUT_KPLL 6
/* gate for special clocks (sclk) */
-#define CLK_SCLK_UART0 128
-#define CLK_SCLK_UART1 129
-#define CLK_SCLK_UART2 130
-#define CLK_SCLK_UART3 131
-#define CLK_SCLK_MMC0 132
-#define CLK_SCLK_MMC1 133
-#define CLK_SCLK_MMC2 134
+#define CLK_SCLK_UART0 128
+#define CLK_SCLK_UART1 129
+#define CLK_SCLK_UART2 130
+#define CLK_SCLK_UART3 131
+#define CLK_SCLK_MMC0 132
+#define CLK_SCLK_MMC1 133
+#define CLK_SCLK_MMC2 134
/* gate clocks */
-#define CLK_UART0 257
-#define CLK_UART1 258
-#define CLK_UART2 259
-#define CLK_UART3 260
-#define CLK_MCT 315
-#define CLK_MMC0 351
-#define CLK_MMC1 352
-#define CLK_MMC2 353
+#define CLK_UART0 257
+#define CLK_UART1 258
+#define CLK_UART2 259
+#define CLK_UART3 260
+#define CLK_MCT 315
+#define CLK_MMC0 351
+#define CLK_MMC1 352
+#define CLK_MMC2 353
-#define CLK_NR_CLKS 512
+#define CLK_NR_CLKS 512
#endif /* _DT_BINDINGS_CLOCK_EXYNOS_5410_H */
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 02/27] dt-bindings: clock: Add PWM and USB clock IDs to Exynos5410
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 01/27] dt-bindings: clock: Add license and reformat Exynos5410 clock IDs Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 03/27] ARM: dts: exynos: Add fin_pll node for clock driver Krzysztof Kozlowski
` (25 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Add IDs for PWM and USB clocks to Exynos5410. Use the same number as for
Exynos5420 just in case in future these drivers were merged.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
include/dt-bindings/clock/exynos5410.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/include/dt-bindings/clock/exynos5410.h b/include/dt-bindings/clock/exynos5410.h
index 213f19e02870..34c8e96987a1 100644
--- a/include/dt-bindings/clock/exynos5410.h
+++ b/include/dt-bindings/clock/exynos5410.h
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Krzysztof Kozlowski
*
* 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
@@ -27,16 +28,25 @@
#define CLK_SCLK_MMC0 132
#define CLK_SCLK_MMC1 133
#define CLK_SCLK_MMC2 134
+#define CLK_SCLK_USBD300 150
+#define CLK_SCLK_USBD301 151
+#define CLK_SCLK_USBPHY300 152
+#define CLK_SCLK_USBPHY301 153
+#define CLK_SCLK_PWM 155
/* gate clocks */
#define CLK_UART0 257
#define CLK_UART1 258
#define CLK_UART2 259
#define CLK_UART3 260
+#define CLK_PWM 279
#define CLK_MCT 315
#define CLK_MMC0 351
#define CLK_MMC1 352
#define CLK_MMC2 353
+#define CLK_USBH20 365
+#define CLK_USBD300 366
+#define CLK_USBD301 367
#define CLK_NR_CLKS 512
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 03/27] ARM: dts: exynos: Add fin_pll node for clock driver
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 01/27] dt-bindings: clock: Add license and reformat Exynos5410 clock IDs Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 02/27] dt-bindings: clock: Add PWM and USB clock IDs to Exynos5410 Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 04/27] clk: samsung: exynos5410: Provide fin_pll external fixed clock Krzysztof Kozlowski
` (24 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
For consistency between Exynos5410 and Exynos542x/5800 switch to similar
way of defining fin_pll/oscclk. Add a node early, before implementing
this in driver to preserve bisectability.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5410-smdk5410.dts | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5410-smdk5410.dts b/arch/arm/boot/dts/exynos5410-smdk5410.dts
index 0f6429e1b75c..d7d658deeff4 100644
--- a/arch/arm/boot/dts/exynos5410-smdk5410.dts
+++ b/arch/arm/boot/dts/exynos5410-smdk5410.dts
@@ -31,6 +31,13 @@
#clock-cells = <0>;
};
+ fixed-rate-clocks {
+ oscclk {
+ compatible = "samsung,exynos5420-oscclk";
+ clock-frequency = <24000000>;
+ };
+ };
+
firmware at 02037000 {
compatible = "samsung,secure-firmware";
reg = <0x02037000 0x1000>;
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 04/27] clk: samsung: exynos5410: Provide fin_pll external fixed clock
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (2 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 03/27] ARM: dts: exynos: Add fin_pll node for clock driver Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 05/27] ARM: dts: exynos: Switch MCT node to a new fin_pll clock Krzysztof Kozlowski
` (23 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Just like clock driver for Exynos542x/5800, provide the fixed clock here
so the clock bindings and their consumers would be consistent and
similar.
However a clock named "fin_pll" is already provided by generic
fixed-clock and it is both referenced in the clock driver (by name) and
in DT (by phandle). To make the transition smooth, first introduce the
new external fixed clock here under temporary, different name and switch
internal users to it.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
drivers/clk/samsung/clk-exynos5410.c | 42 +++++++++++++++++++++++++-----------
1 file changed, 29 insertions(+), 13 deletions(-)
diff --git a/drivers/clk/samsung/clk-exynos5410.c b/drivers/clk/samsung/clk-exynos5410.c
index d5d5dcabc4a9..35f2cb36f7ef 100644
--- a/drivers/clk/samsung/clk-exynos5410.c
+++ b/drivers/clk/samsung/clk-exynos5410.c
@@ -59,23 +59,29 @@ enum exynos5410_plls {
};
/* list of all parent clocks */
-PNAME(apll_p) = { "fin_pll", "fout_apll", };
-PNAME(bpll_p) = { "fin_pll", "fout_bpll", };
-PNAME(cpll_p) = { "fin_pll", "fout_cpll" };
-PNAME(mpll_p) = { "fin_pll", "fout_mpll", };
-PNAME(kpll_p) = { "fin_pll", "fout_kpll", };
+PNAME(apll_p) = { "fin_pll_new", "fout_apll", };
+PNAME(bpll_p) = { "fin_pll_new", "fout_bpll", };
+PNAME(cpll_p) = { "fin_pll_new", "fout_cpll" };
+PNAME(mpll_p) = { "fin_pll_new", "fout_mpll", };
+PNAME(kpll_p) = { "fin_pll_new", "fout_kpll", };
PNAME(mout_cpu_p) = { "mout_apll", "sclk_mpll", };
PNAME(mout_kfc_p) = { "mout_kpll", "sclk_mpll", };
-PNAME(mpll_user_p) = { "fin_pll", "sclk_mpll", };
-PNAME(bpll_user_p) = { "fin_pll", "sclk_bpll", };
+PNAME(mpll_user_p) = { "fin_pll_new", "sclk_mpll", };
+PNAME(bpll_user_p) = { "fin_pll_new", "sclk_bpll", };
PNAME(mpll_bpll_p) = { "sclk_mpll_muxed", "sclk_bpll_muxed", };
-PNAME(group2_p) = { "fin_pll", "fin_pll", "none", "none",
+PNAME(group2_p) = { "fin_pll_new", "fin_pll_new", "none", "none",
"none", "none", "sclk_mpll_bpll",
"none", "none", "sclk_cpll" };
+/* fixed rate clocks generated outside the soc */
+static struct samsung_fixed_rate_clock
+ exynos5x_fixed_rate_ext_clks[] __initdata = {
+ FRATE(CLK_FIN_PLL, "fin_pll_new", NULL, 0, 0),
+};
+
static struct samsung_mux_clock exynos5410_mux_clks[] __initdata = {
MUX(0, "mout_apll", apll_p, SRC_CPU, 0, 1),
MUX(0, "mout_cpu", mout_cpu_p, SRC_CPU, 16, 1),
@@ -168,18 +174,24 @@ static struct samsung_gate_clock exynos5410_gate_clks[] __initdata = {
};
static struct samsung_pll_clock exynos5410_plls[nr_plls] __initdata = {
- [apll] = PLL(pll_35xx, CLK_FOUT_APLL, "fout_apll", "fin_pll", APLL_LOCK,
+ [apll] = PLL(pll_35xx, CLK_FOUT_APLL, "fout_apll", "fin_pll_new", APLL_LOCK,
APLL_CON0, NULL),
- [cpll] = PLL(pll_35xx, CLK_FOUT_CPLL, "fout_cpll", "fin_pll", CPLL_LOCK,
+ [cpll] = PLL(pll_35xx, CLK_FOUT_CPLL, "fout_cpll", "fin_pll_new", CPLL_LOCK,
CPLL_CON0, NULL),
- [mpll] = PLL(pll_35xx, CLK_FOUT_MPLL, "fout_mpll", "fin_pll", MPLL_LOCK,
+ [mpll] = PLL(pll_35xx, CLK_FOUT_MPLL, "fout_mpll", "fin_pll_new", MPLL_LOCK,
MPLL_CON0, NULL),
- [bpll] = PLL(pll_35xx, CLK_FOUT_BPLL, "fout_bpll", "fin_pll", BPLL_LOCK,
+ [bpll] = PLL(pll_35xx, CLK_FOUT_BPLL, "fout_bpll", "fin_pll_new", BPLL_LOCK,
BPLL_CON0, NULL),
- [kpll] = PLL(pll_35xx, CLK_FOUT_KPLL, "fout_kpll", "fin_pll", KPLL_LOCK,
+ [kpll] = PLL(pll_35xx, CLK_FOUT_KPLL, "fout_kpll", "fin_pll_new", KPLL_LOCK,
KPLL_CON0, NULL),
};
+/* Same as in Exynos5420 */
+static const struct of_device_id ext_clk_match[] __initconst = {
+ { .compatible = "samsung,exynos5420-oscclk", .data = (void *)0, },
+ { },
+};
+
/* register exynos5410 clocks */
static void __init exynos5410_clk_init(struct device_node *np)
{
@@ -192,6 +204,10 @@ static void __init exynos5410_clk_init(struct device_node *np)
ctx = samsung_clk_init(np, reg_base, CLK_NR_CLKS);
+ samsung_clk_of_register_fixed_ext(ctx, exynos5x_fixed_rate_ext_clks,
+ ARRAY_SIZE(exynos5x_fixed_rate_ext_clks),
+ ext_clk_match);
+
samsung_clk_register_pll(ctx, exynos5410_plls,
ARRAY_SIZE(exynos5410_plls), reg_base);
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 05/27] ARM: dts: exynos: Switch MCT node to a new fin_pll clock
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (3 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 04/27] clk: samsung: exynos5410: Provide fin_pll external fixed clock Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 06/27] ARM: dts: exynos: Remove old fixed-clock provider on SMDK5410 Krzysztof Kozlowski
` (22 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
The clk-exynos5410 driver now provides the "fin_pll" external fixed
clock. Switch the Multi-Core Timer to this clock.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5410.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
index 7a56aec2c5ba..233149abfb62 100644
--- a/arch/arm/boot/dts/exynos5410.dtsi
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -125,7 +125,7 @@
interrupts = <0>, <1>, <2>, <3>,
<4>, <5>, <6>, <7>,
<8>, <9>, <10>, <11>;
- clocks = <&fin_pll>, <&clock CLK_MCT>;
+ clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
clock-names = "fin_pll", "mct";
interrupt_map: interrupt-map {
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 06/27] ARM: dts: exynos: Remove old fixed-clock provider on SMDK5410
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (4 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 05/27] ARM: dts: exynos: Switch MCT node to a new fin_pll clock Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 07/27] clk: samsung: exynos5410: Rename fin_pll from temporary to regular name Krzysztof Kozlowski
` (21 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
All "fin_pll" clock users were switched to the new one, provided by
Exynos5410 clock driver. Remove old DT node.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5410-smdk5410.dts | 7 -------
1 file changed, 7 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5410-smdk5410.dts b/arch/arm/boot/dts/exynos5410-smdk5410.dts
index d7d658deeff4..377a679b454b 100644
--- a/arch/arm/boot/dts/exynos5410-smdk5410.dts
+++ b/arch/arm/boot/dts/exynos5410-smdk5410.dts
@@ -24,13 +24,6 @@
bootargs = "console=ttySAC2,115200";
};
- fin_pll: xxti {
- compatible = "fixed-clock";
- clock-frequency = <24000000>;
- clock-output-names = "fin_pll";
- #clock-cells = <0>;
- };
-
fixed-rate-clocks {
oscclk {
compatible = "samsung,exynos5420-oscclk";
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 07/27] clk: samsung: exynos5410: Rename fin_pll from temporary to regular name
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (5 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 06/27] ARM: dts: exynos: Remove old fixed-clock provider on SMDK5410 Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 08/27] clk: samsung: exynos5410: Add serial3, USB and PWM clocks Krzysztof Kozlowski
` (20 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
For smooth transition of fin_pll to clk-exynos5410.c from fixed-clock
driver, initially it was named "fin_pll_new". Fix this here.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
drivers/clk/samsung/clk-exynos5410.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/clk/samsung/clk-exynos5410.c b/drivers/clk/samsung/clk-exynos5410.c
index 35f2cb36f7ef..a7d714435307 100644
--- a/drivers/clk/samsung/clk-exynos5410.c
+++ b/drivers/clk/samsung/clk-exynos5410.c
@@ -59,27 +59,27 @@ enum exynos5410_plls {
};
/* list of all parent clocks */
-PNAME(apll_p) = { "fin_pll_new", "fout_apll", };
-PNAME(bpll_p) = { "fin_pll_new", "fout_bpll", };
-PNAME(cpll_p) = { "fin_pll_new", "fout_cpll" };
-PNAME(mpll_p) = { "fin_pll_new", "fout_mpll", };
-PNAME(kpll_p) = { "fin_pll_new", "fout_kpll", };
+PNAME(apll_p) = { "fin_pll", "fout_apll", };
+PNAME(bpll_p) = { "fin_pll", "fout_bpll", };
+PNAME(cpll_p) = { "fin_pll", "fout_cpll" };
+PNAME(mpll_p) = { "fin_pll", "fout_mpll", };
+PNAME(kpll_p) = { "fin_pll", "fout_kpll", };
PNAME(mout_cpu_p) = { "mout_apll", "sclk_mpll", };
PNAME(mout_kfc_p) = { "mout_kpll", "sclk_mpll", };
-PNAME(mpll_user_p) = { "fin_pll_new", "sclk_mpll", };
-PNAME(bpll_user_p) = { "fin_pll_new", "sclk_bpll", };
+PNAME(mpll_user_p) = { "fin_pll", "sclk_mpll", };
+PNAME(bpll_user_p) = { "fin_pll", "sclk_bpll", };
PNAME(mpll_bpll_p) = { "sclk_mpll_muxed", "sclk_bpll_muxed", };
-PNAME(group2_p) = { "fin_pll_new", "fin_pll_new", "none", "none",
+PNAME(group2_p) = { "fin_pll", "fin_pll", "none", "none",
"none", "none", "sclk_mpll_bpll",
"none", "none", "sclk_cpll" };
/* fixed rate clocks generated outside the soc */
static struct samsung_fixed_rate_clock
exynos5x_fixed_rate_ext_clks[] __initdata = {
- FRATE(CLK_FIN_PLL, "fin_pll_new", NULL, 0, 0),
+ FRATE(CLK_FIN_PLL, "fin_pll", NULL, 0, 0),
};
static struct samsung_mux_clock exynos5410_mux_clks[] __initdata = {
@@ -174,15 +174,15 @@ static struct samsung_gate_clock exynos5410_gate_clks[] __initdata = {
};
static struct samsung_pll_clock exynos5410_plls[nr_plls] __initdata = {
- [apll] = PLL(pll_35xx, CLK_FOUT_APLL, "fout_apll", "fin_pll_new", APLL_LOCK,
+ [apll] = PLL(pll_35xx, CLK_FOUT_APLL, "fout_apll", "fin_pll", APLL_LOCK,
APLL_CON0, NULL),
- [cpll] = PLL(pll_35xx, CLK_FOUT_CPLL, "fout_cpll", "fin_pll_new", CPLL_LOCK,
+ [cpll] = PLL(pll_35xx, CLK_FOUT_CPLL, "fout_cpll", "fin_pll", CPLL_LOCK,
CPLL_CON0, NULL),
- [mpll] = PLL(pll_35xx, CLK_FOUT_MPLL, "fout_mpll", "fin_pll_new", MPLL_LOCK,
+ [mpll] = PLL(pll_35xx, CLK_FOUT_MPLL, "fout_mpll", "fin_pll", MPLL_LOCK,
MPLL_CON0, NULL),
- [bpll] = PLL(pll_35xx, CLK_FOUT_BPLL, "fout_bpll", "fin_pll_new", BPLL_LOCK,
+ [bpll] = PLL(pll_35xx, CLK_FOUT_BPLL, "fout_bpll", "fin_pll", BPLL_LOCK,
BPLL_CON0, NULL),
- [kpll] = PLL(pll_35xx, CLK_FOUT_KPLL, "fout_kpll", "fin_pll_new", KPLL_LOCK,
+ [kpll] = PLL(pll_35xx, CLK_FOUT_KPLL, "fout_kpll", "fin_pll", KPLL_LOCK,
KPLL_CON0, NULL),
};
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 08/27] clk: samsung: exynos5410: Add serial3, USB and PWM clocks
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (6 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 07/27] clk: samsung: exynos5410: Rename fin_pll from temporary to regular name Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 09/27] ARM: dts: exynos: Re-order alphabetically Exynos5420 SD0/SD1 pinctrl nodes Krzysztof Kozlowski
` (19 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Just like other Exynos5 family SoCs, this one has four UARTs. Add
missing UART3 clocks to the Exynos5410 clock driver.
Add clocks for USB and PWM.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
drivers/clk/samsung/clk-exynos5410.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/drivers/clk/samsung/clk-exynos5410.c b/drivers/clk/samsung/clk-exynos5410.c
index a7d714435307..40775f678f02 100644
--- a/drivers/clk/samsung/clk-exynos5410.c
+++ b/drivers/clk/samsung/clk-exynos5410.c
@@ -33,9 +33,11 @@
#define SRC_CPERI1 0x4204
#define DIV_TOP0 0x10510
#define DIV_TOP1 0x10514
+#define DIV_FSYS0 0x10548
#define DIV_FSYS1 0x1054c
#define DIV_FSYS2 0x10550
#define DIV_PERIC0 0x10558
+#define DIV_PERIC3 0x10564
#define SRC_TOP0 0x10210
#define SRC_TOP1 0x10214
#define SRC_TOP2 0x10218
@@ -44,6 +46,8 @@
#define SRC_MASK_FSYS 0x10340
#define SRC_MASK_PERIC0 0x10350
#define GATE_BUS_FSYS0 0x10740
+#define GATE_TOP_SCLK_FSYS 0x10840
+#define GATE_TOP_SCLK_PERIC 0x10850
#define GATE_IP_FSYS 0x10944
#define GATE_IP_PERIC 0x10950
#define GATE_IP_PERIS 0x10960
@@ -71,6 +75,7 @@ PNAME(mout_kfc_p) = { "mout_kpll", "sclk_mpll", };
PNAME(mpll_user_p) = { "fin_pll", "sclk_mpll", };
PNAME(bpll_user_p) = { "fin_pll", "sclk_bpll", };
PNAME(mpll_bpll_p) = { "sclk_mpll_muxed", "sclk_bpll_muxed", };
+PNAME(sclk_mpll_bpll_p) = { "sclk_mpll_bpll", "fin_pll", };
PNAME(group2_p) = { "fin_pll", "fin_pll", "none", "none",
"none", "none", "sclk_mpll_bpll",
@@ -102,10 +107,14 @@ static struct samsung_mux_clock exynos5410_mux_clks[] __initdata = {
MUX(0, "mout_mmc0", group2_p, SRC_FSYS, 0, 4),
MUX(0, "mout_mmc1", group2_p, SRC_FSYS, 4, 4),
MUX(0, "mout_mmc2", group2_p, SRC_FSYS, 8, 4),
+ MUX(0, "mout_usbd300", sclk_mpll_bpll_p, SRC_FSYS, 28, 1),
+ MUX(0, "mout_usbd301", sclk_mpll_bpll_p, SRC_FSYS, 29, 1),
MUX(0, "mout_uart0", group2_p, SRC_PERIC0, 0, 4),
MUX(0, "mout_uart1", group2_p, SRC_PERIC0, 4, 4),
MUX(0, "mout_uart2", group2_p, SRC_PERIC0, 8, 4),
+ MUX(0, "mout_uart3", group2_p, SRC_PERIC0, 12, 4),
+ MUX(0, "mout_pwm", group2_p, SRC_PERIC0, 24, 4),
MUX(0, "mout_aclk200", mpll_bpll_p, SRC_TOP0, 12, 1),
MUX(0, "mout_aclk400", mpll_bpll_p, SRC_TOP0, 20, 1),
@@ -127,6 +136,11 @@ static struct samsung_div_clock exynos5410_div_clks[] __initdata = {
DIV(0, "aclk66_pre", "sclk_mpll_muxed", DIV_TOP1, 24, 3),
DIV(0, "aclk66", "aclk66_pre", DIV_TOP0, 0, 3),
+ DIV(0, "dout_usbphy300", "mout_usbd300", DIV_FSYS0, 16, 4),
+ DIV(0, "dout_usbphy301", "mout_usbd301", DIV_FSYS0, 20, 4),
+ DIV(0, "dout_usbd300", "mout_usbd300", DIV_FSYS0, 24, 4),
+ DIV(0, "dout_usbd301", "mout_usbd301", DIV_FSYS0, 28, 4),
+
DIV(0, "div_mmc0", "mout_mmc0", DIV_FSYS1, 0, 4),
DIV(0, "div_mmc1", "mout_mmc1", DIV_FSYS1, 16, 4),
DIV(0, "div_mmc2", "mout_mmc2", DIV_FSYS2, 0, 4),
@@ -143,6 +157,8 @@ static struct samsung_div_clock exynos5410_div_clks[] __initdata = {
DIV(0, "div_uart2", "mout_uart2", DIV_PERIC0, 8, 4),
DIV(0, "div_uart3", "mout_uart3", DIV_PERIC0, 12, 4),
+ DIV(0, "dout_pwm", "mout_pwm", DIV_PERIC3, 0, 4),
+
DIV(0, "aclk200", "mout_aclk200", DIV_TOP0, 12, 3),
DIV(0, "aclk400", "mout_aclk400", DIV_TOP0, 24, 3),
};
@@ -161,9 +177,23 @@ static struct samsung_gate_clock exynos5410_gate_clks[] __initdata = {
GATE(CLK_MMC1, "sdmmc1", "aclk200", GATE_BUS_FSYS0, 13, 0, 0),
GATE(CLK_MMC2, "sdmmc2", "aclk200", GATE_BUS_FSYS0, 14, 0, 0),
+ GATE(CLK_SCLK_USBPHY301, "sclk_usbphy301", "dout_usbphy301",
+ GATE_TOP_SCLK_FSYS, 7, CLK_SET_RATE_PARENT, 0),
+ GATE(CLK_SCLK_USBPHY300, "sclk_usbphy300", "dout_usbphy300",
+ GATE_TOP_SCLK_FSYS, 8, CLK_SET_RATE_PARENT, 0),
+ GATE(CLK_SCLK_USBD300, "sclk_usbd300", "dout_usbd300",
+ GATE_TOP_SCLK_FSYS, 9, CLK_SET_RATE_PARENT, 0),
+ GATE(CLK_SCLK_USBD301, "sclk_usbd301", "dout_usbd301",
+ GATE_TOP_SCLK_FSYS, 10, CLK_SET_RATE_PARENT, 0),
+
+ GATE(CLK_SCLK_PWM, "sclk_pwm", "dout_pwm",
+ GATE_TOP_SCLK_PERIC, 11, CLK_SET_RATE_PARENT, 0),
+
GATE(CLK_UART0, "uart0", "aclk66", GATE_IP_PERIC, 0, 0, 0),
GATE(CLK_UART1, "uart1", "aclk66", GATE_IP_PERIC, 1, 0, 0),
GATE(CLK_UART2, "uart2", "aclk66", GATE_IP_PERIC, 2, 0, 0),
+ GATE(CLK_UART3, "uart3", "aclk66", GATE_IP_PERIC, 3, 0, 0),
+ GATE(CLK_PWM, "pwm", "aclk66", GATE_IP_PERIC, 24, 0, 0),
GATE(CLK_SCLK_UART0, "sclk_uart0", "div_uart0",
SRC_MASK_PERIC0, 0, CLK_SET_RATE_PARENT, 0),
@@ -171,6 +201,12 @@ static struct samsung_gate_clock exynos5410_gate_clks[] __initdata = {
SRC_MASK_PERIC0, 4, CLK_SET_RATE_PARENT, 0),
GATE(CLK_SCLK_UART2, "sclk_uart2", "div_uart2",
SRC_MASK_PERIC0, 8, CLK_SET_RATE_PARENT, 0),
+ GATE(CLK_SCLK_UART3, "sclk_uart3", "div_uart3",
+ SRC_MASK_PERIC0, 12, CLK_SET_RATE_PARENT, 0),
+
+ GATE(CLK_USBH20, "usbh20", "aclk200_fsys", GATE_IP_FSYS, 18, 0, 0),
+ GATE(CLK_USBD300, "usbd300", "aclk200_fsys", GATE_IP_FSYS, 19, 0, 0),
+ GATE(CLK_USBD301, "usbd301", "aclk200_fsys", GATE_IP_FSYS, 20, 0, 0),
};
static struct samsung_pll_clock exynos5410_plls[nr_plls] __initdata = {
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 09/27] ARM: dts: exynos: Re-order alphabetically Exynos5420 SD0/SD1 pinctrl nodes
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (7 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 08/27] clk: samsung: exynos5410: Add serial3, USB and PWM clocks Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 10/27] ARM: dts: exynos: Use lowercase for Exynos5410 CPU node labels Krzysztof Kozlowski
` (18 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
The 'sd0_rclk' was put in the middle of SD1 nodes. Remove the confusion.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5420-pinctrl.dtsi | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5420-pinctrl.dtsi b/arch/arm/boot/dts/exynos5420-pinctrl.dtsi
index 130563b2ca95..14beb7e07323 100644
--- a/arch/arm/boot/dts/exynos5420-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos5420-pinctrl.dtsi
@@ -193,17 +193,17 @@
samsung,pin-drv = <3>;
};
- sd1_clk: sd1-clk {
- samsung,pins = "gpc1-0";
+ sd0_rclk: sd0-rclk {
+ samsung,pins = "gpc0-7";
samsung,pin-function = <2>;
- samsung,pin-pud = <0>;
+ samsung,pin-pud = <1>;
samsung,pin-drv = <3>;
};
- sd0_rclk: sd0-rclk {
- samsung,pins = "gpc0-7";
+ sd1_clk: sd1-clk {
+ samsung,pins = "gpc1-0";
samsung,pin-function = <2>;
- samsung,pin-pud = <1>;
+ samsung,pin-pud = <0>;
samsung,pin-drv = <3>;
};
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 10/27] ARM: dts: exynos: Use lowercase for Exynos5410 CPU node labels
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (8 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 09/27] ARM: dts: exynos: Re-order alphabetically Exynos5420 SD0/SD1 pinctrl nodes Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 11/27] ARM: dts: exynos: Configure Exynos5410 pinctrl for eMMC and SD card Krzysztof Kozlowski
` (17 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
For consistency lowercase node labels are used.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5410.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
index 233149abfb62..58d3844ef923 100644
--- a/arch/arm/boot/dts/exynos5410.dtsi
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -35,28 +35,28 @@
#address-cells = <1>;
#size-cells = <0>;
- CPU0: cpu at 0 {
+ cpu0: cpu at 0 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x0>;
clock-frequency = <1600000000>;
};
- CPU1: cpu at 1 {
+ cpu1: cpu at 1 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x1>;
clock-frequency = <1600000000>;
};
- CPU2: cpu at 2 {
+ cpu2: cpu at 2 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x2>;
clock-frequency = <1600000000>;
};
- CPU3: cpu at 3 {
+ cpu3: cpu at 3 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x3>;
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 11/27] ARM: dts: exynos: Configure Exynos5410 pinctrl for eMMC and SD card
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (9 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 10/27] ARM: dts: exynos: Use lowercase for Exynos5410 CPU node labels Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 12/27] ARM: dts: exynos: Split Odroid XU3 LEDs to separate DTSI Krzysztof Kozlowski
` (16 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Configure the pinctrl for MMC0 (eMMC) and MMC2 (microSD card).
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
Important changes since v2:
1. Re-order the eMMC pins by pin-name, not by label.
---
arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 77 +++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
index f9aa6bb55464..ddacafa1e907 100644
--- a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
@@ -277,6 +277,83 @@
interrupt-controller;
#interrupt-cells = <2>;
};
+
+ sd0_clk: sd0-clk {
+ samsung,pins = "gpc0-0";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd0_cmd: sd0-cmd {
+ samsung,pins = "gpc0-1";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd0_cd: sd0-cd {
+ samsung,pins = "gpc0-2";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd0_bus1: sd0-bus-width1 {
+ samsung,pins = "gpc0-3";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd0_bus4: sd0-bus-width4 {
+ samsung,pins = "gpc0-4", "gpc0-5", "gpc0-6";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd2_clk: sd2-clk {
+ samsung,pins = "gpc2-0";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd2_cmd: sd2-cmd {
+ samsung,pins = "gpc2-1";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd2_cd: sd2-cd {
+ samsung,pins = "gpc2-2";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd2_bus1: sd2-bus-width1 {
+ samsung,pins = "gpc2-3";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd2_bus4: sd2-bus-width4 {
+ samsung,pins = "gpc2-4", "gpc2-5", "gpc2-6";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <3>;
+ };
+
+ sd0_bus8: sd0-bus-width8 {
+ samsung,pins = "gpc3-0", "gpc3-1", "gpc3-2", "gpc3-3";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <3>;
+ };
};
&pinctrl_1 {
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 12/27] ARM: dts: exynos: Split Odroid XU3 LEDs to separate DTSI
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (10 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 11/27] ARM: dts: exynos: Configure Exynos5410 pinctrl for eMMC and SD card Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 13/27] ARM: dts: exynos: Move common nodes to exynos5.dtsi Krzysztof Kozlowski
` (15 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
The LED nodes can be shared between Odroid XU3, XU3-Lite and XU (not yet
added) thus removing duplication.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts | 35 +----------------
arch/arm/boot/dts/exynos5422-odroidxu3.dts | 35 +----------------
arch/arm/boot/dts/exynos54xx-odroidxu-leds.dtsi | 50 +++++++++++++++++++++++++
3 files changed, 52 insertions(+), 68 deletions(-)
create mode 100644 arch/arm/boot/dts/exynos54xx-odroidxu-leds.dtsi
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts b/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts
index 2ae1cf41dcb6..03fa88c45426 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts
@@ -14,44 +14,11 @@
/dts-v1/;
#include "exynos5422-odroidxu3-common.dtsi"
#include "exynos5422-odroidxu3-audio.dtsi"
+#include "exynos54xx-odroidxu-leds.dtsi"
/ {
model = "Hardkernel Odroid XU3 Lite";
compatible = "hardkernel,odroid-xu3-lite", "samsung,exynos5800", "samsung,exynos5";
-
- pwmleds {
- compatible = "pwm-leds";
-
- greenled {
- label = "green:mmc0";
- pwms = <&pwm 1 2000000 0>;
- pwm-names = "pwm1";
- /*
- * Green LED is much brighter than the others
- * so limit its max brightness
- */
- max_brightness = <127>;
- linux,default-trigger = "mmc0";
- };
-
- blueled {
- label = "blue:heartbeat";
- pwms = <&pwm 2 2000000 0>;
- pwm-names = "pwm2";
- max_brightness = <255>;
- linux,default-trigger = "heartbeat";
- };
- };
-
- gpioleds {
- compatible = "gpio-leds";
- redled {
- label = "red:microSD";
- gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
- default-state = "off";
- linux,default-trigger = "mmc1";
- };
- };
};
&pwm {
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
index 432406db85de..9ed6564acfb0 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
@@ -13,44 +13,11 @@
/dts-v1/;
#include "exynos5422-odroidxu3-common.dtsi"
#include "exynos5422-odroidxu3-audio.dtsi"
+#include "exynos54xx-odroidxu-leds.dtsi"
/ {
model = "Hardkernel Odroid XU3";
compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5";
-
- pwmleds {
- compatible = "pwm-leds";
-
- greenled {
- label = "green:mmc0";
- pwms = <&pwm 1 2000000 0>;
- pwm-names = "pwm1";
- /*
- * Green LED is much brighter than the others
- * so limit its max brightness
- */
- max_brightness = <127>;
- linux,default-trigger = "mmc0";
- };
-
- blueled {
- label = "blue:heartbeat";
- pwms = <&pwm 2 2000000 0>;
- pwm-names = "pwm2";
- max_brightness = <255>;
- linux,default-trigger = "heartbeat";
- };
- };
-
- gpioleds {
- compatible = "gpio-leds";
- redled {
- label = "red:microSD";
- gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
- default-state = "off";
- linux,default-trigger = "mmc1";
- };
- };
};
&i2c_0 {
diff --git a/arch/arm/boot/dts/exynos54xx-odroidxu-leds.dtsi b/arch/arm/boot/dts/exynos54xx-odroidxu-leds.dtsi
new file mode 100644
index 000000000000..0ed30206625c
--- /dev/null
+++ b/arch/arm/boot/dts/exynos54xx-odroidxu-leds.dtsi
@@ -0,0 +1,50 @@
+/*
+ * Hardkernel Odroid XU/XU3 LED device tree source
+ *
+ * Copyright (c) 2015,2016 Krzysztof Kozlowski
+ * 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.
+*/
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ pwmleds {
+ compatible = "pwm-leds";
+
+ greenled {
+ label = "green:mmc0";
+ pwms = <&pwm 1 2000000 0>;
+ pwm-names = "pwm1";
+ /*
+ * Green LED is much brighter than the others
+ * so limit its max brightness
+ */
+ max_brightness = <127>;
+ linux,default-trigger = "mmc0";
+ };
+
+ blueled {
+ label = "blue:heartbeat";
+ pwms = <&pwm 2 2000000 0>;
+ pwm-names = "pwm2";
+ max_brightness = <255>;
+ linux,default-trigger = "heartbeat";
+ };
+ };
+
+ gpioleds {
+ compatible = "gpio-leds";
+ redled {
+ label = "red:microSD";
+ gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ linux,default-trigger = "mmc1";
+ };
+ };
+};
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 13/27] ARM: dts: exynos: Move common nodes to exynos5.dtsi
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (11 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 12/27] ARM: dts: exynos: Split Odroid XU3 LEDs to separate DTSI Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 14/27] ARM: dts: exynos: Prepare for inclusion of exynos5.dtsi in exynos5410.dtsi Krzysztof Kozlowski
` (14 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Exynos5420 and Exynos5250 share some nodes: the PWM, syscon
(sysreg_system_controller) and first four I2C controllers. Move them to
parent DTSI to avoid duplication.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
Important changes since v2:
1. Move also i2c[0123] to exynos5.dtsi.
---
arch/arm/boot/dts/exynos5.dtsi | 56 ++++++++++++++++++++
arch/arm/boot/dts/exynos5250.dtsi | 108 ++++++++++++--------------------------
arch/arm/boot/dts/exynos5420.dtsi | 108 ++++++++++++--------------------------
3 files changed, 124 insertions(+), 148 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5.dtsi b/arch/arm/boot/dts/exynos5.dtsi
index d5c0f18a4223..c5d198c70b86 100644
--- a/arch/arm/boot/dts/exynos5.dtsi
+++ b/arch/arm/boot/dts/exynos5.dtsi
@@ -20,6 +20,10 @@
interrupt-parent = <&gic>;
aliases {
+ i2c0 = &i2c_0;
+ i2c1 = &i2c_1;
+ i2c2 = &i2c_2;
+ i2c3 = &i2c_3;
serial0 = &serial_0;
serial1 = &serial_1;
serial2 = &serial_2;
@@ -63,6 +67,11 @@
interrupts = <1 9 0xf04>;
};
+ sysreg_system_controller: syscon at 10050000 {
+ compatible = "samsung,exynos5-sysreg", "syscon";
+ reg = <0x10050000 0x5000>;
+ };
+
serial_0: serial at 12C00000 {
compatible = "samsung,exynos4210-uart";
reg = <0x12C00000 0x100>;
@@ -87,6 +96,53 @@
interrupts = <0 54 0>;
};
+ i2c_0: i2c at 12C60000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x12C60000 0x100>;
+ interrupts = <0 56 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,sysreg-phandle = <&sysreg_system_controller>;
+ status = "disabled";
+ };
+
+ i2c_1: i2c at 12C70000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x12C70000 0x100>;
+ interrupts = <0 57 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,sysreg-phandle = <&sysreg_system_controller>;
+ status = "disabled";
+ };
+
+ i2c_2: i2c at 12C80000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x12C80000 0x100>;
+ interrupts = <0 58 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,sysreg-phandle = <&sysreg_system_controller>;
+ status = "disabled";
+ };
+
+ i2c_3: i2c at 12C90000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x12C90000 0x100>;
+ interrupts = <0 59 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,sysreg-phandle = <&sysreg_system_controller>;
+ status = "disabled";
+ };
+
+ pwm: pwm at 12DD0000 {
+ compatible = "samsung,exynos4210-pwm";
+ reg = <0x12DD0000 0x100>;
+ samsung,pwm-outputs = <0>, <1>, <2>, <3>;
+ #pwm-cells = <3>;
+ };
+
rtc: rtc at 101E0000 {
compatible = "samsung,s3c6410-rtc";
reg = <0x101E0000 0x100>;
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index c7158b2fb213..ae4970d1c74f 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -37,10 +37,6 @@
mshc1 = &mmc_1;
mshc2 = &mmc_2;
mshc3 = &mmc_3;
- i2c0 = &i2c_0;
- i2c1 = &i2c_1;
- i2c2 = &i2c_2;
- i2c3 = &i2c_3;
i2c4 = &i2c_4;
i2c5 = &i2c_5;
i2c6 = &i2c_6;
@@ -235,11 +231,6 @@
interrupt-parent = <&gic>;
};
- sysreg_system_controller: syscon at 10050000 {
- compatible = "samsung,exynos5-sysreg", "syscon";
- reg = <0x10050000 0x5000>;
- };
-
watchdog at 101D0000 {
compatible = "samsung,exynos5250-wdt";
reg = <0x101D0000 0x100>;
@@ -328,62 +319,7 @@
status = "disabled";
};
- i2c_0: i2c at 12C60000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x12C60000 0x100>;
- interrupts = <0 56 0>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&clock CLK_I2C0>;
- clock-names = "i2c";
- pinctrl-names = "default";
- pinctrl-0 = <&i2c0_bus>;
- samsung,sysreg-phandle = <&sysreg_system_controller>;
- status = "disabled";
- };
-
- i2c_1: i2c at 12C70000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x12C70000 0x100>;
- interrupts = <0 57 0>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&clock CLK_I2C1>;
- clock-names = "i2c";
- pinctrl-names = "default";
- pinctrl-0 = <&i2c1_bus>;
- samsung,sysreg-phandle = <&sysreg_system_controller>;
- status = "disabled";
- };
-
- i2c_2: i2c at 12C80000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x12C80000 0x100>;
- interrupts = <0 58 0>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&clock CLK_I2C2>;
- clock-names = "i2c";
- pinctrl-names = "default";
- pinctrl-0 = <&i2c2_bus>;
- samsung,sysreg-phandle = <&sysreg_system_controller>;
- status = "disabled";
- };
-
- i2c_3: i2c at 12C90000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x12C90000 0x100>;
- interrupts = <0 59 0>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&clock CLK_I2C3>;
- clock-names = "i2c";
- pinctrl-names = "default";
- pinctrl-0 = <&i2c3_bus>;
- samsung,sysreg-phandle = <&sysreg_system_controller>;
- status = "disabled";
- };
-
+ /* i2c_0-3 are defined in exynos5.dtsi */
i2c_4: i2c at 12CA0000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x12CA0000 0x100>;
@@ -662,15 +598,6 @@
samsung,pmureg-phandle = <&pmu_system_controller>;
};
- pwm: pwm at 12dd0000 {
- compatible = "samsung,exynos4210-pwm";
- reg = <0x12dd0000 0x100>;
- samsung,pwm-outputs = <0>, <1>, <2>, <3>;
- #pwm-cells = <3>;
- clocks = <&clock CLK_PWM>;
- clock-names = "timers";
- };
-
amba {
#address-cells = <1>;
#size-cells = <1>;
@@ -1070,6 +997,39 @@
iommus = <&sysmmu_fimd1>;
};
+&i2c_0 {
+ clocks = <&clock CLK_I2C0>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c0_bus>;
+};
+
+&i2c_1 {
+ clocks = <&clock CLK_I2C1>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c1_bus>;
+};
+
+&i2c_2 {
+ clocks = <&clock CLK_I2C2>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_bus>;
+};
+
+&i2c_3 {
+ clocks = <&clock CLK_I2C3>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c3_bus>;
+};
+
+&pwm {
+ clocks = <&clock CLK_PWM>;
+ clock-names = "timers";
+};
+
&rtc {
clocks = <&clock CLK_RTC>;
clock-names = "rtc";
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index 549ebf23fee0..f2e8e6482888 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -30,10 +30,6 @@
pinctrl2 = &pinctrl_2;
pinctrl3 = &pinctrl_3;
pinctrl4 = &pinctrl_4;
- i2c0 = &i2c_0;
- i2c1 = &i2c_1;
- i2c2 = &i2c_2;
- i2c3 = &i2c_3;
i2c4 = &hsi2c_4;
i2c5 = &hsi2c_5;
i2c6 = &hsi2c_6;
@@ -542,15 +538,6 @@
status = "disabled";
};
- pwm: pwm at 12dd0000 {
- compatible = "samsung,exynos4210-pwm";
- reg = <0x12dd0000 0x100>;
- samsung,pwm-outputs = <0>, <1>, <2>, <3>;
- #pwm-cells = <3>;
- clocks = <&clock CLK_PWM>;
- clock-names = "timers";
- };
-
dp_phy: dp-video-phy {
compatible = "samsung,exynos5420-dp-video-phy";
samsung,pmu-syscon = <&pmu_system_controller>;
@@ -588,62 +575,7 @@
status = "disabled";
};
- i2c_0: i2c at 12C60000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x12C60000 0x100>;
- interrupts = <0 56 0>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&clock CLK_I2C0>;
- clock-names = "i2c";
- pinctrl-names = "default";
- pinctrl-0 = <&i2c0_bus>;
- samsung,sysreg-phandle = <&sysreg_system_controller>;
- status = "disabled";
- };
-
- i2c_1: i2c at 12C70000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x12C70000 0x100>;
- interrupts = <0 57 0>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&clock CLK_I2C1>;
- clock-names = "i2c";
- pinctrl-names = "default";
- pinctrl-0 = <&i2c1_bus>;
- samsung,sysreg-phandle = <&sysreg_system_controller>;
- status = "disabled";
- };
-
- i2c_2: i2c at 12C80000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x12C80000 0x100>;
- interrupts = <0 58 0>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&clock CLK_I2C2>;
- clock-names = "i2c";
- pinctrl-names = "default";
- pinctrl-0 = <&i2c2_bus>;
- samsung,sysreg-phandle = <&sysreg_system_controller>;
- status = "disabled";
- };
-
- i2c_3: i2c at 12C90000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x12C90000 0x100>;
- interrupts = <0 59 0>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&clock CLK_I2C3>;
- clock-names = "i2c";
- pinctrl-names = "default";
- pinctrl-0 = <&i2c3_bus>;
- samsung,sysreg-phandle = <&sysreg_system_controller>;
- status = "disabled";
- };
-
+ /* i2c_0-3 are defined in exynos5.dtsi */
hsi2c_4: i2c at 12CA0000 {
compatible = "samsung,exynos5250-hsi2c";
reg = <0x12CA0000 0x1000>;
@@ -823,11 +755,6 @@
interrupt-parent = <&gic>;
};
- sysreg_system_controller: syscon at 10050000 {
- compatible = "samsung,exynos5-sysreg", "syscon";
- reg = <0x10050000 0x5000>;
- };
-
tmu_cpu0: tmu at 10060000 {
compatible = "samsung,exynos5420-tmu";
reg = <0x10060000 0x100>;
@@ -1207,6 +1134,39 @@
iommu-names = "m0", "m1";
};
+&i2c_0 {
+ clocks = <&clock CLK_I2C0>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c0_bus>;
+};
+
+&i2c_1 {
+ clocks = <&clock CLK_I2C1>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c1_bus>;
+};
+
+&i2c_2 {
+ clocks = <&clock CLK_I2C2>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_bus>;
+};
+
+&i2c_3 {
+ clocks = <&clock CLK_I2C3>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c3_bus>;
+};
+
+&pwm {
+ clocks = <&clock CLK_PWM>;
+ clock-names = "timers";
+};
+
&rtc {
clocks = <&clock CLK_RTC>;
clock-names = "rtc";
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 14/27] ARM: dts: exynos: Prepare for inclusion of exynos5.dtsi in exynos5410.dtsi
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (12 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 13/27] ARM: dts: exynos: Move common nodes to exynos5.dtsi Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 15/27] ARM: dts: exynos: Use phandle to get parent node in exynos5250-snow Krzysztof Kozlowski
` (13 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Add 'sromc' label to SROM memory controller in common exynos5.dtsi so it
can be referenced by inheriting DTSI.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/exynos5.dtsi b/arch/arm/boot/dts/exynos5.dtsi
index c5d198c70b86..30a0b63b06c9 100644
--- a/arch/arm/boot/dts/exynos5.dtsi
+++ b/arch/arm/boot/dts/exynos5.dtsi
@@ -35,7 +35,7 @@
reg = <0x10000000 0x100>;
};
- memory-controller at 12250000 {
+ sromc: memory-controller at 12250000 {
compatible = "samsung,exynos4210-srom";
reg = <0x12250000 0x14>;
};
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 15/27] ARM: dts: exynos: Use phandle to get parent node in exynos5250-snow
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (13 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 14/27] ARM: dts: exynos: Prepare for inclusion of exynos5.dtsi in exynos5410.dtsi Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 17/27] ARM: dts: exynos: Include common exynos5 in exynos5410.dtsi Krzysztof Kozlowski
` (12 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
The i2c-arbitrator node in exynos5250-snow-common used absolute path to
reference other node (the i2c parent). Use phandle instead, because the
depth of the other node may be changed (like moving it under 'soc'
node).
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5250-snow-common.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/exynos5250-snow-common.dtsi b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
index ddfe1f558c10..419d59da1751 100644
--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
@@ -61,7 +61,7 @@
#address-cells = <1>;
#size-cells = <0>;
- i2c-parent = <&{/i2c@12CA0000}>;
+ i2c-parent = <&i2c_4>;
our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 17/27] ARM: dts: exynos: Include common exynos5 in exynos5410.dtsi
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (14 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 15/27] ARM: dts: exynos: Use phandle to get parent node in exynos5250-snow Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 18/27] ARM: dts: exynos: Enable UART3 on Exynos5410 Krzysztof Kozlowski
` (11 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
The exynos5.dtsi is used for common nodes shared between Exynos5250 and
Exynos542x. Since Exynos5410 is very similar to Exynos5420 it can
include the common file as well to remove duplication and make
everything more consistent.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5410-smdk5410.dts | 6 +-
arch/arm/boot/dts/exynos5410.dtsi | 103 ++++++++++--------------------
2 files changed, 35 insertions(+), 74 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5410-smdk5410.dts b/arch/arm/boot/dts/exynos5410-smdk5410.dts
index 377a679b454b..501f776f327d 100644
--- a/arch/arm/boot/dts/exynos5410-smdk5410.dts
+++ b/arch/arm/boot/dts/exynos5410-smdk5410.dts
@@ -102,14 +102,14 @@
};
};
-&uart0 {
+&serial_0 {
status = "okay";
};
-&uart1 {
+&serial_1 {
status = "okay";
};
-&uart2 {
+&serial_2 {
status = "okay";
};
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
index 58d3844ef923..c0540eb76271 100644
--- a/arch/arm/boot/dts/exynos5410.dtsi
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -14,6 +14,7 @@
*/
#include "skeleton.dtsi"
+#include "exynos5.dtsi"
#include "exynos-syscon-restart.dtsi"
#include <dt-bindings/clock/exynos5410.h>
@@ -26,9 +27,6 @@
pinctrl1 = &pinctrl_1;
pinctrl2 = &pinctrl_2;
pinctrl3 = &pinctrl_3;
- serial0 = &uart0;
- serial1 = &uart1;
- serial2 = &uart2;
};
cpus {
@@ -70,49 +68,6 @@
#size-cells = <1>;
ranges;
- combiner: interrupt-controller at 10440000 {
- compatible = "samsung,exynos4210-combiner";
- #interrupt-cells = <2>;
- interrupt-controller;
- samsung,combiner-nr = <32>;
- reg = <0x10440000 0x1000>;
- interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
- <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
- <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
- <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>,
- <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>,
- <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>,
- <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>,
- <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>;
- };
-
- gic: interrupt-controller at 10481000 {
- compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
- #interrupt-cells = <3>;
- interrupt-controller;
- reg = <0x10481000 0x1000>,
- <0x10482000 0x1000>,
- <0x10484000 0x2000>,
- <0x10486000 0x2000>;
- interrupts = <1 9 0xf04>;
- };
-
- chipid at 10000000 {
- compatible = "samsung,exynos4210-chipid";
- reg = <0x10000000 0x100>;
- };
-
- sromc: memory-controller at 12250000 {
- compatible = "samsung,exynos4210-srom";
- reg = <0x12250000 0x14>;
- #address-cells = <2>;
- #size-cells = <1>;
- ranges = <0 0 0x04000000 0x20000
- 1 0 0x05000000 0x20000
- 2 0 0x06000000 0x20000
- 3 0 0x07000000 0x20000>;
- };
-
pmu_system_controller: system-controller at 10040000 {
compatible = "samsung,exynos5410-pmu", "syscon";
reg = <0x10040000 0x5000>;
@@ -236,34 +191,40 @@
reg = <0x03860000 0x1000>;
interrupts = <0 47 0>;
};
+ };
+};
- uart0: serial at 12C00000 {
- compatible = "samsung,exynos4210-uart";
- reg = <0x12C00000 0x100>;
- interrupts = <0 51 0>;
- clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
- clock-names = "uart", "clk_uart_baud0";
- status = "disabled";
- };
+&pwm {
+ clocks = <&clock CLK_PWM>;
+ clock-names = "timers";
+};
- uart1: serial at 12C10000 {
- compatible = "samsung,exynos4210-uart";
- reg = <0x12C10000 0x100>;
- interrupts = <0 52 0>;
- clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
- clock-names = "uart", "clk_uart_baud0";
- status = "disabled";
- };
+&serial_0 {
+ clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
+ clock-names = "uart", "clk_uart_baud0";
+};
- uart2: serial at 12C20000 {
- compatible = "samsung,exynos4210-uart";
- reg = <0x12C20000 0x100>;
- interrupts = <0 53 0>;
- clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
- clock-names = "uart", "clk_uart_baud0";
- status = "disabled";
- };
- };
+&serial_1 {
+ clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
+ clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_2 {
+ clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
+ clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_3 {
+ status = "disabled";
+};
+
+&sromc {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x04000000 0x20000
+ 1 0 0x05000000 0x20000
+ 2 0 0x06000000 0x20000
+ 3 0 0x07000000 0x20000>;
};
#include "exynos5410-pinctrl.dtsi"
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 18/27] ARM: dts: exynos: Enable UART3 on Exynos5410
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (15 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 17/27] ARM: dts: exynos: Include common exynos5 in exynos5410.dtsi Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 19/27] ARM: dts: exynos: MCT is not an interrupt controller and extend length of iomap Krzysztof Kozlowski
` (10 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Just like other Exynos5 family SoCs, this one has four UARTs. Configure
clocks for UART3 and enable it.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5410.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
index c0540eb76271..62dc3b4aef93 100644
--- a/arch/arm/boot/dts/exynos5410.dtsi
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -215,7 +215,8 @@
};
&serial_3 {
- status = "disabled";
+ clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
+ clock-names = "uart", "clk_uart_baud0";
};
&sromc {
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 19/27] ARM: dts: exynos: MCT is not an interrupt controller and extend length of iomap
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (16 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 18/27] ARM: dts: exynos: Enable UART3 on Exynos5410 Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 20/27] ARM: dts: exynos: Move common Exynos5410/542x/5800 nodes to new DTSI Krzysztof Kozlowski
` (9 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Multi-Core Timer generates interrupts but it is not really an interrupt
controller so remove the "interrupt-controller" and "interrupt-cells"
properties. Additionally extend the length of mapped memory to cover all
registers (last SFR is at 0x0A40).
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5420.dtsi | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index 4b16a9376a24..872dadf0f2d4 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -263,9 +263,7 @@
mct: mct at 101C0000 {
compatible = "samsung,exynos4210-mct";
- reg = <0x101C0000 0x800>;
- interrupt-controller;
- #interrupt-cells = <1>;
+ reg = <0x101C0000 0xB00>;
interrupt-parent = <&mct_map>;
interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>,
<8>, <9>, <10>, <11>;
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 20/27] ARM: dts: exynos: Move common Exynos5410/542x/5800 nodes to new DTSI
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (17 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 19/27] ARM: dts: exynos: MCT is not an interrupt controller and extend length of iomap Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 21/27] ARM: dts: exynos: Add USB to Exynos5410 Krzysztof Kozlowski
` (8 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
The Exynos5410/542x/5800 are very similar designs. Create a new
DTSI with common nodes to remove DTS duplication. Although currently
only MCT and SysRAM are shared but in future more nodes will be added to
the common file.
The patch should not have functional impact.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
arch/arm/boot/dts/exynos5410.dtsi | 55 ++++---------------------------
arch/arm/boot/dts/exynos5420.dtsi | 54 ++++---------------------------
arch/arm/boot/dts/exynos54xx.dtsi | 68 +++++++++++++++++++++++++++++++++++++++
3 files changed, 80 insertions(+), 97 deletions(-)
create mode 100644 arch/arm/boot/dts/exynos54xx.dtsi
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
index 62dc3b4aef93..850343d3c2af 100644
--- a/arch/arm/boot/dts/exynos5410.dtsi
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -13,8 +13,7 @@
* published by the Free Software Foundation.
*/
-#include "skeleton.dtsi"
-#include "exynos5.dtsi"
+#include "exynos54xx.dtsi"
#include "exynos-syscon-restart.dtsi"
#include <dt-bindings/clock/exynos5410.h>
@@ -73,53 +72,6 @@
reg = <0x10040000 0x5000>;
};
- mct: mct at 101C0000 {
- compatible = "samsung,exynos4210-mct";
- reg = <0x101C0000 0xB00>;
- interrupt-parent = <&interrupt_map>;
- interrupts = <0>, <1>, <2>, <3>,
- <4>, <5>, <6>, <7>,
- <8>, <9>, <10>, <11>;
- clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
- clock-names = "fin_pll", "mct";
-
- interrupt_map: interrupt-map {
- #interrupt-cells = <1>;
- #address-cells = <0>;
- #size-cells = <0>;
- interrupt-map = <0 &combiner 23 3>,
- <1 &combiner 23 4>,
- <2 &combiner 25 2>,
- <3 &combiner 25 3>,
- <4 &gic 0 120 0>,
- <5 &gic 0 121 0>,
- <6 &gic 0 122 0>,
- <7 &gic 0 123 0>,
- <8 &gic 0 128 0>,
- <9 &gic 0 129 0>,
- <10 &gic 0 130 0>,
- <11 &gic 0 131 0>;
- };
- };
-
- sysram at 02020000 {
- compatible = "mmio-sram";
- reg = <0x02020000 0x54000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0x02020000 0x54000>;
-
- smp-sysram at 0 {
- compatible = "samsung,exynos4210-sysram";
- reg = <0x0 0x1000>;
- };
-
- smp-sysram at 53000 {
- compatible = "samsung,exynos4210-sysram-ns";
- reg = <0x53000 0x1000>;
- };
- };
-
clock: clock-controller at 10010000 {
compatible = "samsung,exynos5410-clock";
reg = <0x10010000 0x30000>;
@@ -194,6 +146,11 @@
};
};
+&mct {
+ clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
+ clock-names = "fin_pll", "mct";
+};
+
&pwm {
clocks = <&clock CLK_PWM>;
clock-names = "timers";
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index 872dadf0f2d4..ebf2ed3c5ff8 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -13,9 +13,8 @@
* published by the Free Software Foundation.
*/
+#include "exynos54xx.dtsi"
#include <dt-bindings/clock/exynos5420.h>
-#include "exynos5.dtsi"
-
#include <dt-bindings/clock/exynos-audss-clk.h>
/ {
@@ -181,24 +180,6 @@
};
};
- sysram at 02020000 {
- compatible = "mmio-sram";
- reg = <0x02020000 0x54000>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0x02020000 0x54000>;
-
- smp-sysram at 0 {
- compatible = "samsung,exynos4210-sysram";
- reg = <0x0 0x1000>;
- };
-
- smp-sysram at 53000 {
- compatible = "samsung,exynos4210-sysram-ns";
- reg = <0x53000 0x1000>;
- };
- };
-
clock: clock-controller at 10010000 {
compatible = "samsung,exynos5420-clock";
reg = <0x10010000 0x30000>;
@@ -261,34 +242,6 @@
status = "disabled";
};
- mct: mct at 101C0000 {
- compatible = "samsung,exynos4210-mct";
- reg = <0x101C0000 0xB00>;
- interrupt-parent = <&mct_map>;
- interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>,
- <8>, <9>, <10>, <11>;
- clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
- clock-names = "fin_pll", "mct";
-
- mct_map: mct-map {
- #interrupt-cells = <1>;
- #address-cells = <0>;
- #size-cells = <0>;
- interrupt-map = <0 &combiner 23 3>,
- <1 &combiner 23 4>,
- <2 &combiner 25 2>,
- <3 &combiner 25 3>,
- <4 &gic 0 120 0>,
- <5 &gic 0 121 0>,
- <6 &gic 0 122 0>,
- <7 &gic 0 123 0>,
- <8 &gic 0 128 0>,
- <9 &gic 0 129 0>,
- <10 &gic 0 130 0>,
- <11 &gic 0 131 0>;
- };
- };
-
gsc_pd: power-domain at 10044000 {
compatible = "samsung,exynos4210-pd";
reg = <0x10044000 0x20>;
@@ -1163,6 +1116,11 @@
pinctrl-0 = <&i2c3_bus>;
};
+&mct {
+ clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
+ clock-names = "fin_pll", "mct";
+};
+
&pwm {
clocks = <&clock CLK_PWM>;
clock-names = "timers";
diff --git a/arch/arm/boot/dts/exynos54xx.dtsi b/arch/arm/boot/dts/exynos54xx.dtsi
new file mode 100644
index 000000000000..9ce625bd79c1
--- /dev/null
+++ b/arch/arm/boot/dts/exynos54xx.dtsi
@@ -0,0 +1,68 @@
+/*
+ * Samsung's Exynos54xx SoC series common device tree source
+ *
+ * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ * Copyright (c) 2016 Krzysztof Kozlowski
+ *
+ * Device nodes common for Samsung Exynos5410/5420/5422/5800. Specific
+ * Exynos 54xx SoCs should include this file and customize it further
+ * (e.g. with clocks).
+ *
+ * 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 "skeleton.dtsi"
+#include "exynos5.dtsi"
+
+/ {
+ compatible = "samsung,exynos5";
+
+ soc: soc {
+ sysram at 02020000 {
+ compatible = "mmio-sram";
+ reg = <0x02020000 0x54000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0x02020000 0x54000>;
+
+ smp-sysram at 0 {
+ compatible = "samsung,exynos4210-sysram";
+ reg = <0x0 0x1000>;
+ };
+
+ smp-sysram at 53000 {
+ compatible = "samsung,exynos4210-sysram-ns";
+ reg = <0x53000 0x1000>;
+ };
+ };
+
+ mct: mct at 101C0000 {
+ compatible = "samsung,exynos4210-mct";
+ reg = <0x101C0000 0xB00>;
+ interrupt-parent = <&mct_map>;
+ interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>,
+ <8>, <9>, <10>, <11>;
+
+ mct_map: mct-map {
+ #interrupt-cells = <1>;
+ #address-cells = <0>;
+ #size-cells = <0>;
+ interrupt-map = <0 &combiner 23 3>,
+ <1 &combiner 23 4>,
+ <2 &combiner 25 2>,
+ <3 &combiner 25 3>,
+ <4 &gic 0 120 0>,
+ <5 &gic 0 121 0>,
+ <6 &gic 0 122 0>,
+ <7 &gic 0 123 0>,
+ <8 &gic 0 128 0>,
+ <9 &gic 0 129 0>,
+ <10 &gic 0 130 0>,
+ <11 &gic 0 131 0>;
+ };
+ };
+ };
+};
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 21/27] ARM: dts: exynos: Add USB to Exynos5410
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (18 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 20/27] ARM: dts: exynos: Move common Exynos5410/542x/5800 nodes to new DTSI Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 22/27] ARM: dts: exynos: Add initial support for Odroid XU board Krzysztof Kozlowski
` (7 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Move USB 3.0 DWC and 2.0 EHCI/OHCI nodes from exynos5420.dtsi to
exynos54xx.dtsi common for entire family. For Exynos542x/5800 this
should not have functional impact but for Exynos5410 this effectively
adds USB support.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
TODO: lack of regulator causes errors:
usb usb4-port1: over-current condition
?
---
arch/arm/boot/dts/exynos5410.dtsi | 39 +++++++++++
arch/arm/boot/dts/exynos5420.dtsi | 133 +++++++++++---------------------------
arch/arm/boot/dts/exynos54xx.dtsi | 79 ++++++++++++++++++++++
3 files changed, 157 insertions(+), 94 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
index 850343d3c2af..dd4d6d752865 100644
--- a/arch/arm/boot/dts/exynos5410.dtsi
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -185,4 +185,43 @@
3 0 0x07000000 0x20000>;
};
+&usbdrd3_0 {
+ clocks = <&clock CLK_USBD300>;
+ clock-names = "usbdrd30";
+};
+
+&usbdrd_phy0 {
+ clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
+ clock-names = "phy", "ref";
+ samsung,pmu-syscon = <&pmu_system_controller>;
+};
+
+&usbdrd3_1 {
+ clocks = <&clock CLK_USBD301>;
+ clock-names = "usbdrd30";
+};
+
+&usbdrd_phy1 {
+ clocks = <&clock CLK_USBD301>, <&clock CLK_SCLK_USBPHY301>;
+ clock-names = "phy", "ref";
+ samsung,pmu-syscon = <&pmu_system_controller>;
+};
+
+&usbhost1 {
+ clocks = <&clock CLK_USBH20>;
+ clock-names = "usbhost";
+};
+
+&usbhost2 {
+ clocks = <&clock CLK_USBH20>;
+ clock-names = "usbhost";
+};
+
+&usb2_phy {
+ clocks = <&clock CLK_USBH20>, <&clock CLK_SCLK_USBPHY300>;
+ clock-names = "phy", "ref";
+ samsung,sysreg-phandle = <&sysreg_system_controller>;
+ samsung,pmureg-phandle = <&pmu_system_controller>;
+};
+
#include "exynos5410-pinctrl.dtsi"
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index ebf2ed3c5ff8..8fa65eb8027d 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -41,8 +41,6 @@
spi0 = &spi_0;
spi1 = &spi_1;
spi2 = &spi_2;
- usbdrdphy0 = &usbdrd_phy0;
- usbdrdphy1 = &usbdrd_phy1;
};
/*
@@ -770,98 +768,6 @@
clock-names = "secss";
};
- usbdrd3_0: usb3-0 {
- compatible = "samsung,exynos5250-dwusb3";
- clocks = <&clock CLK_USBD300>;
- clock-names = "usbdrd30";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges;
-
- usbdrd_dwc3_0: dwc3 at 12000000 {
- compatible = "snps,dwc3";
- reg = <0x12000000 0x10000>;
- interrupts = <0 72 0>;
- phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>;
- phy-names = "usb2-phy", "usb3-phy";
- };
- };
-
- usbdrd_phy0: phy at 12100000 {
- compatible = "samsung,exynos5420-usbdrd-phy";
- reg = <0x12100000 0x100>;
- clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
- clock-names = "phy", "ref";
- samsung,pmu-syscon = <&pmu_system_controller>;
- #phy-cells = <1>;
- };
-
- usbdrd3_1: usb3-1 {
- compatible = "samsung,exynos5250-dwusb3";
- clocks = <&clock CLK_USBD301>;
- clock-names = "usbdrd30";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges;
-
- usbdrd_dwc3_1: dwc3 at 12400000 {
- compatible = "snps,dwc3";
- reg = <0x12400000 0x10000>;
- interrupts = <0 73 0>;
- phys = <&usbdrd_phy1 0>, <&usbdrd_phy1 1>;
- phy-names = "usb2-phy", "usb3-phy";
- };
- };
-
- usbdrd_phy1: phy at 12500000 {
- compatible = "samsung,exynos5420-usbdrd-phy";
- reg = <0x12500000 0x100>;
- clocks = <&clock CLK_USBD301>, <&clock CLK_SCLK_USBPHY301>;
- clock-names = "phy", "ref";
- samsung,pmu-syscon = <&pmu_system_controller>;
- #phy-cells = <1>;
- };
-
- usbhost2: usb at 12110000 {
- compatible = "samsung,exynos4210-ehci";
- reg = <0x12110000 0x100>;
- interrupts = <0 71 0>;
-
- clocks = <&clock CLK_USBH20>;
- clock-names = "usbhost";
- #address-cells = <1>;
- #size-cells = <0>;
- port at 0 {
- reg = <0>;
- phys = <&usb2_phy 1>;
- };
- };
-
- usbhost1: usb at 12120000 {
- compatible = "samsung,exynos4210-ohci";
- reg = <0x12120000 0x100>;
- interrupts = <0 71 0>;
-
- clocks = <&clock CLK_USBH20>;
- clock-names = "usbhost";
- #address-cells = <1>;
- #size-cells = <0>;
- port at 0 {
- reg = <0>;
- phys = <&usb2_phy 1>;
- };
- };
-
- usb2_phy: phy at 12130000 {
- compatible = "samsung,exynos5250-usb2-phy";
- reg = <0x12130000 0x100>;
- clocks = <&clock CLK_USBH20>, <&clock CLK_SCLK_USBPHY300>;
- clock-names = "phy", "ref";
- #phy-cells = <1>;
- samsung,sysreg-phandle = <&sysreg_system_controller>;
- samsung,pmureg-phandle = <&pmu_system_controller>;
- };
-
sysmmu_g2dr: sysmmu at 0x10A60000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x10A60000 0x1000>;
@@ -1153,4 +1059,43 @@
clock-names = "uart", "clk_uart_baud0";
};
+&usbdrd3_0 {
+ clocks = <&clock CLK_USBD300>;
+ clock-names = "usbdrd30";
+};
+
+&usbdrd_phy0 {
+ clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
+ clock-names = "phy", "ref";
+ samsung,pmu-syscon = <&pmu_system_controller>;
+};
+
+&usbdrd3_1 {
+ clocks = <&clock CLK_USBD301>;
+ clock-names = "usbdrd30";
+};
+
+&usbdrd_phy1 {
+ clocks = <&clock CLK_USBD301>, <&clock CLK_SCLK_USBPHY301>;
+ clock-names = "phy", "ref";
+ samsung,pmu-syscon = <&pmu_system_controller>;
+};
+
+&usbhost1 {
+ clocks = <&clock CLK_USBH20>;
+ clock-names = "usbhost";
+};
+
+&usbhost2 {
+ clocks = <&clock CLK_USBH20>;
+ clock-names = "usbhost";
+};
+
+&usb2_phy {
+ clocks = <&clock CLK_USBH20>, <&clock CLK_SCLK_USBPHY300>;
+ clock-names = "phy", "ref";
+ samsung,sysreg-phandle = <&sysreg_system_controller>;
+ samsung,pmureg-phandle = <&pmu_system_controller>;
+};
+
#include "exynos5420-pinctrl.dtsi"
diff --git a/arch/arm/boot/dts/exynos54xx.dtsi b/arch/arm/boot/dts/exynos54xx.dtsi
index 9ce625bd79c1..a9a062708237 100644
--- a/arch/arm/boot/dts/exynos54xx.dtsi
+++ b/arch/arm/boot/dts/exynos54xx.dtsi
@@ -20,6 +20,11 @@
/ {
compatible = "samsung,exynos5";
+ aliases {
+ usbdrdphy0 = &usbdrd_phy0;
+ usbdrdphy1 = &usbdrd_phy1;
+ };
+
soc: soc {
sysram at 02020000 {
compatible = "mmio-sram";
@@ -64,5 +69,79 @@
<11 &gic 0 131 0>;
};
};
+
+ usbdrd3_0: usb3-0 {
+ compatible = "samsung,exynos5250-dwusb3";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ usbdrd_dwc3_0: dwc3 at 12000000 {
+ compatible = "snps,dwc3";
+ reg = <0x12000000 0x10000>;
+ interrupts = <0 72 0>;
+ phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>;
+ phy-names = "usb2-phy", "usb3-phy";
+ };
+ };
+
+ usbdrd_phy0: phy at 12100000 {
+ compatible = "samsung,exynos5420-usbdrd-phy";
+ reg = <0x12100000 0x100>;
+ #phy-cells = <1>;
+ };
+
+ usbdrd3_1: usb3-1 {
+ compatible = "samsung,exynos5250-dwusb3";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ usbdrd_dwc3_1: dwc3 at 12400000 {
+ compatible = "snps,dwc3";
+ reg = <0x12400000 0x10000>;
+ interrupts = <0 73 0>;
+ phys = <&usbdrd_phy1 0>, <&usbdrd_phy1 1>;
+ phy-names = "usb2-phy", "usb3-phy";
+ };
+ };
+
+ usbdrd_phy1: phy at 12500000 {
+ compatible = "samsung,exynos5420-usbdrd-phy";
+ reg = <0x12500000 0x100>;
+ #phy-cells = <1>;
+ };
+
+ usbhost2: usb at 12110000 {
+ compatible = "samsung,exynos4210-ehci";
+ reg = <0x12110000 0x100>;
+ interrupts = <0 71 0>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port at 0 {
+ reg = <0>;
+ phys = <&usb2_phy 1>;
+ };
+ };
+
+ usbhost1: usb at 12120000 {
+ compatible = "samsung,exynos4210-ohci";
+ reg = <0x12120000 0x100>;
+ interrupts = <0 71 0>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port at 0 {
+ reg = <0>;
+ phys = <&usb2_phy 1>;
+ };
+ };
+
+ usb2_phy: phy at 12130000 {
+ compatible = "samsung,exynos5250-usb2-phy";
+ reg = <0x12130000 0x100>;
+ #phy-cells = <1>;
+ };
};
};
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 22/27] ARM: dts: exynos: Add initial support for Odroid XU board
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (19 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 21/27] ARM: dts: exynos: Add USB to Exynos5410 Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-10 20:09 ` [PATCH v3 23/27] dt-bindings: clock: Add I2C, HSI2C and RTC clock IDs to Exynos5410 Krzysztof Kozlowski
` (6 subsequent siblings)
27 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
The Hardkernel's Odroid XU board was first design with big.LITTLE SoC
from Samsung: the Exynos5410. Comparing the board to more popular now
Odroid XU3, 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>
---
.../bindings/arm/samsung/samsung-boards.txt | 1 +
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/exynos5410-odroidxu.dts | 121 +++++++++++++++++++++
3 files changed, 123 insertions(+)
create mode 100644 arch/arm/boot/dts/exynos5410-odroidxu.dts
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:
- "hardkernel,odroid-u3" - for Exynos4412-based Hardkernel Odroid U3.
- "hardkernel,odroid-x" - for Exynos4412-based Hardkernel Odroid X.
- "hardkernel,odroid-x2" - for Exynos4412-based Hardkernel Odroid X2.
+ - "hardkernel,odroid-xu" - for Exynos5410-based Hardkernel Odroid XU.
- "hardkernel,odroid-xu3" - for Exynos5422-based Hardkernel Odroid XU3.
- "hardkernel,odroid-xu3-lite" - for Exynos5422-based Hardkernel
Odroid XU3 Lite board.
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5aeb10674370..9ed1c7abedb1 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -134,6 +134,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
exynos5250-snow-rev5.dtb \
exynos5250-spring.dtb \
exynos5260-xyref5260.dtb \
+ exynos5410-odroidxu.dtb \
exynos5410-smdk5410.dtb \
exynos5420-arndale-octa.dtb \
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..44ba00a6636f
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
@@ -0,0 +1,121 @@
+/*
+ * Hardkernel Odroid XU board device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ * Copyright (c) 2016 Krzysztof Kozlowski
+ *
+ * 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 "exynos5410.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "exynos54xx-odroidxu-leds.dtsi"
+
+/ {
+ model = "Hardkernel Odroid XU";
+ compatible = "hardkernel,odroid-xu", "samsung,exynos5410", "samsung,exynos5";
+
+ memory {
+ reg = <0x40000000 0x7ea00000>;
+ };
+
+ chosen {
+ linux,stdout-path = &serial_2;
+ };
+
+ emmc_pwrseq: pwrseq {
+ pinctrl-0 = <&emmc_nrst_pin>;
+ pinctrl-names = "default";
+ compatible = "mmc-pwrseq-emmc";
+ reset-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>;
+ };
+
+ fan0: pwm-fan {
+ compatible = "pwm-fan";
+ pwms = <&pwm 0 20972 0>;
+ cooling-min-state = <0>;
+ cooling-max-state = <3>;
+ #cooling-cells = <2>;
+ cooling-levels = <0 130 170 230>;
+ };
+
+ fixed-rate-clocks {
+ oscclk {
+ compatible = "samsung,exynos5420-oscclk";
+ clock-frequency = <24000000>;
+ };
+ };
+
+ firmware at 02073000 {
+ compatible = "samsung,secure-firmware";
+ reg = <0x02073000 0x1000>;
+ };
+};
+
+&mmc_0 {
+ status = "okay";
+ mmc-pwrseq = <&emmc_pwrseq>;
+ cd-gpios = <&gpc0 2 GPIO_ACTIVE_LOW>;
+ card-detect-delay = <200>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <0 4>;
+ samsung,dw-mshc-ddr-timing = <0 2>;
+ samsung,dw-mshc-hs400-timing = <0 2>;
+ samsung,read-strobe-delay = <90>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd>;
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ mmc-hs200-1_8v;
+ mmc-hs400-1_8v;
+};
+
+&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_bus1 &sd2_bus4>;
+ bus-width = <4>;
+ cap-sd-highspeed;
+};
+
+&pinctrl_0 {
+ emmc_nrst_pin: emmc-nrst {
+ samsung,pins = "gpd1-0";
+ samsung,pin-function = <0>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+};
+
+&serial_0 {
+ status = "okay";
+};
+
+&serial_1 {
+ status = "okay";
+};
+
+&serial_2 {
+ status = "okay";
+};
+
+&serial_3 {
+ status = "okay";
+};
+
+&usbdrd_dwc3_0 {
+ dr_mode = "host";
+};
+
+&usbdrd_dwc3_1 {
+ dr_mode = "peripheral";
+};
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 23/27] dt-bindings: clock: Add I2C, HSI2C and RTC clock IDs to Exynos5410
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (20 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 22/27] ARM: dts: exynos: Add initial support for Odroid XU board Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-11 12:31 ` Javier Martinez Canillas
2016-05-10 20:09 ` [PATCH v3 24/27] clk: samsung: exynos5410: Add I2C, HSI2C and RTC clocks Krzysztof Kozlowski
` (5 subsequent siblings)
27 siblings, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Add IDs for I2C, USI (HSI2C) and RTC clocks to Exynos5410. Use the same
number as for Exynos5420 just in case in future these drivers were
merged.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
include/dt-bindings/clock/exynos5410.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/dt-bindings/clock/exynos5410.h b/include/dt-bindings/clock/exynos5410.h
index 34c8e96987a1..e94b7bbfd6af 100644
--- a/include/dt-bindings/clock/exynos5410.h
+++ b/include/dt-bindings/clock/exynos5410.h
@@ -38,9 +38,18 @@
#define CLK_UART0 257
#define CLK_UART1 258
#define CLK_UART2 259
+#define CLK_I2C0 261
+#define CLK_I2C1 262
+#define CLK_I2C2 263
+#define CLK_I2C3 264
+#define CLK_USI0 265
+#define CLK_USI1 266
+#define CLK_USI2 267
+#define CLK_USI3 268
#define CLK_UART3 260
#define CLK_PWM 279
#define CLK_MCT 315
+#define CLK_RTC 317
#define CLK_MMC0 351
#define CLK_MMC1 352
#define CLK_MMC2 353
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 24/27] clk: samsung: exynos5410: Add I2C, HSI2C and RTC clocks
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (21 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 23/27] dt-bindings: clock: Add I2C, HSI2C and RTC clock IDs to Exynos5410 Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-11 12:32 ` Javier Martinez Canillas
2016-05-10 20:09 ` [PATCH v3 25/27] ARM: dts: exynos: Move HSI2C nodes to exynos54xx.dtsi Krzysztof Kozlowski
` (4 subsequent siblings)
27 siblings, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Add clocks for I2C, USI (HSI2C) and RTC to the Exynos5410 clock driver.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
drivers/clk/samsung/clk-exynos5410.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/clk/samsung/clk-exynos5410.c b/drivers/clk/samsung/clk-exynos5410.c
index 40775f678f02..8dd0d8f6703e 100644
--- a/drivers/clk/samsung/clk-exynos5410.c
+++ b/drivers/clk/samsung/clk-exynos5410.c
@@ -165,6 +165,7 @@ static struct samsung_div_clock exynos5410_div_clks[] __initdata = {
static struct samsung_gate_clock exynos5410_gate_clks[] __initdata = {
GATE(CLK_MCT, "mct", "aclk66", GATE_IP_PERIS, 18, 0, 0),
+ GATE(CLK_RTC, "rtc", "aclk66", GATE_IP_PERIS, 20, 0, 0),
GATE(CLK_SCLK_MMC0, "sclk_mmc0", "div_mmc_pre0",
SRC_MASK_FSYS, 0, CLK_SET_RATE_PARENT, 0),
@@ -193,6 +194,14 @@ static struct samsung_gate_clock exynos5410_gate_clks[] __initdata = {
GATE(CLK_UART1, "uart1", "aclk66", GATE_IP_PERIC, 1, 0, 0),
GATE(CLK_UART2, "uart2", "aclk66", GATE_IP_PERIC, 2, 0, 0),
GATE(CLK_UART3, "uart3", "aclk66", GATE_IP_PERIC, 3, 0, 0),
+ GATE(CLK_I2C0, "i2c0", "aclk66", GATE_IP_PERIC, 6, 0, 0),
+ GATE(CLK_I2C1, "i2c1", "aclk66", GATE_IP_PERIC, 7, 0, 0),
+ GATE(CLK_I2C2, "i2c2", "aclk66", GATE_IP_PERIC, 8, 0, 0),
+ GATE(CLK_I2C3, "i2c3", "aclk66", GATE_IP_PERIC, 9, 0, 0),
+ GATE(CLK_USI0, "usi0", "aclk66", GATE_IP_PERIC, 10, 0, 0),
+ GATE(CLK_USI1, "usi1", "aclk66", GATE_IP_PERIC, 11, 0, 0),
+ GATE(CLK_USI2, "usi2", "aclk66", GATE_IP_PERIC, 12, 0, 0),
+ GATE(CLK_USI3, "usi3", "aclk66", GATE_IP_PERIC, 13, 0, 0),
GATE(CLK_PWM, "pwm", "aclk66", GATE_IP_PERIC, 24, 0, 0),
GATE(CLK_SCLK_UART0, "sclk_uart0", "div_uart0",
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 25/27] ARM: dts: exynos: Move HSI2C nodes to exynos54xx.dtsi
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (22 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 24/27] clk: samsung: exynos5410: Add I2C, HSI2C and RTC clocks Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-11 12:33 ` Javier Martinez Canillas
2016-05-10 20:09 ` [PATCH v3 26/27] ARM: dts: exynos: Add I2C, PWM and UART pinctrl to Exynos5410 Krzysztof Kozlowski
` (3 subsequent siblings)
27 siblings, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
The USI/HSI2C nodes can be mostly shared between Exynos5420 and
Exynos5410 so move them to common DTSI.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
arch/arm/boot/dts/exynos5420.dtsi | 32 ++++++++++++++++++++++++++----
arch/arm/boot/dts/exynos54xx.dtsi | 41 +++++++++++++++++++++++++++++++++++++++
2 files changed, 69 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index 8fa65eb8027d..791243694aa5 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -29,10 +29,6 @@
pinctrl2 = &pinctrl_2;
pinctrl3 = &pinctrl_3;
pinctrl4 = &pinctrl_4;
- i2c4 = &hsi2c_4;
- i2c5 = &hsi2c_5;
- i2c6 = &hsi2c_6;
- i2c7 = &hsi2c_7;
i2c8 = &hsi2c_8;
i2c9 = &hsi2c_9;
i2c10 = &hsi2c_10;
@@ -1022,6 +1018,34 @@
pinctrl-0 = <&i2c3_bus>;
};
+&hsi2c_4 {
+ clocks = <&clock CLK_USI0>;
+ clock-names = "hsi2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c4_hs_bus>;
+};
+
+&hsi2c_5 {
+ clocks = <&clock CLK_USI1>;
+ clock-names = "hsi2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c5_hs_bus>;
+};
+
+&hsi2c_6 {
+ clocks = <&clock CLK_USI2>;
+ clock-names = "hsi2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c6_hs_bus>;
+};
+
+&hsi2c_7 {
+ clocks = <&clock CLK_USI3>;
+ clock-names = "hsi2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c7_hs_bus>;
+};
+
&mct {
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
clock-names = "fin_pll", "mct";
diff --git a/arch/arm/boot/dts/exynos54xx.dtsi b/arch/arm/boot/dts/exynos54xx.dtsi
index a9a062708237..317612089b50 100644
--- a/arch/arm/boot/dts/exynos54xx.dtsi
+++ b/arch/arm/boot/dts/exynos54xx.dtsi
@@ -21,6 +21,10 @@
compatible = "samsung,exynos5";
aliases {
+ i2c4 = &hsi2c_4;
+ i2c5 = &hsi2c_5;
+ i2c6 = &hsi2c_6;
+ i2c7 = &hsi2c_7;
usbdrdphy0 = &usbdrd_phy0;
usbdrdphy1 = &usbdrd_phy1;
};
@@ -70,6 +74,43 @@
};
};
+ /* i2c_0-3 are defined in exynos5.dtsi */
+ hsi2c_4: i2c at 12CA0000 {
+ compatible = "samsung,exynos5250-hsi2c";
+ reg = <0x12CA0000 0x1000>;
+ interrupts = <0 60 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ hsi2c_5: i2c at 12CB0000 {
+ compatible = "samsung,exynos5250-hsi2c";
+ reg = <0x12CB0000 0x1000>;
+ interrupts = <0 61 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ hsi2c_6: i2c at 12CC0000 {
+ compatible = "samsung,exynos5250-hsi2c";
+ reg = <0x12CC0000 0x1000>;
+ interrupts = <0 62 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ hsi2c_7: i2c at 12CD0000 {
+ compatible = "samsung,exynos5250-hsi2c";
+ reg = <0x12CD0000 0x1000>;
+ interrupts = <0 63 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
usbdrd3_0: usb3-0 {
compatible = "samsung,exynos5250-dwusb3";
#address-cells = <1>;
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 26/27] ARM: dts: exynos: Add I2C, PWM and UART pinctrl to Exynos5410
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (23 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 25/27] ARM: dts: exynos: Move HSI2C nodes to exynos54xx.dtsi Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-11 12:36 ` Javier Martinez Canillas
2016-05-10 20:09 ` [PATCH v3 27/27] ARM: dts: exynos: Add RTC and I2C " Krzysztof Kozlowski
` (2 subsequent siblings)
27 siblings, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Add pincontrol groups for HSI2C (USI), I2C, PWM and UART to Exynos5410.
This allows configuring these pins to specific functions.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 133 ++++++++++++++++++++++++++++++
1 file changed, 133 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
index ddacafa1e907..b58a0f29f42c 100644
--- a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
@@ -278,6 +278,139 @@
#interrupt-cells = <2>;
};
+ uart0_data: uart0-data {
+ samsung,pins = "gpa0-0", "gpa0-1";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ uart0_fctl: uart0-fctl {
+ samsung,pins = "gpa0-2", "gpa0-3";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ uart1_data: uart1-data {
+ samsung,pins = "gpa0-4", "gpa0-5";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ uart1_fctl: uart1-fctl {
+ samsung,pins = "gpa0-6", "gpa0-7";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ i2c2_bus: i2c2-bus {
+ samsung,pins = "gpa0-6", "gpa0-7";
+ samsung,pin-function = <3>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+
+ uart2_data: uart2-data {
+ samsung,pins = "gpa1-0", "gpa1-1";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ uart2_fctl: uart2-fctl {
+ samsung,pins = "gpa1-2", "gpa1-3";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ i2c3_bus: i2c3-bus {
+ samsung,pins = "gpa1-2", "gpa1-3";
+ samsung,pin-function = <3>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+
+ uart3_data: uart3-data {
+ samsung,pins = "gpa1-4", "gpa1-5";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ i2c4_hs_bus: i2c4-hs-bus {
+ samsung,pins = "gpa2-0", "gpa2-1";
+ samsung,pin-function = <3>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+
+ i2c5_hs_bus: i2c5-hs-bus {
+ samsung,pins = "gpa2-2", "gpa2-3";
+ samsung,pin-function = <3>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+
+ i2c6_hs_bus: i2c6-hs-bus {
+ samsung,pins = "gpb1-3", "gpb1-4";
+ samsung,pin-function = <4>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+
+ pwm0_out: pwm0-out {
+ samsung,pins = "gpb2-0";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ pwm1_out: pwm1-out {
+ samsung,pins = "gpb2-1";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ pwm2_out: pwm2-out {
+ samsung,pins = "gpb2-2";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ pwm3_out: pwm3-out {
+ samsung,pins = "gpb2-3";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ i2c7_hs_bus: i2c7-hs-bus {
+ samsung,pins = "gpb2-2", "gpb2-3";
+ samsung,pin-function = <3>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+
+ i2c0_bus: i2c0-bus {
+ samsung,pins = "gpb3-0", "gpb3-1";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+
+ i2c1_bus: i2c1-bus {
+ samsung,pins = "gpb3-2", "gpb3-3";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+
sd0_clk: sd0-clk {
samsung,pins = "gpc0-0";
samsung,pin-function = <2>;
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 27/27] ARM: dts: exynos: Add RTC and I2C to Exynos5410
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (24 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 26/27] ARM: dts: exynos: Add I2C, PWM and UART pinctrl to Exynos5410 Krzysztof Kozlowski
@ 2016-05-10 20:09 ` Krzysztof Kozlowski
2016-05-11 12:44 ` Javier Martinez Canillas
2016-05-11 15:41 ` [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Javier Martinez Canillas
2016-05-13 12:03 ` Robin Murphy
27 siblings, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-10 20:09 UTC (permalink / raw)
To: linux-arm-kernel
Configure Exynos5410-specific properties of RTC, I2C and HSI2C nodes.
This still does not enable them on the board level though.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
arch/arm/boot/dts/exynos5410.dtsi | 66 +++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
index dd4d6d752865..ae64cb0a8efd 100644
--- a/arch/arm/boot/dts/exynos5410.dtsi
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -114,6 +114,9 @@
status = "disabled";
};
+ /* i2c_0-3 are defined in exynos5.dtsi */
+ /* hsi2c_4-7 are defined in exynos5xx.dtsi */
+
pinctrl_0: pinctrl at 13400000 {
compatible = "samsung,exynos5410-pinctrl";
reg = <0x13400000 0x1000>;
@@ -146,6 +149,62 @@
};
};
+&i2c_0 {
+ clocks = <&clock CLK_I2C0>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c0_bus>;
+};
+
+&i2c_1 {
+ clocks = <&clock CLK_I2C1>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c1_bus>;
+};
+
+&i2c_2 {
+ clocks = <&clock CLK_I2C2>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_bus>;
+};
+
+&i2c_3 {
+ clocks = <&clock CLK_I2C3>;
+ clock-names = "i2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c3_bus>;
+};
+
+&hsi2c_4 {
+ clocks = <&clock CLK_USI0>;
+ clock-names = "hsi2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c4_hs_bus>;
+};
+
+&hsi2c_5 {
+ clocks = <&clock CLK_USI1>;
+ clock-names = "hsi2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c5_hs_bus>;
+};
+
+&hsi2c_6 {
+ clocks = <&clock CLK_USI2>;
+ clock-names = "hsi2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c6_hs_bus>;
+};
+
+&hsi2c_7 {
+ clocks = <&clock CLK_USI3>;
+ clock-names = "hsi2c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c7_hs_bus>;
+};
+
&mct {
clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
clock-names = "fin_pll", "mct";
@@ -156,6 +215,13 @@
clock-names = "timers";
};
+&rtc {
+ clocks = <&clock CLK_RTC>;
+ clock-names = "rtc";
+ interrupt-parent = <&pmu_system_controller>;
+ status = "disabled";
+};
+
&serial_0 {
clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
clock-names = "uart", "clk_uart_baud0";
--
2.5.0
^ permalink raw reply related [flat|nested] 37+ messages in thread* [PATCH v3 27/27] ARM: dts: exynos: Add RTC and I2C to Exynos5410
2016-05-10 20:09 ` [PATCH v3 27/27] ARM: dts: exynos: Add RTC and I2C " Krzysztof Kozlowski
@ 2016-05-11 12:44 ` Javier Martinez Canillas
2016-05-11 12:54 ` Krzysztof Kozlowski
0 siblings, 1 reply; 37+ messages in thread
From: Javier Martinez Canillas @ 2016-05-11 12:44 UTC (permalink / raw)
To: linux-arm-kernel
Hello Krzysztof,
On 05/10/2016 04:09 PM, Krzysztof Kozlowski wrote:
> Configure Exynos5410-specific properties of RTC, I2C and HSI2C nodes.
> This still does not enable them on the board level though.
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
> arch/arm/boot/dts/exynos5410.dtsi | 66 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 66 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
> index dd4d6d752865..ae64cb0a8efd 100644
> --- a/arch/arm/boot/dts/exynos5410.dtsi
> +++ b/arch/arm/boot/dts/exynos5410.dtsi
> @@ -114,6 +114,9 @@
> status = "disabled";
> };
>
> + /* i2c_0-3 are defined in exynos5.dtsi */
> + /* hsi2c_4-7 are defined in exynos5xx.dtsi */
> +
I don't think these comments are needed. For each DTS, there are usually a lot of
nodes defined in higher levels of the DT hierarchy but isn't common to mention it.
Specially since the mentioned nodes are referenced here by their labels so it is
implicit that are defined in one of the included DTSI (or dtc will fail to build).
The actual change looks good to me though:
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH v3 27/27] ARM: dts: exynos: Add RTC and I2C to Exynos5410
2016-05-11 12:44 ` Javier Martinez Canillas
@ 2016-05-11 12:54 ` Krzysztof Kozlowski
0 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-11 12:54 UTC (permalink / raw)
To: linux-arm-kernel
On 05/11/2016 02:44 PM, Javier Martinez Canillas wrote:
> Hello Krzysztof,
>
> On 05/10/2016 04:09 PM, Krzysztof Kozlowski wrote:
>> Configure Exynos5410-specific properties of RTC, I2C and HSI2C nodes.
>> This still does not enable them on the board level though.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
>> ---
>> arch/arm/boot/dts/exynos5410.dtsi | 66 +++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 66 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
>> index dd4d6d752865..ae64cb0a8efd 100644
>> --- a/arch/arm/boot/dts/exynos5410.dtsi
>> +++ b/arch/arm/boot/dts/exynos5410.dtsi
>> @@ -114,6 +114,9 @@
>> status = "disabled";
>> };
>>
>> + /* i2c_0-3 are defined in exynos5.dtsi */
>> + /* hsi2c_4-7 are defined in exynos5xx.dtsi */
>> +
>
> I don't think these comments are needed. For each DTS, there are usually a lot of
> nodes defined in higher levels of the DT hierarchy but isn't common to mention it.
>
> Specially since the mentioned nodes are referenced here by their labels so it is
> implicit that are defined in one of the included DTSI (or dtc will fail to build).
Okay, if it does not make sense to you then I'll remove them.
Thanks for review!
Krzysztof
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (25 preceding siblings ...)
2016-05-10 20:09 ` [PATCH v3 27/27] ARM: dts: exynos: Add RTC and I2C " Krzysztof Kozlowski
@ 2016-05-11 15:41 ` Javier Martinez Canillas
2016-05-11 18:14 ` Krzysztof Kozlowski
2016-05-13 12:03 ` Robin Murphy
27 siblings, 1 reply; 37+ messages in thread
From: Javier Martinez Canillas @ 2016-05-11 15:41 UTC (permalink / raw)
To: linux-arm-kernel
Hello Krzysztof,
On 05/10/2016 04:09 PM, Krzysztof Kozlowski wrote:
> Hi,
>
> Patchset adds necessary clocks, reorganizes existing stuff and finally
> adds Odroid XU support.
>
>
> Changes since v2
> ================
> 1. Got global-ack from Stephen for the clock changes. I think merging
> everything through arm-soc might be the easiest but:
> a. In such case I will prepare a tag with clock changes,
> b. Anyway I will wait for response from Sylwester and Tomasz.
> 2. Applied comments from Javier and added his Reviewed-by.
> 3. Patch 22: added ack from Rob.
> 4. Minor improvements in existing patches.
> 5. Five new patches at the end: 23-27 (not reviewed yet).
> Some of them could be squashed with existing ones but existing
> changes got reviews. Although the final Odroid XU DTS works fine but
> in general this is still work-in-progress so I suspect it will grow.
> I am releasing it early following Linux concept. :)
>
> Patchset is available at my private repo @github:
> https://github.com/krzk/linux.git for-next/odroid-xu-v3
>
I have tested this branch on both an Exynos5422 Odroid XU4 board and an
Exynos5800 Peach Pi Chromebook. All the peripherals are working correctly.
So for all patches affecting Exynos54xx/5800 (9,12,13,14,16,19,20,21,25):
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America
^ permalink raw reply [flat|nested] 37+ messages in thread* [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU
2016-05-11 15:41 ` [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Javier Martinez Canillas
@ 2016-05-11 18:14 ` Krzysztof Kozlowski
0 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-11 18:14 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, May 11, 2016 at 11:41:34AM -0400, Javier Martinez Canillas wrote:
> Hello Krzysztof,
>
> On 05/10/2016 04:09 PM, Krzysztof Kozlowski wrote:
> > Hi,
> >
> > Patchset adds necessary clocks, reorganizes existing stuff and finally
> > adds Odroid XU support.
> >
> >
> > Changes since v2
> > ================
> > 1. Got global-ack from Stephen for the clock changes. I think merging
> > everything through arm-soc might be the easiest but:
> > a. In such case I will prepare a tag with clock changes,
> > b. Anyway I will wait for response from Sylwester and Tomasz.
> > 2. Applied comments from Javier and added his Reviewed-by.
> > 3. Patch 22: added ack from Rob.
> > 4. Minor improvements in existing patches.
> > 5. Five new patches at the end: 23-27 (not reviewed yet).
> > Some of them could be squashed with existing ones but existing
> > changes got reviews. Although the final Odroid XU DTS works fine but
> > in general this is still work-in-progress so I suspect it will grow.
> > I am releasing it early following Linux concept. :)
> >
> > Patchset is available at my private repo @github:
> > https://github.com/krzk/linux.git for-next/odroid-xu-v3
> >
>
> I have tested this branch on both an Exynos5422 Odroid XU4 board and an
> Exynos5800 Peach Pi Chromebook. All the peripherals are working correctly.
>
> So for all patches affecting Exynos54xx/5800 (9,12,13,14,16,19,20,21,25):
>
> Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Thanks!
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU
2016-05-10 20:09 [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Krzysztof Kozlowski
` (26 preceding siblings ...)
2016-05-11 15:41 ` [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU Javier Martinez Canillas
@ 2016-05-13 12:03 ` Robin Murphy
2016-05-13 12:11 ` Krzysztof Kozlowski
27 siblings, 1 reply; 37+ messages in thread
From: Robin Murphy @ 2016-05-13 12:03 UTC (permalink / raw)
To: linux-arm-kernel
Hi Krzysztof,
On 10/05/16 21:09, Krzysztof Kozlowski wrote:
> Hi,
>
> Patchset adds necessary clocks, reorganizes existing stuff and finally
> adds Odroid XU support.
>
>
> Changes since v2
> ================
> 1. Got global-ack from Stephen for the clock changes. I think merging
> everything through arm-soc might be the easiest but:
> a. In such case I will prepare a tag with clock changes,
> b. Anyway I will wait for response from Sylwester and Tomasz.
> 2. Applied comments from Javier and added his Reviewed-by.
> 3. Patch 22: added ack from Rob.
> 4. Minor improvements in existing patches.
> 5. Five new patches at the end: 23-27 (not reviewed yet).
> Some of them could be squashed with existing ones but existing
> changes got reviews. Although the final Odroid XU DTS works fine but
> in general this is still work-in-progress so I suspect it will grow.
> I am releasing it early following Linux concept. :)
>
> Patchset is available at my private repo @github:
> https://github.com/krzk/linux.git for-next/odroid-xu-v3
Since I have one of these gathering dust on my desk, it's really cool to
see this series, thanks!
I've successfully booted that branch to a filesystem on SD card, but USB
clearly isn't quite right - the USB 2.0 hub is powered up, but only the
bottom right port will actually enumerate devices; the ethernet is
nowhere to be seen. However, if I drop into the bootloader and do a "usb
start" beforehand, it all keeps working into the kernel. As for the USB
3.0, though, the ports report over-current conditions shortly after the
XHCI probe despite having nothing plugged in :(
Robin.
> (previous version is in for-next/odroid-xu-v2 branch, if someone would
> like to compare them)
>
>
> Changes since v1
> ================
> 1. A lot of new patches.
> 2. Removed some TODO notes (eMMC 4.5 so no RCLK pin).
> 3. New clocks, more reorganization.
> 4. New common DTSI: exynos54xx.dtsi. I know, it is getting more
> and more complicated but this might help removing duplications
> and keeping everything under control.
>
>
>
> Merging strategy
> ================
> Complicated! The clock dt-bindings and driver changes can go to clock
> tree. However there are three DTS patches in the middle.
> a. This has to go in before adding "fin_pll_new" to clock driver:
> - [PATCH v2 03/22] ARM: dts: exynos: Add fin_pll node for clock driver
>
> b. This should go in before renaming "fin_pll_new" back to original name:
> - [PATCH v2 05/22] ARM: dts: exynos: Switch MCT node to a new fin_pll clock
> - [PATCH v2 06/22] ARM: dts: exynos: Remove old fixed-clock provider on SMDK5410
>
> The order of patches in the patchset is really how it should go in
> to reduce any bisectability glitches.
>
>
> Best regards,
> Krzysztof
>
>
> Krzysztof Kozlowski (27):
> dt-bindings: clock: Add license and reformat Exynos5410 clock IDs
> dt-bindings: clock: Add PWM and USB clock IDs to Exynos5410
> ARM: dts: exynos: Add fin_pll node for clock driver
> clk: samsung: exynos5410: Provide fin_pll external fixed clock
> ARM: dts: exynos: Switch MCT node to a new fin_pll clock
> ARM: dts: exynos: Remove old fixed-clock provider on SMDK5410
> clk: samsung: exynos5410: Rename fin_pll from temporary to regular
> name
> clk: samsung: exynos5410: Add serial3, USB and PWM clocks
> ARM: dts: exynos: Re-order alphabetically Exynos5420 SD0/SD1 pinctrl
> nodes
> ARM: dts: exynos: Use lowercase for Exynos5410 CPU node labels
> ARM: dts: exynos: Configure Exynos5410 pinctrl for eMMC and SD card
> ARM: dts: exynos: Split Odroid XU3 LEDs to separate DTSI
> ARM: dts: exynos: Move common nodes to exynos5.dtsi
> ARM: dts: exynos: Prepare for inclusion of exynos5.dtsi in
> exynos5410.dtsi
> ARM: dts: exynos: Use phandle to get parent node in exynos5250-snow
> ARM: dts: exynos: Move Exynos5250 and Exynos5420 nodes under soc
> ARM: dts: exynos: Include common exynos5 in exynos5410.dtsi
> ARM: dts: exynos: Enable UART3 on Exynos5410
> ARM: dts: exynos: MCT is not an interrupt controller and extend length
> of iomap
> ARM: dts: exynos: Move common Exynos5410/542x/5800 nodes to new DTSI
> ARM: dts: exynos: Add USB to Exynos5410
> ARM: dts: exynos: Add initial support for Odroid XU board
> dt-bindings: clock: Add I2C, HSI2C and RTC clock IDs to Exynos5410
> clk: samsung: exynos5410: Add I2C, HSI2C and RTC clocks
> ARM: dts: exynos: Move HSI2C nodes to exynos54xx.dtsi
> ARM: dts: exynos: Add I2C, PWM and UART pinctrl to Exynos5410
> ARM: dts: exynos: Add RTC and I2C to Exynos5410
>
> .../bindings/arm/samsung/samsung-boards.txt | 1 +
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/exynos5.dtsi | 215 ++-
> arch/arm/boot/dts/exynos5250-snow-common.dtsi | 2 +-
> arch/arm/boot/dts/exynos5250.dtsi | 1701 ++++++++---------
> arch/arm/boot/dts/exynos5410-odroidxu.dts | 121 ++
> arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 210 +++
> arch/arm/boot/dts/exynos5410-smdk5410.dts | 16 +-
> arch/arm/boot/dts/exynos5410.dtsi | 270 +--
> arch/arm/boot/dts/exynos5420-pinctrl.dtsi | 12 +-
> arch/arm/boot/dts/exynos5420.dtsi | 1992 +++++++++-----------
> arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts | 35 +-
> arch/arm/boot/dts/exynos5422-odroidxu3.dts | 35 +-
> arch/arm/boot/dts/exynos54xx-odroidxu-leds.dtsi | 50 +
> arch/arm/boot/dts/exynos54xx.dtsi | 188 ++
> drivers/clk/samsung/clk-exynos5410.c | 61 +
> include/dt-bindings/clock/exynos5410.h | 73 +-
> 17 files changed, 2758 insertions(+), 2225 deletions(-)
> create mode 100644 arch/arm/boot/dts/exynos5410-odroidxu.dts
> create mode 100644 arch/arm/boot/dts/exynos54xx-odroidxu-leds.dtsi
> create mode 100644 arch/arm/boot/dts/exynos54xx.dtsi
>
^ permalink raw reply [flat|nested] 37+ messages in thread* [PATCH v3 00/27] ARM: dts: exynos: Add initial support for Odroid XU
2016-05-13 12:03 ` Robin Murphy
@ 2016-05-13 12:11 ` Krzysztof Kozlowski
0 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-13 12:11 UTC (permalink / raw)
To: linux-arm-kernel
On 05/13/2016 02:03 PM, Robin Murphy wrote:
> Hi Krzysztof,
>
> On 10/05/16 21:09, Krzysztof Kozlowski wrote:
>> Hi,
>>
>> Patchset adds necessary clocks, reorganizes existing stuff and finally
>> adds Odroid XU support.
>>
>>
>> Changes since v2
>> ================
>> 1. Got global-ack from Stephen for the clock changes. I think merging
>> everything through arm-soc might be the easiest but:
>> a. In such case I will prepare a tag with clock changes,
>> b. Anyway I will wait for response from Sylwester and Tomasz.
>> 2. Applied comments from Javier and added his Reviewed-by.
>> 3. Patch 22: added ack from Rob.
>> 4. Minor improvements in existing patches.
>> 5. Five new patches at the end: 23-27 (not reviewed yet).
>> Some of them could be squashed with existing ones but existing
>> changes got reviews. Although the final Odroid XU DTS works fine but
>> in general this is still work-in-progress so I suspect it will grow.
>> I am releasing it early following Linux concept. :)
>>
>> Patchset is available at my private repo @github:
>> https://github.com/krzk/linux.git for-next/odroid-xu-v3
>
> Since I have one of these gathering dust on my desk, it's really cool to
> see this series, thanks!
>
> I've successfully booted that branch to a filesystem on SD card, but USB
> clearly isn't quite right - the USB 2.0 hub is powered up, but only the
> bottom right port will actually enumerate devices; the ethernet is
> nowhere to be seen. However, if I drop into the bootloader and do a "usb
> start" beforehand, it all keeps working into the kernel.
Thanks for letting me know. I am testing the board from TFTP boot which
means "usb start" in Uboot. I'll add it to my todo-list.
> As for the USB
> 3.0, though, the ports report over-current conditions shortly after the
> XHCI probe despite having nothing plugged in :(
Yes, I am seeing this as well. Maybe the cause is lack regulator supplies?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 37+ messages in thread