All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Thompson <daniel.thompson@linaro.org>
To: Mike Turquette <mturquette@linaro.org>,
	Stephen Boyd <sboyd@codeaurora.org>
Cc: Daniel Thompson <daniel.thompson@linaro.org>,
	Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Russell King <linux@arm.linux.org.uk>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Kamil Lulko <rev13@wp.pl>, Andreas Farber <afaerber@suse.de>,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, patches@linaro.org,
	linaro-kernel@lists.linaro.org
Subject: [RFC PATCH 3/3] ARM: dts: stm32f429: Adopt STM32F4 clock driver
Date: Fri, 22 May 2015 21:41:13 +0100	[thread overview]
Message-ID: <1432327273-6810-4-git-send-email-daniel.thompson@linaro.org> (raw)
In-Reply-To: <1432327273-6810-1-git-send-email-daniel.thompson@linaro.org>

New bindings and driver have been created for STM32F42xxx series parts.
This patch integrates these changes.

Note: Earlier device tree blobs (those without st,stm32f42xxx
      compatibles for the rcc) could still be used to boot basic
      systems. Such systems rely on the bootloader to configure the
      clocks for vital periperhals.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 arch/arm/boot/dts/stm32f429.dtsi | 83 +++++++++++++---------------------------
 1 file changed, 26 insertions(+), 57 deletions(-)

diff --git a/arch/arm/boot/dts/stm32f429.dtsi b/arch/arm/boot/dts/stm32f429.dtsi
index aa3b3e3..6da8d7f 100644
--- a/arch/arm/boot/dts/stm32f429.dtsi
+++ b/arch/arm/boot/dts/stm32f429.dtsi
@@ -50,48 +50,10 @@
 
 / {
 	clocks {
-		clk_sysclk: clk-sysclk {
+		clk_hse: clk-hse {
 			#clock-cells = <0>;
 			compatible = "fixed-clock";
-			clock-frequency = <168000000>;
-		};
-
-		clk_hclk: clk-hclk {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <168000000>;
-		};
-
-		clk_pclk1: clk-pclk1 {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <42000000>;
-		};
-
-		clk_pclk2: clk-pclk2 {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <84000000>;
-		};
-
-		clk_pmtr1: clk-pmtr1 {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <84000000>;
-		};
-
-		clk_pmtr2: clk-pmtr2 {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <168000000>;
-		};
-
-		clk_systick: clk-systick {
-			compatible = "fixed-factor-clock";
-			clocks = <&clk_hclk>;
-			#clock-cells = <0>;
-			clock-div = <8>;
-			clock-mult = <1>;
+			clock-frequency = <8000000>;
 		};
 	};
 
@@ -101,7 +63,7 @@
 			reg = <0x40000000 0x400>;
 			interrupts = <28>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM2)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 128>;
 			status = "disabled";
 		};
 
@@ -110,7 +72,7 @@
 			reg = <0x40000400 0x400>;
 			interrupts = <29>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM3)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 129>;
 			status = "disabled";
 		};
 
@@ -119,7 +81,7 @@
 			reg = <0x40000800 0x400>;
 			interrupts = <30>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM4)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 130>;
 			status = "disabled";
 		};
 
@@ -128,7 +90,7 @@
 			reg = <0x40000c00 0x400>;
 			interrupts = <50>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM5)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 131>;
 			status = "disabled";
 		};
 
@@ -137,7 +99,7 @@
 			reg = <0x40001000 0x400>;
 			interrupts = <54>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM6)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 132>;
 			status = "disabled";
 		};
 
@@ -146,7 +108,7 @@
 			reg = <0x40001400 0x400>;
 			interrupts = <55>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM7)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 133>;
 			status = "disabled";
 		};
 
@@ -154,7 +116,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40004400 0x400>;
 			interrupts = <38>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 145>;
 			status = "disabled";
 		};
 
@@ -162,7 +124,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40004800 0x400>;
 			interrupts = <39>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 146>;
 			status = "disabled";
 		};
 
@@ -170,7 +132,7 @@
 			compatible = "st,stm32-uart";
 			reg = <0x40004c00 0x400>;
 			interrupts = <52>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 147>;
 			status = "disabled";
 		};
 
@@ -178,7 +140,7 @@
 			compatible = "st,stm32-uart";
 			reg = <0x40005000 0x400>;
 			interrupts = <53>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 148>;
 			status = "disabled";
 		};
 
@@ -186,7 +148,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40007800 0x400>;
 			interrupts = <82>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 158>;
 			status = "disabled";
 		};
 
