* [PATCH 1/8] ARM: shmobile: r8a7740: clock register bits
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
@ 2014-08-26 5:23 ` Simon Horman
2014-08-26 5:23 ` [PATCH 2/8] ARM: shmobile: r8a7740: add SoC clocks to DTS Simon Horman
` (8 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2014-08-26 5:23 UTC (permalink / raw)
To: linux-arm-kernel
From: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Contains the header file with the clock pulse generator and MSTP bits.
Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
include/dt-bindings/clock/r8a7740-clock.h | 77 +++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)
create mode 100644 include/dt-bindings/clock/r8a7740-clock.h
diff --git a/include/dt-bindings/clock/r8a7740-clock.h b/include/dt-bindings/clock/r8a7740-clock.h
new file mode 100644
index 0000000..f6b4b0f
--- /dev/null
+++ b/include/dt-bindings/clock/r8a7740-clock.h
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2014 Ulrich Hecht
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef __DT_BINDINGS_CLOCK_R8A7740_H__
+#define __DT_BINDINGS_CLOCK_R8A7740_H__
+
+/* CPG */
+#define R8A7740_CLK_SYSTEM 0
+#define R8A7740_CLK_PLLC0 1
+#define R8A7740_CLK_PLLC1 2
+#define R8A7740_CLK_PLLC2 3
+#define R8A7740_CLK_R 4
+#define R8A7740_CLK_USB24S 5
+#define R8A7740_CLK_I 6
+#define R8A7740_CLK_ZG 7
+#define R8A7740_CLK_B 8
+#define R8A7740_CLK_M1 9
+#define R8A7740_CLK_HP 10
+#define R8A7740_CLK_HPP 11
+#define R8A7740_CLK_USBP 12
+#define R8A7740_CLK_S 13
+#define R8A7740_CLK_ZB 14
+#define R8A7740_CLK_M3 15
+#define R8A7740_CLK_CP 16
+
+/* MSTP1 */
+#define R8A7740_CLK_CEU21 28
+#define R8A7740_CLK_CEU20 27
+#define R8A7740_CLK_TMU0 25
+#define R8A7740_CLK_LCDC1 17
+#define R8A7740_CLK_IIC0 16
+#define R8A7740_CLK_TMU1 11
+#define R8A7740_CLK_LCDC0 0
+
+/* MSTP2 */
+#define R8A7740_CLK_SCIFA6 30
+#define R8A7740_CLK_SCIFA7 22
+#define R8A7740_CLK_DMAC1 18
+#define R8A7740_CLK_DMAC2 17
+#define R8A7740_CLK_DMAC3 16
+#define R8A7740_CLK_USBDMAC 14
+#define R8A7740_CLK_SCIFA5 7
+#define R8A7740_CLK_SCIFB 6
+#define R8A7740_CLK_SCIFA0 4
+#define R8A7740_CLK_SCIFA1 3
+#define R8A7740_CLK_SCIFA2 2
+#define R8A7740_CLK_SCIFA3 1
+#define R8A7740_CLK_SCIFA4 0
+
+/* MSTP3 */
+#define R8A7740_CLK_CMT1 29
+#define R8A7740_CLK_FSI 28
+#define R8A7740_CLK_IIC1 23
+#define R8A7740_CLK_USBF 20
+#define R8A7740_CLK_SDHI0 14
+#define R8A7740_CLK_SDHI1 13
+#define R8A7740_CLK_MMC 12
+#define R8A7740_CLK_GETHER 9
+#define R8A7740_CLK_TPU0 4
+
+/* MSTP4 */
+#define R8A7740_CLK_USBH 16
+#define R8A7740_CLK_SDHI2 15
+#define R8A7740_CLK_USBFUNC 7
+#define R8A7740_CLK_USBPHY 6
+
+/* SUBCK* */
+#define R8A7740_CLK_SUBCK 9
+#define R8A7740_CLK_SUBCK2 10
+
+#endif /* __DT_BINDINGS_CLOCK_R8A7740_H__ */
--
2.0.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/8] ARM: shmobile: r8a7740: add SoC clocks to DTS
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
2014-08-26 5:23 ` [PATCH 1/8] ARM: shmobile: r8a7740: clock register bits Simon Horman
@ 2014-08-26 5:23 ` Simon Horman
2014-08-26 5:23 ` [PATCH 3/8] ARM: shmobile: r8a7740: add MSTP clock assignments to DT Simon Horman
` (7 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2014-08-26 5:23 UTC (permalink / raw)
To: linux-arm-kernel
From: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Declares the r8a7740 clocks supported by the legacy clock framework,
excluding those requiring extensions to the DIV6 driver.
Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/boot/dts/r8a7740.dtsi | 180 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 180 insertions(+)
diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi
index bda18fb..3c61c5d 100644
--- a/arch/arm/boot/dts/r8a7740.dtsi
+++ b/arch/arm/boot/dts/r8a7740.dtsi
@@ -10,6 +10,7 @@
/include/ "skeleton.dtsi"
+#include <dt-bindings/clock/r8a7740-clock.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
@@ -291,4 +292,183 @@
interrupts = <0 9 0x4>;
status = "disabled";
};
+
+ clocks {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ /* External root clock */
+ extalr_clk: extalr_clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ clock-output-names = "extalr";
+ };
+ extal1_clk: extal1_clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <0>;
+ clock-output-names = "extal1";
+ };
+ extal2_clk: extal2_clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <0>;
+ clock-output-names = "extal2";
+ };
+ dv_clk: dv_clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <27000000>;
+ clock-output-names = "dv";
+ };
+ fsiack_clk: fsiack_clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <0>;
+ clock-output-names = "fsiack";
+ };
+ fsibck_clk: fsibck_clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <0>;
+ clock-output-names = "fsibck";
+ };
+
+ /* Special CPG clocks */
+ cpg_clocks: cpg_clocks at e6150000 {
+ compatible = "renesas,r8a7740-cpg-clocks";
+ reg = <0xe6150000 0x10000>;
+ clocks = <&extal1_clk>, <&extalr_clk>;
+ #clock-cells = <1>;
+ clock-output-names = "system", "pllc0", "pllc1",
+ "pllc2", "r",
+ "usb24s",
+ "i", "zg", "b", "m1", "hp",
+ "hpp", "usbp", "s", "zb", "m3",
+ "cp";
+ };
+
+ /* Variable factor clocks (DIV6) */
+ sub_clk: sub_clk at e6150080 {
+ compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
+ reg = <0xe6150080 4>;
+ clocks = <&pllc1_div2_clk>;
+ #clock-cells = <0>;
+ clock-output-names = "sub";
+ };
+
+ /* Fixed factor clocks */
+ pllc1_div2_clk: pllc1_div2_clk {
+ compatible = "fixed-factor-clock";
+ clocks = <&cpg_clocks R8A7740_CLK_PLLC1>;
+ #clock-cells = <0>;
+ clock-div = <2>;
+ clock-mult = <1>;
+ clock-output-names = "pllc1_div2";
+ };
+ extal1_div2_clk: extal1_div2_clk {
+ compatible = "fixed-factor-clock";
+ clocks = <&extal1_clk>;
+ #clock-cells = <0>;
+ clock-div = <2>;
+ clock-mult = <1>;
+ clock-output-names = "extal1_div2";
+ };
+
+ /* Gate clocks */
+ subck_clks: subck_clks at e6150080 {
+ compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
+ reg = <0xe6150080 4>;
+ clocks = <&sub_clk>, <&sub_clk>;
+ #clock-cells = <1>;
+ renesas,clock-indices = <
+ R8A7740_CLK_SUBCK R8A7740_CLK_SUBCK2
+ >;
+ clock-output-names =
+ "subck", "subck2";
+ };
+ mstp1_clks: mstp1_clks at e6150134 {
+ compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
+ reg = <0xe6150134 4>, <0xe6150038 4>;
+ clocks = <&cpg_clocks R8A7740_CLK_S>,
+ <&cpg_clocks R8A7740_CLK_S>, <&sub_clk>,
+ <&cpg_clocks R8A7740_CLK_B>,
+ <&sub_clk>, <&sub_clk>,
+ <&cpg_clocks R8A7740_CLK_B>;
+ #clock-cells = <1>;
+ renesas,clock-indices = <
+ R8A7740_CLK_CEU21 R8A7740_CLK_CEU20 R8A7740_CLK_TMU0
+ R8A7740_CLK_LCDC1 R8A7740_CLK_IIC0 R8A7740_CLK_TMU1
+ R8A7740_CLK_LCDC0
+ >;
+ clock-output-names =
+ "ceu21", "ceu20", "tmu0", "lcdc1", "iic0",
+ "tmu1", "lcdc0";
+ };
+ mstp2_clks: mstp2_clks at e6150138 {
+ compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
+ reg = <0xe6150138 4>, <0xe6150040 4>;
+ clocks = <&sub_clk>, <&sub_clk>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&sub_clk>, <&sub_clk>, <&sub_clk>,
+ <&sub_clk>, <&sub_clk>, <&sub_clk>,
+ <&sub_clk>;
+ #clock-cells = <1>;
+ renesas,clock-indices = <
+ R8A7740_CLK_SCIFA6 R8A7740_CLK_SCIFA7
+ R8A7740_CLK_DMAC1 R8A7740_CLK_DMAC2
+ R8A7740_CLK_DMAC3 R8A7740_CLK_USBDMAC
+ R8A7740_CLK_SCIFA5 R8A7740_CLK_SCIFB
+ R8A7740_CLK_SCIFA0 R8A7740_CLK_SCIFA1
+ R8A7740_CLK_SCIFA2 R8A7740_CLK_SCIFA3
+ R8A7740_CLK_SCIFA4
+ >;
+ clock-output-names =
+ "scifa6", "scifa7", "dmac1", "dmac2", "dmac3",
+ "usbdmac", "scifa5", "scifb", "scifa0", "scifa1",
+ "scifa2", "scifa3", "scifa4";
+ };
+ mstp3_clks: mstp3_clks at e615013c {
+ compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
+ reg = <0xe615013c 4>, <0xe6150048 4>;
+ clocks = <&cpg_clocks R8A7740_CLK_R>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&sub_clk>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>;
+ #clock-cells = <1>;
+ renesas,clock-indices = <
+ R8A7740_CLK_CMT1 R8A7740_CLK_FSI R8A7740_CLK_IIC1
+ R8A7740_CLK_USBF R8A7740_CLK_SDHI0 R8A7740_CLK_SDHI1
+ R8A7740_CLK_MMC R8A7740_CLK_GETHER R8A7740_CLK_TPU0
+ >;
+ clock-output-names =
+ "cmt1", "fsi", "iic1", "usbf", "sdhi0", "sdhi1",
+ "mmc", "gether", "tpu0";
+ };
+ mstp4_clks: mstp4_clks at e6150140 {
+ compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
+ reg = <0xe6150140 4>, <0xe615004c 4>;
+ clocks = <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>,
+ <&cpg_clocks R8A7740_CLK_HP>;
+ #clock-cells = <1>;
+ renesas,clock-indices = <
+ R8A7740_CLK_USBH R8A7740_CLK_SDHI2
+ R8A7740_CLK_USBFUNC R8A7740_CLK_USBPHY
+ >;
+ clock-output-names =
+ "usbhost", "sdhi2", "usbfunc", "usphy";
+ };
+ };
};
--
2.0.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/8] ARM: shmobile: r8a7740: add MSTP clock assignments to DT
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
2014-08-26 5:23 ` [PATCH 1/8] ARM: shmobile: r8a7740: clock register bits Simon Horman
2014-08-26 5:23 ` [PATCH 2/8] ARM: shmobile: r8a7740: add SoC clocks to DTS Simon Horman
@ 2014-08-26 5:23 ` Simon Horman
2014-08-26 5:23 ` [PATCH 4/8] ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS Simon Horman
` (6 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2014-08-26 5:23 UTC (permalink / raw)
To: linux-arm-kernel
From: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Assigns clocks to ether, i2c*, scif*, tpu, mmcif0, sdhi*, and fsi2.
Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/boot/dts/r8a7740.dtsi | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi
index 3c61c5d..6cd6a46 100644
--- a/arch/arm/boot/dts/r8a7740.dtsi
+++ b/arch/arm/boot/dts/r8a7740.dtsi
@@ -126,7 +126,7 @@
reg = <0xe9a00000 0x800>,
<0xe9a01800 0x800>;
interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
- /* clocks = <&mstp3_clks R8A7740_CLK_GETHER>; */
+ clocks = <&mstp3_clks R8A7740_CLK_GETHER>;
phy-mode = "mii";
#address-cells = <1>;
#size-cells = <0>;
@@ -142,6 +142,7 @@
0 202 IRQ_TYPE_LEVEL_HIGH
0 203 IRQ_TYPE_LEVEL_HIGH
0 204 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp1_clks R8A7740_CLK_IIC0>;
status = "disabled";
};
@@ -154,6 +155,7 @@
0 71 IRQ_TYPE_LEVEL_HIGH
0 72 IRQ_TYPE_LEVEL_HIGH
0 73 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp3_clks R8A7740_CLK_IIC1>;
status = "disabled";
};
@@ -161,6 +163,8 @@
compatible = "renesas,scifa-r8a7740", "renesas,scifa";
reg = <0xe6c40000 0x100>;
interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>;
+ clock-names = "sci_ick";
status = "disabled";
};
@@ -168,6 +172,8 @@
compatible = "renesas,scifa-r8a7740", "renesas,scifa";
reg = <0xe6c50000 0x100>;
interrupts = <0 101 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp2_clks R8A7740_CLK_SCIFA1>;
+ clock-names = "sci_ick";
status = "disabled";
};
@@ -175,6 +181,8 @@
compatible = "renesas,scifa-r8a7740", "renesas,scifa";
reg = <0xe6c60000 0x100>;
interrupts = <0 102 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>;
+ clock-names = "sci_ick";
status = "disabled";
};
@@ -182,6 +190,8 @@
compatible = "renesas,scifa-r8a7740", "renesas,scifa";
reg = <0xe6c70000 0x100>;
interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp2_clks R8A7740_CLK_SCIFA3>;
+ clock-names = "sci_ick";
status = "disabled";
};
@@ -189,6 +199,8 @@
compatible = "renesas,scifa-r8a7740", "renesas,scifa";
reg = <0xe6c80000 0x100>;
interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp2_clks R8A7740_CLK_SCIFA4>;
+ clock-names = "sci_ick";
status = "disabled";
};
@@ -196,6 +208,8 @@
compatible = "renesas,scifa-r8a7740", "renesas,scifa";
reg = <0xe6cb0000 0x100>;
interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp2_clks R8A7740_CLK_SCIFA5>;
+ clock-names = "sci_ick";
status = "disabled";
};
@@ -203,6 +217,8 @@
compatible = "renesas,scifa-r8a7740", "renesas,scifa";
reg = <0xe6cc0000 0x100>;
interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp2_clks R8A7740_CLK_SCIFA6>;
+ clock-names = "sci_ick";
status = "disabled";
};
@@ -210,6 +226,8 @@
compatible = "renesas,scifa-r8a7740", "renesas,scifa";
reg = <0xe6cd0000 0x100>;
interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp2_clks R8A7740_CLK_SCIFA7>;
+ clock-names = "sci_ick";
status = "disabled";
};
@@ -217,6 +235,8 @@
compatible = "renesas,scifb-r8a7740", "renesas,scifb";
reg = <0xe6c30000 0x100>;
interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp2_clks R8A7740_CLK_SCIFB>;
+ clock-names = "sci_ick";
status = "disabled";
};
@@ -240,6 +260,7 @@
tpu: pwm at e6600000 {
compatible = "renesas,tpu-r8a7740", "renesas,tpu";
reg = <0xe6600000 0x100>;
+ clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
status = "disabled";
#pwm-cells = <3>;
};
@@ -249,6 +270,7 @@
reg = <0xe6bd0000 0x100>;
interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH
0 57 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp3_clks R8A7740_CLK_MMC>;
status = "disabled";
};
@@ -258,6 +280,7 @@
interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH
0 118 IRQ_TYPE_LEVEL_HIGH
0 119 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp3_clks R8A7740_CLK_SDHI0>;
cap-sd-highspeed;
cap-sdio-irq;
status = "disabled";
@@ -269,6 +292,7 @@
interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH
0 122 IRQ_TYPE_LEVEL_HIGH
0 123 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp3_clks R8A7740_CLK_SDHI1>;
cap-sd-highspeed;
cap-sdio-irq;
status = "disabled";
@@ -280,6 +304,7 @@
interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH
0 126 IRQ_TYPE_LEVEL_HIGH
0 127 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp4_clks R8A7740_CLK_SDHI2>;
cap-sd-highspeed;
cap-sdio-irq;
status = "disabled";
@@ -290,6 +315,7 @@
compatible = "renesas,fsi2-r8a7740", "renesas,sh_fsi2";
reg = <0xfe1f0000 0x400>;
interrupts = <0 9 0x4>;
+ clocks = <&mstp3_clks R8A7740_CLK_FSI>;
status = "disabled";
};
--
2.0.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 4/8] ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
` (2 preceding siblings ...)
2014-08-26 5:23 ` [PATCH 3/8] ARM: shmobile: r8a7740: add MSTP clock assignments to DT Simon Horman
@ 2014-08-26 5:23 ` Simon Horman
2014-08-26 5:23 ` [PATCH 5/8] ARM: shmobile: r8a7740: Add CMT1 device to DT Simon Horman
` (5 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2014-08-26 5:23 UTC (permalink / raw)
To: linux-arm-kernel
From: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
index ee9e7d5..266c439 100644
--- a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
+++ b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
@@ -178,6 +178,19 @@
};
};
+&extal1_clk {
+ clock-frequency = <25000000>;
+};
+&extal2_clk {
+ clock-frequency = <48000000>;
+};
+&fsibck_clk {
+ clock-frequency = <12288000>;
+};
+&cpg_clocks {
+ renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */
+};
+
&i2c0 {
status = "okay";
touchscreen at 55 {
--
2.0.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 5/8] ARM: shmobile: r8a7740: Add CMT1 device to DT
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
` (3 preceding siblings ...)
2014-08-26 5:23 ` [PATCH 4/8] ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS Simon Horman
@ 2014-08-26 5:23 ` Simon Horman
2014-08-26 5:24 ` [PATCH 6/8] ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree Simon Horman
` (4 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2014-08-26 5:23 UTC (permalink / raw)
To: linux-arm-kernel
Add the CMT1 counters to the r8a7740 device tree and make it
disabled by default.
Based on work by Magnus Damm.
Cc: Magnus Damm <magnus.damm@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/boot/dts/r8a7740.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi
index 6cd6a46..1067a96 100644
--- a/arch/arm/boot/dts/r8a7740.dtsi
+++ b/arch/arm/boot/dts/r8a7740.dtsi
@@ -41,6 +41,18 @@
interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
};
+ cmt1: timer at e6138000 {
+ compatible = "renesas,cmt-48";
+ reg = <0xe6138000 0x170>;
+ interrupts = <0 58 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp3_clks R8A7740_CLK_CMT1>;
+ clock-names = "fck";
+
+ renesas,channels-mask = <0x3f>;
+
+ status = "disabled";
+ };
+
/* irqpin0: IRQ0 - IRQ7 */
irqpin0: irqpin at e6900000 {
compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
--
2.0.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 6/8] ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
` (4 preceding siblings ...)
2014-08-26 5:23 ` [PATCH 5/8] ARM: shmobile: r8a7740: Add CMT1 device to DT Simon Horman
@ 2014-08-26 5:24 ` Simon Horman
2014-08-26 5:24 ` [PATCH 7/8] ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt() Simon Horman
` (3 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2014-08-26 5:24 UTC (permalink / raw)
To: linux-arm-kernel
Based on work by Magnus Damm
Cc: Magnus Damm <magnus.damm@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts | 4 ++++
arch/arm/mach-shmobile/setup-r8a7740.c | 11 +----------
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
index 266c439..5e646e6 100644
--- a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
+++ b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
@@ -191,6 +191,10 @@
renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */
};
+&cmt1 {
+ status = "ok";
+};
+
&i2c0 {
status = "okay";
touchscreen at 55 {
diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c
index 3d5eaca..dc44a44 100644
--- a/arch/arm/mach-shmobile/setup-r8a7740.c
+++ b/arch/arm/mach-shmobile/setup-r8a7740.c
@@ -311,10 +311,6 @@ static struct platform_device ipmmu_device = {
.num_resources = ARRAY_SIZE(ipmmu_resources),
};
-static struct platform_device *r8a7740_devices_dt[] __initdata = {
- &cmt1_device,
-};
-
static struct platform_device *r8a7740_early_devices[] __initdata = {
&scif0_device,
&scif1_device,
@@ -331,6 +327,7 @@ static struct platform_device *r8a7740_early_devices[] __initdata = {
&irqpin3_device,
&tmu0_device,
&ipmmu_device,
+ &cmt1_device,
};
/* DMA */
@@ -756,8 +753,6 @@ void __init r8a7740_add_standard_devices(void)
/* add devices */
platform_add_devices(r8a7740_early_devices,
ARRAY_SIZE(r8a7740_early_devices));
- platform_add_devices(r8a7740_devices_dt,
- ARRAY_SIZE(r8a7740_devices_dt));
platform_add_devices(r8a7740_late_devices,
ARRAY_SIZE(r8a7740_late_devices));
@@ -779,8 +774,6 @@ void __init r8a7740_add_early_devices(void)
{
early_platform_add_devices(r8a7740_early_devices,
ARRAY_SIZE(r8a7740_early_devices));
- early_platform_add_devices(r8a7740_devices_dt,
- ARRAY_SIZE(r8a7740_devices_dt));
/* setup early console here as well */
shmobile_setup_console();
@@ -790,8 +783,6 @@ void __init r8a7740_add_early_devices(void)
void __init r8a7740_add_standard_devices_dt(void)
{
- platform_add_devices(r8a7740_devices_dt,
- ARRAY_SIZE(r8a7740_devices_dt));
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
--
2.0.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 7/8] ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt()
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
` (5 preceding siblings ...)
2014-08-26 5:24 ` [PATCH 6/8] ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree Simon Horman
@ 2014-08-26 5:24 ` Simon Horman
2014-08-26 5:24 ` [PATCH 8/8] ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt Simon Horman
` (2 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2014-08-26 5:24 UTC (permalink / raw)
To: linux-arm-kernel
Now that r8a7740_add_standard_devices_dt() is just a wrapper for
of_platform_populate() call the latter directly.
This is in preparation for removing r8a7740_add_standard_devices_dt().
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/board-armadillo800eva-reference.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
index 84bc6cb..f06e1f3 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
@@ -24,6 +24,7 @@
#include <linux/kernel.h>
#include <linux/gpio.h>
#include <linux/io.h>
+#include <linux/of_platform.h>
#include <asm/mach/arch.h>
#include <asm/hardware/cache-l2x0.h>
@@ -170,7 +171,7 @@ static void __init eva_init(void)
l2x0_init(IOMEM(0xf0002000), 0x00400000, 0xc20f0fff);
#endif
- r8a7740_add_standard_devices_dt();
+ of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
r8a7740_pm_init();
}
--
2.0.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 8/8] ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
` (6 preceding siblings ...)
2014-08-26 5:24 ` [PATCH 7/8] ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt() Simon Horman
@ 2014-08-26 5:24 ` Simon Horman
2014-08-26 9:17 ` [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
2014-09-05 16:17 ` Arnd Bergmann
9 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2014-08-26 5:24 UTC (permalink / raw)
To: linux-arm-kernel
Now that r8a7740_add_standard_devices_dt() is simply a wrapper
for a call to of_platform_populate() remove it and call
of_platform_populate() directly.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/r8a7740.h | 1 -
arch/arm/mach-shmobile/setup-r8a7740.c | 7 +------
2 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/arch/arm/mach-shmobile/r8a7740.h b/arch/arm/mach-shmobile/r8a7740.h
index 1d1a5fd..3352fb8 100644
--- a/arch/arm/mach-shmobile/r8a7740.h
+++ b/arch/arm/mach-shmobile/r8a7740.h
@@ -49,7 +49,6 @@ extern void r8a7740_init_irq_of(void);
extern void r8a7740_map_io(void);
extern void r8a7740_add_early_devices(void);
extern void r8a7740_add_standard_devices(void);
-extern void r8a7740_add_standard_devices_dt(void);
extern void r8a7740_clock_init(u8 md_ck);
extern void r8a7740_pinmux_init(void);
extern void r8a7740_pm_init(void);
diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c
index dc44a44..8fe270d 100644
--- a/arch/arm/mach-shmobile/setup-r8a7740.c
+++ b/arch/arm/mach-shmobile/setup-r8a7740.c
@@ -781,11 +781,6 @@ void __init r8a7740_add_early_devices(void)
#ifdef CONFIG_USE_OF
-void __init r8a7740_add_standard_devices_dt(void)
-{
- of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-}
-
void __init r8a7740_init_irq_of(void)
{
void __iomem *intc_prio_base = ioremap_nocache(0xe6900010, 0x10);
@@ -819,7 +814,7 @@ void __init r8a7740_init_irq_of(void)
static void __init r8a7740_generic_init(void)
{
r8a7740_clock_init(0);
- r8a7740_add_standard_devices_dt();
+ of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
static const char *r8a7740_boards_compat_dt[] __initdata = {
--
2.0.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
` (7 preceding siblings ...)
2014-08-26 5:24 ` [PATCH 8/8] ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt Simon Horman
@ 2014-08-26 9:17 ` Simon Horman
2014-09-02 1:08 ` Simon Horman
2014-09-05 16:17 ` Arnd Bergmann
9 siblings, 1 reply; 12+ messages in thread
From: Simon Horman @ 2014-08-26 9:17 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Aug 26, 2014 at 02:23:57PM +0900, Simon Horman wrote:
> Hi Olof, Hi Kevin, Hi Arnd,
>
> Please consider these Renesas ARM based SoC r8a7740 CCF and timers updates
> for v3.18.
>
> These changes are in their own branch as there are SoC and board changes
> that depend on DT changes, the reverse of the usual branch dependencies.
This pull request includes a minor conflict in
arch/arm/mach-shmobile/board-armadillo800eva-reference.c with
0eb07c96ee61be10 ("ARM: shmobile: armadillo800eva-reference: Sort
includes") which is included in the pull request
"Renesas ARM Based SoC Boards Cleanups For v3.18"
which is tagged as renesas-boards-cleanups-for-v3.18.
The resolution is to take both.
The resulting #includes should be:
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/gpio.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/of_platform.h>
This resolution can be found in the next branch of the renesas tree.
> The following changes since commit 7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9:
>
> Linux 3.17-rc1 (2014-08-16 10:40:26 -0600)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-r8a7740-ccf-and-timers-for-v3.18
>
> for you to fetch changes up to 433306747791845677ba662435a9bbbafaa21df3:
>
> ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt (2014-08-23 19:58:57 +0900)
>
> ----------------------------------------------------------------
> Renesas ARM Based SoC R8a7740 CCF and Timers Updates for v3.18
>
> When booting using the r8a7740/armadillo800eva using dt-reference:
> * Use CCF to initialise clocks via DT
> * Initialise timers via DT
>
> ----------------------------------------------------------------
> Simon Horman (4):
> ARM: shmobile: r8a7740: Add CMT1 device to DT
> ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree
> ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt()
> ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt
>
> Ulrich Hecht (4):
> ARM: shmobile: r8a7740: clock register bits
> ARM: shmobile: r8a7740: add SoC clocks to DTS
> ARM: shmobile: r8a7740: add MSTP clock assignments to DT
> ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS
>
> .../boot/dts/r8a7740-armadillo800eva-reference.dts | 17 ++
> arch/arm/boot/dts/r8a7740.dtsi | 220 ++++++++++++++++++++-
> .../board-armadillo800eva-reference.c | 3 +-
> arch/arm/mach-shmobile/r8a7740.h | 1 -
> arch/arm/mach-shmobile/setup-r8a7740.c | 18 +-
> include/dt-bindings/clock/r8a7740-clock.h | 77 ++++++++
> 6 files changed, 317 insertions(+), 19 deletions(-)
> create mode 100644 include/dt-bindings/clock/r8a7740-clock.h
^ permalink raw reply [flat|nested] 12+ messages in thread
* [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18
2014-08-26 9:17 ` [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
@ 2014-09-02 1:08 ` Simon Horman
0 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2014-09-02 1:08 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Aug 26, 2014 at 06:17:39PM +0900, Simon Horman wrote:
> On Tue, Aug 26, 2014 at 02:23:57PM +0900, Simon Horman wrote:
> > Hi Olof, Hi Kevin, Hi Arnd,
> >
> > Please consider these Renesas ARM based SoC r8a7740 CCF and timers updates
> > for v3.18.
> >
> > These changes are in their own branch as there are SoC and board changes
> > that depend on DT changes, the reverse of the usual branch dependencies.
>
> This pull request includes a minor conflict in
> arch/arm/mach-shmobile/board-armadillo800eva-reference.c with
> 0eb07c96ee61be10 ("ARM: shmobile: armadillo800eva-reference: Sort
> includes") which is included in the pull request
> "Renesas ARM Based SoC Boards Cleanups For v3.18"
> which is tagged as renesas-boards-cleanups-for-v3.18.
I have withdrawn the boards cleanup pull request and the
conflict above should no longer occur.
>
> The resolution is to take both.
> The resulting #includes should be:
>
> #include <linux/clk.h>
> #include <linux/err.h>
> #include <linux/gpio.h>
> #include <linux/io.h>
> #include <linux/kernel.h>
> #include <linux/of_platform.h>
>
> This resolution can be found in the next branch of the renesas tree.
>
> > The following changes since commit 7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9:
> >
> > Linux 3.17-rc1 (2014-08-16 10:40:26 -0600)
> >
> > are available in the git repository at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-r8a7740-ccf-and-timers-for-v3.18
> >
> > for you to fetch changes up to 433306747791845677ba662435a9bbbafaa21df3:
> >
> > ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt (2014-08-23 19:58:57 +0900)
> >
> > ----------------------------------------------------------------
> > Renesas ARM Based SoC R8a7740 CCF and Timers Updates for v3.18
> >
> > When booting using the r8a7740/armadillo800eva using dt-reference:
> > * Use CCF to initialise clocks via DT
> > * Initialise timers via DT
> >
> > ----------------------------------------------------------------
> > Simon Horman (4):
> > ARM: shmobile: r8a7740: Add CMT1 device to DT
> > ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree
> > ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt()
> > ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt
> >
> > Ulrich Hecht (4):
> > ARM: shmobile: r8a7740: clock register bits
> > ARM: shmobile: r8a7740: add SoC clocks to DTS
> > ARM: shmobile: r8a7740: add MSTP clock assignments to DT
> > ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS
> >
> > .../boot/dts/r8a7740-armadillo800eva-reference.dts | 17 ++
> > arch/arm/boot/dts/r8a7740.dtsi | 220 ++++++++++++++++++++-
> > .../board-armadillo800eva-reference.c | 3 +-
> > arch/arm/mach-shmobile/r8a7740.h | 1 -
> > arch/arm/mach-shmobile/setup-r8a7740.c | 18 +-
> > include/dt-bindings/clock/r8a7740-clock.h | 77 ++++++++
> > 6 files changed, 317 insertions(+), 19 deletions(-)
> > create mode 100644 include/dt-bindings/clock/r8a7740-clock.h
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18
2014-08-26 5:23 [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
` (8 preceding siblings ...)
2014-08-26 9:17 ` [GIT PULL] Renesas ARM Based SoC r8a7740 CCF and Timers Updates for v3.18 Simon Horman
@ 2014-09-05 16:17 ` Arnd Bergmann
9 siblings, 0 replies; 12+ messages in thread
From: Arnd Bergmann @ 2014-09-05 16:17 UTC (permalink / raw)
To: linux-arm-kernel
On Tuesday 26 August 2014, Simon Horman wrote:
> Please consider these Renesas ARM based SoC r8a7740 CCF and timers updates
> for v3.18.
>
> These changes are in their own branch as there are SoC and board changes
> that depend on DT changes, the reverse of the usual branch dependencies.
>
Thanks for splitting these out. I decided to put them into next/soc in the
end, since it didn't feel worth doing something special about them
Arnd
^ permalink raw reply [flat|nested] 12+ messages in thread