Skip to contentSkip to conversation

Add clock and DT support for a few IPs on Exynos7

PATCH Superseded Abhilash Kesavan 5 participants 14 messages Oct 21, 2014 – Oct 28, 2014

Subsystems (5)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover Add clock and DT support for a few IPs on Exynos7

Changes since v1:
- Added documentation for input clocks of the newly added CMUs

Following are the dependencies:
1) dts, kbuild: Implement support for dtb vendor subdirs patchset
http://comments.gmane.org/gmane.linux.kbuild.devel/12131
2) arch: arm64: Enable support for Samsung Exynos7 SoC
http://www.spinics.net/lists/linux-samsung-soc/msg37047.html
3) Serial clean-up patches for Exynos7
http://www.spinics.net/lists/arm-kernel/msg367348.html
http://www.spinics.net/lists/arm-kernel/msg367349.html
4) Add initial support for pinctrl on Exynos7
http://www.spinics.net/lists/linux-samsung-soc/msg37708.html

For testing I have applied the following:
1) mmc: dw_mmc: Add IDMAC 64-bit address mode support
http://www.spinics.net/lists/kernel/msg1842300.html
2) mmc: dw_mmc: Reset DMA before enabling IDMAC
http://www.gossamer-threads.com/lists/linux/kernel/2021576?page=last
3) drivers: rtc: fix s3c-rtc initialization failure without rtc source clock
https://lkml.org/lkml/2014/10/15/210
4) mfd: sec: add S2MPS15 PMIC support
https://lkml.org/lkml/2014/10/14/50
5) regulator: s2mps11: add support for S2MPS15 regulators
https://lkml.org/lkml/2014/10/14/52
6) Regulators dt nodes were added in the espresso dts file and I2C channel 4 which has the PMIC on it was tested.
7) watchdog: s3c2410_wdt: Fix the mask bit offset for Exynos7
http://www.spinics.net/lists/linux-watchdog/msg05292.html

Abhilash Kesavan (3):
arm64: dts: Add PMU DT node for exynos7 SoC
arm64: dts: Add nodes for mmc, i2c, rtc, watchdog on Exynos7
arm64: exynos: Enable rtc and watchdog support for Exynos7

Naveen Krishna Ch (4):
clk: samsung: exynos7: add clocks for I2C block
clk: samsung: exynos7: add clocks for MMC block
clk: samsung: exynos7: add clocks for RTC block
clk: samsung: exynos7: add gate clocks for WDT, TMU and PWM blocks

 .../devicetree/bindings/arm/samsung/pmu.txt        |    1 +
 .../devicetree/bindings/clock/exynos7-clock.txt    |   26 ++
 arch/arm64/Kconfig                                 |    3 +
 arch/arm64/boot/dts/exynos/exynos7-espresso.dts    |   41 +++
 arch/arm64/boot/dts/exynos/exynos7.dtsi            |  261 ++++++++++++++++
 drivers/clk/samsung/clk-exynos7.c                  |  316 ++++++++++++++++++++
 include/dt-bindings/clock/exynos7-clk.h            |   60 +++-
 7 files changed, 699 insertions(+), 9 deletions(-)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v2 1/7 clk: samsung: exynos7: add clocks for I2C block

From: Naveen Krishna Ch <[email protected]>

Exynos7 supports 12 I2C channels, add the I2C gate clocks to support them.

---
 drivers/clk/samsung/clk-exynos7.c       |   24 ++++++++++++++++++++++++
 include/dt-bindings/clock/exynos7-clk.h |   16 ++++++++++++++--
 2 files changed, 38 insertions(+), 2 deletions(-)