@@ -194,7 +156,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40007c00 0x400>;
 			interrupts = <83>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 159>;
 			status = "disabled";
 		};
 
@@ -202,7 +164,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40011000 0x400>;
 			interrupts = <37>;
-			clocks = <&clk_pclk2>;
+			clocks = <&rcc 0 164>;
 			status = "disabled";
 		};
 
@@ -210,19 +172,26 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40011400 0x400>;
 			interrupts = <71>;
-			clocks = <&clk_pclk2>;
+			clocks = <&rcc 0 165>;
 			status = "disabled";
 		};
 
 		rcc: rcc@40023810 {
 			#reset-cells = <1>;
-			compatible = "st,stm32-rcc";
+			compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
 			reg = <0x40023800 0x400>;
-		};
+			clocks = <&clk_hse>;
+			#clock-cells = <2>;
+		};
+#if 0
+	of_property_read_string_index(dev, "reg-names", "gates");
+	index = of_property_read_string_index(dev, "reg-names", "gates");
+	of_iomap(np, index);
+#endif
 	};
 };
 
 &systick {
-	clocks = <&clk_systick>;
+	clocks = <&rcc 1 0>;
 	status = "okay";
 };
-- 
2.1.0


WARNING: multiple messages have this Message-ID (diff)
From: daniel.thompson@linaro.org (Daniel Thompson)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 3/3] ARM: dts: stm32f429: Adopt STM32F4 clock driver
Date: Fri, 22 May 2015 21:41:13 +0100	[thread overview]
Message-ID: <1432327273-6810-4-git-send-email-daniel.thompson@linaro.org> (raw)
In-Reply-To: <1432327273-6810-1-git-send-email-daniel.thompson@linaro.org>

New bindings and driver have been created for STM32F42xxx series parts.
This patch integrates these changes.

Note: Earlier device tree blobs (those without st,stm32f42xxx
      compatibles for the rcc) could still be used to boot basic
      systems. Such systems rely on the bootloader to configure the
      clocks for vital periperhals.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 arch/arm/boot/dts/stm32f429.dtsi | 83 +++++++++++++---------------------------
 1 file changed, 26 insertions(+), 57 deletions(-)

diff --git a/arch/arm/boot/dts/stm32f429.dtsi b/arch/arm/boot/dts/stm32f429.dtsi
index aa3b3e3..6da8d7f 100644
--- a/arch/arm/boot/dts/stm32f429.dtsi
+++ b/arch/arm/boot/dts/stm32f429.dtsi
@@ -50,48 +50,10 @@
 
 / {
 	clocks {
-		clk_sysclk: clk-sysclk {
+		clk_hse: clk-hse {
 			#clock-cells = <0>;
 			compatible = "fixed-clock";
-			clock-frequency = <168000000>;
-		};
-
-		clk_hclk: clk-hclk {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <168000000>;
-		};
-
-		clk_pclk1: clk-pclk1 {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <42000000>;
-		};
-
-		clk_pclk2: clk-pclk2 {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <84000000>;
-		};
-
-		clk_pmtr1: clk-pmtr1 {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <84000000>;
-		};
-
-		clk_pmtr2: clk-pmtr2 {
-			#clock-cells = <0>;
-			compatible = "fixed-clock";
-			clock-frequency = <168000000>;
-		};
-
-		clk_systick: clk-systick {
-			compatible = "fixed-factor-clock";
-			clocks = <&clk_hclk>;
-			#clock-cells = <0>;
-			clock-div = <8>;
-			clock-mult = <1>;
+			clock-frequency = <8000000>;
 		};
 	};
 
@@ -101,7 +63,7 @@
 			reg = <0x40000000 0x400>;
 			interrupts = <28>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM2)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 128>;
 			status = "disabled";
 		};
 
@@ -110,7 +72,7 @@
 			reg = <0x40000400 0x400>;
 			interrupts = <29>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM3)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 129>;
 			status = "disabled";
 		};
 
@@ -119,7 +81,7 @@
 			reg = <0x40000800 0x400>;
 			interrupts = <30>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM4)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 130>;
 			status = "disabled";
 		};
 
@@ -128,7 +90,7 @@
 			reg = <0x40000c00 0x400>;
 			interrupts = <50>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM5)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 131>;
 			status = "disabled";
 		};
 
@@ -137,7 +99,7 @@
 			reg = <0x40001000 0x400>;
 			interrupts = <54>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM6)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 132>;
 			status = "disabled";
 		};
 
@@ -146,7 +108,7 @@
 			reg = <0x40001400 0x400>;
 			interrupts = <55>;
 			resets = <&rcc STM32F4_APB1_RESET(TIM7)>;
-			clocks = <&clk_pmtr1>;
+			clocks = <&rcc 0 133>;
 			status = "disabled";
 		};
 
@@ -154,7 +116,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40004400 0x400>;
 			interrupts = <38>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 145>;
 			status = "disabled";
 		};
 
@@ -162,7 +124,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40004800 0x400>;
 			interrupts = <39>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 146>;
 			status = "disabled";
 		};
 
@@ -170,7 +132,7 @@
 			compatible = "st,stm32-uart";
 			reg = <0x40004c00 0x400>;
 			interrupts = <52>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 147>;
 			status = "disabled";
 		};
 
@@ -178,7 +140,7 @@
 			compatible = "st,stm32-uart";
 			reg = <0x40005000 0x400>;
 			interrupts = <53>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 148>;
 			status = "disabled";
 		};
 
@@ -186,7 +148,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40007800 0x400>;
 			interrupts = <82>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 158>;
 			status = "disabled";
 		};
 
@@ -194,7 +156,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40007c00 0x400>;
 			interrupts = <83>;
-			clocks = <&clk_pclk1>;
+			clocks = <&rcc 0 159>;
 			status = "disabled";
 		};
 
@@ -202,7 +164,7 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40011000 0x400>;
 			interrupts = <37>;
-			clocks = <&clk_pclk2>;
+			clocks = <&rcc 0 164>;
 			status = "disabled";
 		};
 
@@ -210,19 +172,26 @@
 			compatible = "st,stm32-usart", "st,stm32-uart";
 			reg = <0x40011400 0x400>;
 			interrupts = <71>;
-			clocks = <&clk_pclk2>;
+			clocks = <&rcc 0 165>;
 			status = "disabled";
 		};
 
 		rcc: rcc at 40023810 {
 			#reset-cells = <1>;
-			compatible = "st,stm32-rcc";
+			compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
 			reg = <0x40023800 0x400>;
-		};
+			clocks = <&clk_hse>;
+			#clock-cells = <2>;
+		};
+#if 0
+	of_property_read_string_index(dev, "reg-names", "gates");
+	index = of_property_read_string_index(dev, "reg-names", "gates");
+	of_iomap(np, index);
+#endif
 	};
 };
 
 &systick {
-	clocks = <&clk_systick>;
+	clocks = <&rcc 1 0>;
 	status = "okay";
 };