drivers/clk/samsung/clk-exynos7.c +24 -0
index 54206d4..c700f65 100644
@@ -290,6 +290,20 @@ static struct samsung_mux_clock peric0_mux_clks[] __initdata = {
 };
 
 static struct samsung_gate_clock peric0_gate_clks[] __initdata = {
+	GATE(PCLK_HSI2C0, "pclk_hsi2c0", "mout_aclk_peric0_66_user",
+		ENABLE_PCLK_PERIC0, 8, 0, 0),
+	GATE(PCLK_HSI2C1, "pclk_hsi2c1", "mout_aclk_peric0_66_user",
+		ENABLE_PCLK_PERIC0, 9, 0, 0),
+	GATE(PCLK_HSI2C4, "pclk_hsi2c4", "mout_aclk_peric0_66_user",
+		ENABLE_PCLK_PERIC0, 10, 0, 0),
+	GATE(PCLK_HSI2C5, "pclk_hsi2c5", "mout_aclk_peric0_66_user",
+		ENABLE_PCLK_PERIC0, 11, 0, 0),
+	GATE(PCLK_HSI2C9, "pclk_hsi2c9", "mout_aclk_peric0_66_user",
+		ENABLE_PCLK_PERIC0, 12, 0, 0),
+	GATE(PCLK_HSI2C10, "pclk_hsi2c10", "mout_aclk_peric0_66_user",
+		ENABLE_PCLK_PERIC0, 13, 0, 0),
+	GATE(PCLK_HSI2C11, "pclk_hsi2c11", "mout_aclk_peric0_66_user",
+		ENABLE_PCLK_PERIC0, 14, 0, 0),
 	GATE(PCLK_UART0, "pclk_uart0", "mout_aclk_peric0_66_user",
 		ENABLE_PCLK_PERIC0, 16, 0, 0),
 
@@ -347,6 +361,16 @@ static struct samsung_mux_clock peric1_mux_clks[] __initdata = {
 };
 
 static struct samsung_gate_clock peric1_gate_clks[] __initdata = {
+	GATE(PCLK_HSI2C2, "pclk_hsi2c2", "mout_aclk_peric1_66_user",
+		ENABLE_PCLK_PERIC1, 4, 0, 0),
+	GATE(PCLK_HSI2C3, "pclk_hsi2c3", "mout_aclk_peric1_66_user",
+		ENABLE_PCLK_PERIC1, 5, 0, 0),
+	GATE(PCLK_HSI2C6, "pclk_hsi2c6", "mout_aclk_peric1_66_user",
+		ENABLE_PCLK_PERIC1, 6, 0, 0),
+	GATE(PCLK_HSI2C7, "pclk_hsi2c7", "mout_aclk_peric1_66_user",
+		ENABLE_PCLK_PERIC1, 7, 0, 0),
+	GATE(PCLK_HSI2C8, "pclk_hsi2c8", "mout_aclk_peric1_66_user",
+		ENABLE_PCLK_PERIC1, 8, 0, 0),
 	GATE(PCLK_UART1, "pclk_uart1", "mout_aclk_peric1_66_user",
 		ENABLE_PCLK_PERIC1, 9, 0, 0),
 	GATE(PCLK_UART2, "pclk_uart2", "mout_aclk_peric1_66_user",
include/dt-bindings/clock/exynos7-clk.h +14 -2
index 00fd6de..6d07b6f 100644
@@ -30,7 +30,14 @@
 /* PERIC0 */
 #define PCLK_UART0			1
 #define SCLK_UART0			2
-#define PERIC0_NR_CLK			3
+#define PCLK_HSI2C0			3
+#define PCLK_HSI2C1			4
+#define PCLK_HSI2C4			5
+#define PCLK_HSI2C5			6
+#define PCLK_HSI2C9			7
+#define PCLK_HSI2C10			8
+#define PCLK_HSI2C11			9
+#define PERIC0_NR_CLK			10
 
 /* PERIC1 */
 #define PCLK_UART1			1
@@ -39,7 +46,12 @@
 #define SCLK_UART1			4
 #define SCLK_UART2			5
 #define SCLK_UART3			6
-#define PERIC1_NR_CLK			7
+#define PCLK_HSI2C2			7
+#define PCLK_HSI2C3			8
+#define PCLK_HSI2C6			9
+#define PCLK_HSI2C7			10
+#define PCLK_HSI2C8			11
+#define PERIC1_NR_CLK			12
 
 /* PERIS */
 #define PCLK_CHIPID			1
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH v2 2/7 clk: samsung: exynos7: add clocks for MMC block

In reply to Abhilash Kesavan

From: Naveen Krishna Ch <[email protected]>

Exynos7 supports 3 MMC channels, add the MMC gate clocks to support them.

---
 .../devicetree/bindings/clock/exynos7-clock.txt    |   21 ++
 drivers/clk/samsung/clk-exynos7.c                  |  224 ++++++++++++++++++++
 include/dt-bindings/clock/exynos7-clk.h            |   20 ++
 3 files changed, 265 insertions(+)
Documentation/devicetree/bindings/clock/exynos7-clock.txt +21 -0
index 789f761..b29cb50 100644
@@ -27,9 +27,12 @@ Required Properties for Clock Controller:
 
 	- "samsung,exynos7-clock-topc"
 	- "samsung,exynos7-clock-top0"
+	- "samsung,exynos7-clock-top1"
 	- "samsung,exynos7-clock-peric0"
 	- "samsung,exynos7-clock-peric1"
 	- "samsung,exynos7-clock-peris"
+	- "samsung,exynos7-clock-fsys0"
+	- "samsung,exynos7-clock-fsys1"
 
  - reg: physical base address of the controller and the length of
 	memory mapped region.
@@ -50,6 +53,13 @@ Input clocks for top0 clock controller:
 	- dout_sclk_cc_pll
 	- dout_sclk_mfc_pll
 
+Input clocks for top1 clock controller:
+	- fin_pll
+	- dout_sclk_bus0_pll
+	- dout_sclk_bus1_pll
+	- dout_sclk_cc_pll
+	- dout_sclk_mfc_pll
+
 Input clocks for peric0 clock controller:
 	- fin_pll
 	- dout_aclk_peric0_66
@@ -65,3 +75,14 @@ Input clocks for peric1 clock controller:
 Input clocks for peris clock controller:
 	- fin_pll
 	- dout_aclk_peris_66
+
+Input clocks for fsys0 clock controller:
+	- fin_pll
+	- dout_aclk_fsys0_200
+	- dout_sclk_mmc2
+
+Input clocks for fsys1 clock controller:
+	- fin_pll
+	- dout_aclk_fsys1_200
+	- dout_sclk_mmc0
+	- dout_sclk_mmc1
drivers/clk/samsung/clk-exynos7.c +224 -0

233 lines not on this page · raw message

include/dt-bindings/clock/exynos7-clk.h +20 -0
index 6d07b6f..ff63c4e 100644
@@ -27,6 +27,17 @@
 #define CLK_SCLK_UART3			6
 #define TOP0_NR_CLK			7
 
+/* TOP1 */
+#define DOUT_ACLK_FSYS1_200		1
+#define DOUT_ACLK_FSYS0_200		2
+#define DOUT_SCLK_MMC2			3
+#define DOUT_SCLK_MMC1			4
+#define DOUT_SCLK_MMC0			5
+#define CLK_SCLK_MMC2			6
+#define CLK_SCLK_MMC1			7
+#define CLK_SCLK_MMC0			8
+#define TOP1_NR_CLK			9
+
 /* PERIC0 */
 #define PCLK_UART0			1
 #define SCLK_UART0			2
@@ -58,4 +69,13 @@
 #define SCLK_CHIPID			2
 #define PERIS_NR_CLK			3
 
+/* FSYS0 */
+#define ACLK_MMC2			1
+#define FSYS0_NR_CLK			2
+
+/* FSYS1 */
+#define ACLK_MMC1			1
+#define ACLK_MMC0			2
+#define FSYS1_NR_CLK			3
+
 #endif /* _DT_BINDINGS_CLOCK_EXYNOS7_H */
Signature · 1 line
1.7.9.5
#3 lore raw

PATCH v2 3/7 clk: samsung: exynos7: add clocks for RTC block

In reply to Abhilash Kesavan

From: Naveen Krishna Ch <[email protected]>

Add clock support for the RTC block in Exynos7.

---
 .../devicetree/bindings/clock/exynos7-clock.txt    |    5 ++
 drivers/clk/samsung/clk-exynos7.c                  |   54 ++++++++++++++++++++
 include/dt-bindings/clock/exynos7-clk.h            |   17 +++---
 3 files changed, 70 insertions(+), 6 deletions(-)
Documentation/devicetree/bindings/clock/exynos7-clock.txt +5 -0
index b29cb50..6d3d5f8 100644
@@ -28,6 +28,7 @@ Required Properties for Clock Controller:
 	- "samsung,exynos7-clock-topc"
 	- "samsung,exynos7-clock-top0"
 	- "samsung,exynos7-clock-top1"
+	- "samsung,exynos7-clock-ccore"
 	- "samsung,exynos7-clock-peric0"
 	- "samsung,exynos7-clock-peric1"
 	- "samsung,exynos7-clock-peris"
@@ -60,6 +61,10 @@ Input clocks for top1 clock controller:
 	- dout_sclk_cc_pll
 	- dout_sclk_mfc_pll
 
+Input clocks for ccore clock controller:
+	- fin_pll
+	- dout_aclk_ccore_133
+
 Input clocks for peric0 clock controller:
 	- fin_pll
 	- dout_aclk_peric0_66
drivers/clk/samsung/clk-exynos7.c +54 -0

84 lines not on this page · raw message

include/dt-bindings/clock/exynos7-clk.h +11 -6
index ff63c4e..3227679 100644
@@ -11,12 +11,13 @@
 #define _DT_BINDINGS_CLOCK_EXYNOS7_H
 
 /* TOPC */
-#define DOUT_ACLK_PERIS			1
-#define DOUT_SCLK_BUS0_PLL		2
-#define DOUT_SCLK_BUS1_PLL		3
-#define DOUT_SCLK_CC_PLL		4
-#define DOUT_SCLK_MFC_PLL		5
-#define TOPC_NR_CLK			6
+#define DOUT_ACLK_CCORE_133		1
+#define DOUT_ACLK_PERIS			2
+#define DOUT_SCLK_BUS0_PLL		3
+#define DOUT_SCLK_BUS1_PLL		4
+#define DOUT_SCLK_CC_PLL		5
+#define DOUT_SCLK_MFC_PLL		6
+#define TOPC_NR_CLK			7
 
 /* TOP0 */
 #define DOUT_ACLK_PERIC1		1
@@ -38,6 +39,10 @@
 #define CLK_SCLK_MMC0			8
 #define TOP1_NR_CLK			9
 
+/* CCORE */
+#define PCLK_RTC			1
+#define CCORE_NR_CLK			2
+
 /* PERIC0 */
 #define PCLK_UART0			1
 #define SCLK_UART0			2
Signature · 1 line
1.7.9.5
#4 lore raw

PATCH v2 3/7 clk: samsung: exynos7: add clocks for RTC block

Hi,

Quoted 11 lines · Abhilash Kesavan

From: Naveen Krishna Ch <[email protected]>

Add clock support for the RTC block in Exynos7.

---
 .../devicetree/bindings/clock/exynos7-clock.txt    |    5 ++
 drivers/clk/samsung/clk-exynos7.c                  |   54 ++++++++++++++++++++
 include/dt-bindings/clock/exynos7-clk.h            |   17 +++---
 3 files changed, 70 insertions(+), 6 deletions(-)

[...]

Quoted 11 lines
include/dt-bindings/clock/exynos7-clk.h +0 -3
index ff63c4e..3227679 100644
@@ -11,12 +11,13 @@
 #define _DT_BINDINGS_CLOCK_EXYNOS7_H
 
 /* TOPC */
-#define DOUT_ACLK_PERIS			1
-#define DOUT_SCLK_BUS0_PLL		2
-#define DOUT_SCLK_BUS1_PLL		3

include/dt-bindings/clock/exynos7-clk.h line 20

Quoted 10 lines
include/dt-bindings/clock/exynos7-clk.h +7 -3
-#define DOUT_SCLK_CC_PLL		4
-#define DOUT_SCLK_MFC_PLL		5
-#define TOPC_NR_CLK			6
+#define DOUT_ACLK_CCORE_133		1
+#define DOUT_ACLK_PERIS			2
+#define DOUT_SCLK_BUS0_PLL		3
+#define DOUT_SCLK_BUS1_PLL		4
+#define DOUT_SCLK_CC_PLL		5
+#define DOUT_SCLK_MFC_PLL		6
+#define TOPC_NR_CLK			7

Please don't do that, don't change the meaning of already defined clock identifiers. We should carefully assign the clock identifiers based on the SoC documentation beforehand, not at will when we see fit for development of the Linux driver. Please either add DOUT_ACLK_CCORE_133 at the end of list or move this change to the first patch in your series adding initial support for Exynos7 SoC.

--
Thanks,
Sylwester

#5 lore raw

PATCH v2 3/7 clk: samsung: exynos7: add clocks for RTC block

Hello Sylwester,

Quoted 35 lines · Sylwester Nawrocki

Hi,

Quoted 11 lines · Abhilash Kesavan

From: Naveen Krishna Ch <[email protected]>

Add clock support for the RTC block in Exynos7.

---
 .../devicetree/bindings/clock/exynos7-clock.txt    |    5 ++
 drivers/clk/samsung/clk-exynos7.c                  |   54 ++++++++++++++++++++
 include/dt-bindings/clock/exynos7-clk.h            |   17 +++---
 3 files changed, 70 insertions(+), 6 deletions(-)

[...]

Quoted 20 lines
include/dt-bindings/clock/exynos7-clk.h +6 -6
index ff63c4e..3227679 100644
@@ -11,12 +11,13 @@
 #define _DT_BINDINGS_CLOCK_EXYNOS7_H
 
 /* TOPC */
-#define DOUT_ACLK_PERIS                      1
-#define DOUT_SCLK_BUS0_PLL           2
-#define DOUT_SCLK_BUS1_PLL           3
-#define DOUT_SCLK_CC_PLL             4
-#define DOUT_SCLK_MFC_PLL            5
-#define TOPC_NR_CLK                  6
+#define DOUT_ACLK_CCORE_133          1
+#define DOUT_ACLK_PERIS                      2
+#define DOUT_SCLK_BUS0_PLL           3
+#define DOUT_SCLK_BUS1_PLL           4
+#define DOUT_SCLK_CC_PLL             5
+#define DOUT_SCLK_MFC_PLL            6
Quoted 8 lines

include/dt-bindings/clock/exynos7-clk.h line 20

Quoted 1 line
include/dt-bindings/clock/exynos7-clk.h +1 -0
+#define TOPC_NR_CLK                  7

Please don't do that, don't change the meaning of already defined clock identifiers. We should carefully assign the clock identifiers based on the SoC documentation beforehand, not at will when we see fit for development of the Linux driver. Please either add DOUT_ACLK_CCORE_133 at the end of list or move this change to the first patch in your series adding initial support for Exynos7 SoC.

Thanks for reviewing this series and picking up the initial patchset. I will re-post this patchset with the ccore clock at the end of the list. All the future clock id entries will be added at the bottom of the list.

Regards,
Abhilash

Quoted 10 lines

--
Thanks,
Sylwester

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#6 lore raw

PATCH v2 4/7 clk: samsung: exynos7: add gate clocks for WDT, TMU and PWM blocks

In reply to Abhilash Kesavan

From: Naveen Krishna Ch <[email protected]>

Add clock support for the watchdog timer, pwm timer and thermal management unit IPs in Exynos7.

---
 drivers/clk/samsung/clk-exynos7.c       |   14 ++++++++++++++
 include/dt-bindings/clock/exynos7-clk.h |    9 +++++++--
 2 files changed, 21 insertions(+), 2 deletions(-)
drivers/clk/samsung/clk-exynos7.c +14 -0
index 3a30f43..17e5cf4 100644
@@ -486,9 +486,12 @@ static struct samsung_gate_clock peric0_gate_clks[] __initdata = {
 		ENABLE_PCLK_PERIC0, 14, 0, 0),
 	GATE(PCLK_UART0, "pclk_uart0", "mout_aclk_peric0_66_user",
 		ENABLE_PCLK_PERIC0, 16, 0, 0),
+	GATE(PCLK_PWM, "pclk_pwm", "mout_aclk_peric0_66_user",
+		ENABLE_PCLK_PERIC0, 21, 0, 0),
 
 	GATE(SCLK_UART0, "sclk_uart0_user", "mout_sclk_uart0_user",
 		ENABLE_SCLK_PERIC0, 16, 0, 0),
+	GATE(SCLK_PWM, "sclk_pwm", "fin_pll", ENABLE_SCLK_PERIC0, 21, 0, 0),
 };
 
 static struct samsung_cmu_info peric0_cmu_info __initdata = {
@@ -586,7 +589,9 @@ CLK_OF_DECLARE(exynos7_clk_peric1, "samsung,exynos7-clock-peric1",
 
 /* Register Offset definitions for CMU_PERIS (0x10040000) */
 #define MUX_SEL_PERIS			0x0200
+#define ENABLE_PCLK_PERIS		0x0900
 #define ENABLE_PCLK_PERIS_SECURE_CHIPID	0x0910
+#define ENABLE_SCLK_PERIS		0x0A00
 #define ENABLE_SCLK_PERIS_SECURE_CHIPID	0x0A10
 
 /* List of parent clocks for Muxes in CMU_PERIS */
@@ -594,7 +599,9 @@ PNAME(mout_aclk_peris_66_p) = { "fin_pll", "dout_aclk_peris_66" };
 
 static unsigned long peris_clk_regs[] __initdata = {
 	MUX_SEL_PERIS,
+	ENABLE_PCLK_PERIS,
 	ENABLE_PCLK_PERIS_SECURE_CHIPID,
+	ENABLE_SCLK_PERIS,
 	ENABLE_SCLK_PERIS_SECURE_CHIPID,
 };
 
@@ -604,10 +611,17 @@ static struct samsung_mux_clock peris_mux_clks[] __initdata = {
 };
 
 static struct samsung_gate_clock peris_gate_clks[] __initdata = {
+	GATE(PCLK_WDT, "pclk_wdt", "mout_aclk_peris_66_user",
+		ENABLE_PCLK_PERIS, 6, 0, 0),
+	GATE(PCLK_TMU, "pclk_tmu_apbif", "mout_aclk_peris_66_user",
+		ENABLE_PCLK_PERIS, 10, 0, 0),
+
 	GATE(PCLK_CHIPID, "pclk_chipid", "mout_aclk_peris_66_user",
 		ENABLE_PCLK_PERIS_SECURE_CHIPID, 0, 0, 0),
 	GATE(SCLK_CHIPID, "sclk_chipid", "fin_pll",
 		ENABLE_SCLK_PERIS_SECURE_CHIPID, 0, 0, 0),
+
+	GATE(SCLK_TMU, "sclk_tmu", "fin_pll", ENABLE_SCLK_PERIS, 10, 0, 0),
 };
 
 static struct samsung_cmu_info peris_cmu_info __initdata = {
include/dt-bindings/clock/exynos7-clk.h +7 -2
index 3227679..28c8aa7 100644
@@ -53,7 +53,9 @@
 #define PCLK_HSI2C9			7
 #define PCLK_HSI2C10			8
 #define PCLK_HSI2C11			9
-#define PERIC0_NR_CLK			10
+#define PCLK_PWM			10
+#define SCLK_PWM			11
+#define PERIC0_NR_CLK			12
 
 /* PERIC1 */
 #define PCLK_UART1			1
@@ -72,7 +74,10 @@
 /* PERIS */
 #define PCLK_CHIPID			1
 #define SCLK_CHIPID			2
-#define PERIS_NR_CLK			3
+#define PCLK_WDT			3
+#define PCLK_TMU			4
+#define SCLK_TMU			5
+#define PERIS_NR_CLK			6
 
 /* FSYS0 */
 #define ACLK_MMC2			1
Signature · 1 line
1.7.9.5
#7 lore raw

PATCH v2 5/7 arm64: dts: Add PMU DT node for exynos7 SoC

In reply to Abhilash Kesavan

Adds PMU DT node for exynos7 SoC.

---
 .../devicetree/bindings/arm/samsung/pmu.txt        |    1 +
 arch/arm64/boot/dts/exynos/exynos7.dtsi            |    5 +++++
 2 files changed, 6 insertions(+)
Documentation/devicetree/bindings/arm/samsung/pmu.txt +1 -0
index 1e1979b..67b2113 100644
@@ -10,6 +10,7 @@ Properties:
 		   - "samsung,exynos5260-pmu" - for Exynos5260 SoC.
 		   - "samsung,exynos5410-pmu" - for Exynos5410 SoC,
 		   - "samsung,exynos5420-pmu" - for Exynos5420 SoC.
+		   - "samsung,exynos7-pmu" - for Exynos7 SoC.
 		second value must be always "syscon".
 
  - reg : offset and length of the register set.
arch/arm64/boot/dts/exynos/exynos7.dtsi +5 -0
index ce221ac..6db8c78 100644
@@ -243,6 +243,11 @@
 				     <1 11 0xff01>,
 				     <1 10 0xff01>;
 		};
+
+		pmu_system_controller: system-controller at 105c0000 {
+			compatible = "samsung,exynos7-pmu", "syscon";
+			reg = <0x105c0000 0x5000>;
+		};
 	};
 };
 
Signature · 1 line
1.7.9.5
#8 lore raw

PATCH v2 6/7 arm64: dts: Add nodes for mmc, i2c, rtc, watchdog on Exynos7

In reply to Abhilash Kesavan

Add nodes for 3 mmc channels, 12 i2c channels, rtc, and watchdog on Exynos7.

---
 arch/arm64/boot/dts/exynos/exynos7-espresso.dts |   41 ++++
 arch/arm64/boot/dts/exynos/exynos7.dtsi         |  256 +++++++++++++++++++++++
 2 files changed, 297 insertions(+)
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +41 -0
index e2c8283..d081c26 100644
@@ -18,6 +18,8 @@
 
 	aliases {
 		serial0 = &serial_2;
+		mshc0 = &mmc_0;
+		mshc2 = &mmc_2;
 	};
 
 	chosen {
@@ -37,3 +39,42 @@
 &serial_2 {
 	status = "okay";
 };
+
+&rtc {
+	status = "okay";
+};
+
+&watchdog {
+	status = "okay";
+};
+
+&mmc_0 {
+	status = "okay";
+	num-slots = <1>;
+	broken-cd;
+	caps2-mmc-hs200-1_8v;
+	supports-highspeed;
+	non-removable;
+	card-detect-delay = <200>;
+	clock-frequency = <800000000>;
+	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 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+	bus-width = <8>;
+};
+
+&mmc_2 {
+	status = "okay";
+	num-slots = <1>;
+	supports-highspeed;
+	card-detect-delay = <200>;
+	clock-frequency = <400000000>;
+	samsung,dw-mshc-ciu-div = <3>;
+	samsung,dw-mshc-sdr-timing = <2 3>;
+	samsung,dw-mshc-ddr-timing = <1 2>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
+	bus-width = <4>;
+};
arch/arm64/boot/dts/exynos/exynos7.dtsi +256 -0

280 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#9 lore raw

PATCH v2 6/7 arm64: dts: Add nodes for mmc, i2c, rtc, watchdog on Exynos7

Hi Abhilash,

Quoted 31 lines · Abhilash Kesavan

Add nodes for 3 mmc channels, 12 i2c channels, rtc, and watchdog on Exynos7.

---
 arch/arm64/boot/dts/exynos/exynos7-espresso.dts |   41 ++++
 arch/arm64/boot/dts/exynos/exynos7.dtsi         |  256 +++++++++++++++++++++++
 2 files changed, 297 insertions(+)
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +6 -0
index e2c8283..d081c26 100644
@@ -18,6 +18,8 @@
 
        aliases {
                serial0 = &serial_2;
+               mshc0 = &mmc_0;
+               mshc2 = &mmc_2;
        };
 
        chosen {
@@ -37,3 +39,42 @@
 &serial_2 {
        status = "okay";
 };
+
+&rtc {
+       status = "okay";
+};

arch/arm64/boot/dts/exynos/exynos7-espresso.dts line 55

Quoted 10 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +10 -0
+
+&watchdog {
+       status = "okay";
+};
+
+&mmc_0 {
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       caps2-mmc-hs200-1_8v;

Please use mmc_hs200-1_8v instead.

arch/arm64/boot/dts/exynos/exynos7-espresso.dts line 56

Quoted 1 line
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +1 -0
+       supports-highspeed;

As per synopsys-dw-mshc DT binding documentation, supports-highspeed property is deprecated, so please use common DT binding for this, which is "cap-mmc-highspeed".

Quoted 5 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +5 -0
+       non-removable;
+       card-detect-delay = <200>;
+       clock-frequency = <800000000>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <0 4>;

arch/arm64/boot/dts/exynos/exynos7-espresso.dts line 71

Quoted 10 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +10 -0
+       samsung,dw-mshc-ddr-timing = <0 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+       bus-width = <8>;
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;

Here also common DT binding please "cap-sd-highspeed"

Quoted 305 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +9 -0
+       card-detect-delay = <200>;
+       clock-frequency = <400000000>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
+       bus-width = <4>;
+};
arch/arm64/boot/dts/exynos/exynos7.dtsi +256 -1
index 6db8c78..1300ded 100644
@@ -113,6 +113,27 @@
                                      "dout_sclk_mfc_pll";
                };
 
+               clock_top1: clock-controller at 105e0000 {
+                       compatible = "samsung,exynos7-clock-top1";
+                       reg = <0x105e0000 0xb000>;
+                       #clock-cells = <1>;
+                       clocks = <&fin_pll>, <&clock_topc DOUT_SCLK_BUS0_PLL>,
+                                <&clock_topc DOUT_SCLK_BUS1_PLL>,
+                                <&clock_topc DOUT_SCLK_CC_PLL>,
+                                <&clock_topc DOUT_SCLK_MFC_PLL>;
+                       clock-names = "fin_pll", "dout_sclk_bus0_pll",
+                                     "dout_sclk_bus1_pll", "dout_sclk_cc_pll",
+                                     "dout_sclk_mfc_pll";
+               };
+
+               clock_ccore: clock-controller at 105b0000 {
+                       compatible = "samsung,exynos7-clock-ccore";
+                       reg = <0x105b0000 0xd00>;
+                       #clock-cells = <1>;
+                       clocks = <&fin_pll>, <&clock_topc DOUT_ACLK_CCORE_133>;
+                       clock-names = "fin_pll", "dout_aclk_ccore_133";
+               };
+
                clock_peric0: clock-controller at 13610000 {
                        compatible = "samsung,exynos7-clock-peric0";
                        reg = <0x13610000 0xd00>;
@@ -143,6 +164,27 @@
                        clock-names = "fin_pll", "dout_aclk_peris_66";
                };
 
+               clock_fsys0: clock-controller at 10e90000 {
+                       compatible = "samsung,exynos7-clock-fsys0";
+                       reg = <0x10e90000 0xd00>;
+                       #clock-cells = <1>;
+                       clocks = <&fin_pll>, <&clock_top1 DOUT_ACLK_FSYS0_200>,
+                                <&clock_top1 DOUT_SCLK_MMC2>;
+                       clock-names = "fin_pll", "dout_aclk_fsys0_200",
+                                     "dout_sclk_mmc2";
+               };
+
+               clock_fsys1: clock-controller at 156e0000 {
+                       compatible = "samsung,exynos7-clock-fsys1";
+                       reg = <0x156e0000 0xd00>;
+                       #clock-cells = <1>;
+                       clocks = <&fin_pll>, <&clock_top1 DOUT_ACLK_FSYS1_200>,
+                                <&clock_top1 DOUT_SCLK_MMC0>,
+                                <&clock_top1 DOUT_SCLK_MMC1>;
+                       clock-names = "fin_pll", "dout_aclk_fsys1_200",
+                                     "dout_sclk_mmc0", "dout_sclk_mmc1";
+               };
+
                serial_0: serial at 13630000 {
                        compatible = "samsung,exynos4210-uart";
                        reg = <0x13630000 0x100>;
@@ -236,6 +278,162 @@
                        interrupts = <0 203 0>;
                };
 
+               hsi2c_0: hsi2c at 13640000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x13640000 0x1000>;
+                       interrupts = <0 441 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c0_bus>;
+                       clocks = <&clock_peric0 PCLK_HSI2C0>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_1: hsi2c at 13650000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x13650000 0x1000>;
+                       interrupts = <0 442 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c1_bus>;
+                       clocks = <&clock_peric0 PCLK_HSI2C1>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_2: hsi2c at 14e60000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x14e60000 0x1000>;
+                       interrupts = <0 459 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c2_bus>;
+                       clocks = <&clock_peric1 PCLK_HSI2C2>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_3: hsi2c at 14e70000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x14e70000 0x1000>;
+                       interrupts = <0 460 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c3_bus>;
+                       clocks = <&clock_peric1 PCLK_HSI2C3>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_4: hsi2c at 13660000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x13660000 0x1000>;
+                       interrupts = <0 443 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c4_bus>;
+                       clocks = <&clock_peric0 PCLK_HSI2C4>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_5: hsi2c at 13670000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x13670000 0x1000>;
+                       interrupts = <0 444 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c5_bus>;
+                       clocks = <&clock_peric0 PCLK_HSI2C5>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_6: hsi2c at 14e00000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x14e00000 0x1000>;
+                       interrupts = <0 461 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c6_bus>;
+                       clocks = <&clock_peric1 PCLK_HSI2C6>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_7: hsi2c at 13e10000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x13e10000 0x1000>;
+                       interrupts = <0 462 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c7_bus>;
+                       clocks = <&clock_peric1 PCLK_HSI2C7>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_8: hsi2c at 14e20000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x14e20000 0x1000>;
+                       interrupts = <0 463 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c8_bus>;
+                       clocks = <&clock_peric1 PCLK_HSI2C8>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_9: hsi2c at 13680000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x13680000 0x1000>;
+                       interrupts = <0 445 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c9_bus>;
+                       clocks = <&clock_peric0 PCLK_HSI2C9>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_10: hsi2c at 13690000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x13690000 0x1000>;
+                       interrupts = <0 446 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c10_bus>;
+                       clocks = <&clock_peric0 PCLK_HSI2C10>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
+               hsi2c_11: hsi2c at 136a0000 {
+                       compatible = "samsung,exynos7-hsi2c";
+                       reg = <0x136a0000 0x1000>;
+                       interrupts = <0 447 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&hs_i2c11_bus>;
+                       clocks = <&clock_peric0 PCLK_HSI2C11>;
+                       clock-names = "hsi2c";
+                       status = "disabled";
+               };
+
                timer {
                        compatible = "arm,armv8-timer";
                        interrupts = <1 13 0xff01>,
@@ -248,6 +446,64 @@
                        compatible = "samsung,exynos7-pmu", "syscon";
                        reg = <0x105c0000 0x5000>;
                };
+
+               rtc: rtc at 10590000 {
+                       compatible = "samsung,s3c6410-rtc";
+                       reg = <0x10590000 0x100>;
+                       interrupts = <0 355 0>, <0 356 0>;
+                       clocks = <&clock_ccore PCLK_RTC>;
+                       clock-names = "rtc";
+                       status = "disabled";
+               };
+
+               watchdog: watchdog at 101d0000 {
+                       compatible = "samsung,exynos7-wdt";
+                       reg = <0x101d0000 0x100>;
+                       interrupts = <0 110 0>;
+                       clocks = <&clock_peris PCLK_WDT>;
+                       clock-names = "watchdog";
+                       samsung,syscon-phandle = <&pmu_system_controller>;
+                       status = "disabled";
+               };
+
+               mmc_0: mmc at 15740000 {
+                       compatible = "samsung,exynos7-dw-mshc-smu";
+                       interrupts = <0 201 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0x15740000 0x2000>;
+                       clocks = <&clock_fsys1 ACLK_MMC0>,
+                                <&clock_top1 CLK_SCLK_MMC0>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <0x40>;
+                       status = "disabled";
+               };
+
+               mmc_1: mmc at 15750000 {
+                       compatible = "samsung,exynos7-dw-mshc";
+                       interrupts = <0 202 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0x15750000 0x2000>;
+                       clocks = <&clock_fsys1 ACLK_MMC1>,
+                                <&clock_top1 CLK_SCLK_MMC1>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <0x40>;
+                       status = "disabled";
+               };
+
+               mmc_2: mmc at 15560000 {
+                       compatible = "samsung,exynos7-dw-mshc-smu";
+                       interrupts = <0 216 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0x15560000 0x2000>;
+                       clocks = <&clock_fsys0 ACLK_MMC2>,
+                                <&clock_top1 CLK_SCLK_MMC2>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <0x40>;
+                       status = "disabled";
+               };
        };
 };
 
--

1.7.9.5

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Signature · 2 lines
Regards,
Alim
#10 lore raw

PATCH v2 6/7 arm64: dts: Add nodes for mmc, i2c, rtc, watchdog on Exynos7

Quoted 6 lines · Alim Akhtar

arch/arm64/boot/dts/exynos/exynos7-espresso.dts line 55

Quoted 5 lines

+&mmc_0 {

arch/arm64/boot/dts/exynos/exynos7-espresso.dts +4 -0
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       caps2-mmc-hs200-1_8v;

Please use mmc_hs200-1_8v instead.

I guess you mean "mmc-hs200-1_8v" (with a hyphen between mmc and hs200).

Quoted 4 lines
Quoted 1 line

+ supports-highspeed;

As per synopsys-dw-mshc DT binding documentation, supports-highspeed property is deprecated, so please use common DT binding for this, which is "cap-mmc-highspeed".

Quoted 16 lines
Quoted 5 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +5 -0
+       non-removable;
+       card-detect-delay = <200>;
+       clock-frequency = <800000000>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <0 4>;

arch/arm64/boot/dts/exynos/exynos7-espresso.dts line 71

Quoted 10 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +10 -0
+       samsung,dw-mshc-ddr-timing = <0 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+       bus-width = <8>;
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;

Here also common DT binding please "cap-sd-highspeed"

Above you suggest "cap-mmc-highspeed" to replace the same deprecated property, but here "cap-sd-highspeed". What is the rationale behind using only one particular new property and not both for both controllers?

Best regards,
Tomasz

#11 lore raw

PATCH v2 6/7 arm64: dts: Add nodes for mmc, i2c, rtc, watchdog on Exynos7

Hi Tomasz,

Quoted 10 lines · Tomasz Figa
Quoted 6 lines · Alim Akhtar

arch/arm64/boot/dts/exynos/exynos7-espresso.dts line 55

Quoted 5 lines

+&mmc_0 {

arch/arm64/boot/dts/exynos/exynos7-espresso.dts +4 -0
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       caps2-mmc-hs200-1_8v;

Please use mmc_hs200-1_8v instead.

I guess you mean "mmc-hs200-1_8v" (with a hyphen between mmc and hs200).

Yes, right, that was a typo. Thanks.

Quoted 21 lines
Quoted 4 lines
Quoted 1 line

+ supports-highspeed;

As per synopsys-dw-mshc DT binding documentation, supports-highspeed property is deprecated, so please use common DT binding for this, which is "cap-mmc-highspeed".

Quoted 16 lines
Quoted 5 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +5 -0
+       non-removable;
+       card-detect-delay = <200>;
+       clock-frequency = <800000000>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <0 4>;

arch/arm64/boot/dts/exynos/exynos7-espresso.dts line 71

Quoted 10 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +10 -0
+       samsung,dw-mshc-ddr-timing = <0 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+       bus-width = <8>;
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;

Here also common DT binding please "cap-sd-highspeed"

Quoted 4 lines

Above you suggest "cap-mmc-highspeed" to replace the same deprecated property, but here "cap-sd-highspeed". What is the rationale behind using only one particular new property and not both for both controllers?

Well, on this particular board dw_mmc channels are dedicated to use only one kind of card. e.g. mmc_0 is for eMMC and which is non-removable and mmc_2 is for SD cards. Although controller supports both the properties on all channel on this SoC.

Quoted 2 lines

Best regards,
Tomasz

Signature · 2 lines
Regards,
Alim
#12 lore raw

PATCH v2 6/7 arm64: dts: Add nodes for mmc, i2c, rtc, watchdog on Exynos7

Hi Alim and Tomasz,

Thanks for the review.

Quoted 9 lines · Alim Akhtar

Hi Tomasz,

Quoted 6 lines · Tomasz Figa
Quoted 5 lines · Alim Akhtar
Quoted 5 lines

+&mmc_0 {

arch/arm64/boot/dts/exynos/exynos7-espresso.dts +4 -0
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       caps2-mmc-hs200-1_8v;
Quoted 5 lines
Quoted 4 lines
Quoted 1 line

Please use mmc_hs200-1_8v instead.

I guess you mean "mmc-hs200-1_8v" (with a hyphen between mmc and hs200).

Yes, right, that was a typo. Thanks.

Will modify it to "mmc-hs200-1_8v".

Quoted 21 lines
Quoted 21 lines
Quoted 20 lines
Quoted 1 line

+ supports-highspeed;

As per synopsys-dw-mshc DT binding documentation, supports-highspeed property is deprecated, so please use common DT binding for this, which is "cap-mmc-highspeed".

Quoted 5 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +5 -0
+       non-removable;
+       card-detect-delay = <200>;
+       clock-frequency = <800000000>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <0 4>;

arch/arm64/boot/dts/exynos/exynos7-espresso.dts line 71

Quoted 10 lines
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +10 -0
+       samsung,dw-mshc-ddr-timing = <0 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+       bus-width = <8>;
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;

Here also common DT binding please "cap-sd-highspeed"

Quoted 8 lines
Quoted 4 lines

Above you suggest "cap-mmc-highspeed" to replace the same deprecated property, but here "cap-sd-highspeed". What is the rationale behind using only one particular new property and not both for both controllers?

Well, on this particular board dw_mmc channels are dedicated to use only one kind of card. e.g. mmc_0 is for eMMC and which is non-removable and mmc_2 is for SD cards. Although controller supports both the properties on all channel on this SoC.

Will use "cap-sd/mmc-highspeed" instead of "supports-highspeed".

Regards,
Abhilash

Quoted 14 lines
Quoted 3 lines

Best regards,
Tomasz

--
Regards,
Alim

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#13 lore raw

PATCH v2 7/7 arm64: exynos: Enable rtc and watchdog support for Exynos7

In reply to Abhilash Kesavan

Enable rtc and watchdog support for exynos7 SoCs.

---
 arch/arm64/Kconfig |    3 +++
 1 file changed, 3 insertions(+)
arch/arm64/Kconfig +3 -0
index 238acff..9bb4e02 100644
@@ -158,6 +158,9 @@ config ARCH_EXYNOS7
 	select COMMON_CLK_SAMSUNG
 	select PINCTRL
 	select PINCTRL_EXYNOS
+	select HAVE_S3C2410_WATCHDOG if WATCHDOG
+	select HAVE_S3C_RTC if RTC_CLASS
+
 	help
 	  This enables support for Samsung Exynos7 SoC family
 
Signature · 1 line
1.7.9.5