-- 
2.1.0

  parent reply	other threads:[~2015-05-22 20:41 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-22 20:41 [RFC PATCH 0/3] clk: stm32: Add clock driver for STM32F4[23]xxx devices Daniel Thompson
2015-05-22 20:41 ` Daniel Thompson
2015-05-22 20:41 ` [RFC PATCH 1/3] dt-bindings: Document the STM32F4 clock bindings Daniel Thompson
2015-05-22 20:41   ` Daniel Thompson
2015-05-22 20:41   ` Daniel Thompson
2015-05-22 20:41 ` [RFC PATCH 2/3] clk: stm32: Add clock driver for STM32F4[23]xxx devices Daniel Thompson
2015-05-22 20:41   ` Daniel Thompson
2015-06-04 22:07   ` Stephen Boyd
2015-06-04 22:07     ` Stephen Boyd
2015-06-05  9:36     ` Daniel Thompson
2015-06-05  9:36       ` Daniel Thompson
2015-06-06  0:10       ` Stephen Boyd
2015-06-06  0:10         ` Stephen Boyd
2015-05-22 20:41 ` Daniel Thompson [this message]
2015-05-22 20:41   ` [RFC PATCH 3/3] ARM: dts: stm32f429: Adopt STM32F4 clock driver Daniel Thompson
2015-05-26 16:41 ` [RFC PATCH 0/3] clk: stm32: Add clock driver for STM32F4[23]xxx devices Maxime Coquelin
2015-05-26 16:41   ` Maxime Coquelin
2015-05-26 16:41   ` Maxime Coquelin
2015-05-27  8:36   ` Daniel Thompson
2015-05-27  8:36     ` Daniel Thompson
2015-05-27  8:36     ` Daniel Thompson
2015-05-27  8:36     ` Daniel Thompson
2015-05-30  7:54 ` [PATCH v2 0/4] " Daniel Thompson
2015-05-30  7:54   ` Daniel Thompson
2015-05-30  7:54   ` Daniel Thompson
2015-05-30  7:54   ` [PATCH v2 1/4] ARM: stm32: Enable clock source Daniel Thompson
2015-05-30  7:54     ` Daniel Thompson
2015-05-30  7:54   ` [PATCH v2 2/4] dt-bindings: Document the STM32F4 clock bindings Daniel Thompson
2015-05-30  7:54     ` Daniel Thompson
2015-05-30  7:54     ` Daniel Thompson
2015-05-30  9:21     ` Maxime Coquelin
2015-05-30  9:21       ` Maxime Coquelin
2015-05-30  9:21       ` Maxime Coquelin
2015-06-01  7:46       ` Daniel Thompson
2015-06-01  7:46         ` Daniel Thompson
2015-06-01  7:46         ` Daniel Thompson
2015-05-30  7:54   ` [PATCH v2 3/4] clk: stm32: Add clock driver for STM32F4[23]xxx devices Daniel Thompson
2015-05-30  7:54     ` Daniel Thompson
2015-05-30  7:54     ` Daniel Thompson
2015-05-30  9:15     ` Maxime Coquelin
2015-05-30  9:15       ` Maxime Coquelin
2015-06-01  7:18       ` Daniel Thompson
2015-06-01  7:18         ` Daniel Thompson
2015-06-01  7:18         ` Daniel Thompson
2015-05-30  7:54   ` [PATCH v2 4/4] ARM: dts: stm32f429: Adopt STM32F4 clock driver Daniel Thompson
2015-05-30  7:54     ` Daniel Thompson
2015-05-30  7:54     ` Daniel Thompson
2015-05-30  9:38     ` Maxime Coquelin
2015-05-30  9:38       ` Maxime Coquelin
2015-05-30  8:40   ` [PATCH v2 0/4] clk: stm32: Add clock driver for STM32F4[23]xxx devices Maxime Coquelin
2015-05-30  8:40     ` Maxime Coquelin
2015-06-10 20:09 ` [PATCH v3 0/3] " Daniel Thompson
2015-06-10 20:09   ` Daniel Thompson
2015-06-10 20:09   ` Daniel Thompson
2015-06-10 20:09   ` [PATCH v3 1/3] dt-bindings: Document the STM32F4 clock bindings Daniel Thompson
2015-06-10 20:09     ` Daniel Thompson
2015-06-10 20:09     ` Daniel Thompson
2015-06-12  7:25     ` Maxime Coquelin
2015-06-12  7:25       ` Maxime Coquelin
2015-06-12  7:25       ` Maxime Coquelin
2015-06-22 22:47     ` Stephen Boyd
2015-06-22 22:47       ` Stephen Boyd
2015-06-22 22:47       ` Stephen Boyd
2015-06-10 20:09   ` [PATCH v3 2/3] clk: stm32: Add clock driver for STM32F4[23]xxx devices Daniel Thompson
2015-06-10 20:09     ` Daniel Thompson
2015-06-10 20:09     ` Daniel Thompson
2015-06-22 22:48     ` Stephen Boyd
2015-06-22 22:48       ` Stephen Boyd
2015-06-22 22:48       ` Stephen Boyd
2015-06-22 22:48       ` Stephen Boyd
2015-06-22 23:21     ` Stephen Boyd
2015-06-22 23:21       ` Stephen Boyd
2015-06-22 23:21       ` Stephen Boyd
2015-06-23  8:25       ` Daniel Thompson
2015-06-23  8:25         ` Daniel Thompson
2015-06-23  8:25         ` Daniel Thompson
2015-06-10 20:09   ` [PATCH v3 3/3] ARM: dts: stm32f429: Adopt STM32F4 clock driver Daniel Thompson
2015-06-10 20:09     ` Daniel Thompson
2015-07-07  9:38     ` Maxime Coquelin
2015-07-07  9:38       ` Maxime Coquelin
2015-07-07  9:38       ` Maxime Coquelin
2015-06-22 22:48   ` [PATCH v3 0/3] clk: stm32: Add clock driver for STM32F4[23]xxx devices Stephen Boyd
2015-06-22 22:48     ` Stephen Boyd
2015-06-22 22:48     ` Stephen Boyd
2015-06-22 22:48     ` Stephen Boyd
2015-06-23  8:22     ` Daniel Thompson
2015-06-23  8:22       ` Daniel Thompson
2015-06-23  8:22       ` Daniel Thompson
2015-06-23  9:24       ` Maxime Coquelin
2015-06-23  9:24         ` Maxime Coquelin
2015-06-23  9:24         ` Maxime Coquelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1432327273-6810-4-git-send-email-daniel.thompson@linaro.org \
    --to=daniel.thompson@linaro.org \
    --cc=afaerber@suse.de \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mturquette@linaro.org \
    --cc=patches@linaro.org \
    --cc=pawel.moll@arm.com \
    --cc=rev13@wp.pl \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.