linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Heiko Stuebner <heiko@sntech.de>
To: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	robh+dt@kernel.org, mark.rutland@arm.com,
	linux-rockchip@lists.infradead.org,
	christoph.muellner@theobroma-systems.com,
	Heiko Stuebner <heiko@sntech.de>
Subject: [PATCH 09/13] arm64: dts: rockchip: document explicit px30 cru dependencies
Date: Tue, 17 Sep 2019 10:26:55 +0200	[thread overview]
Message-ID: <20190917082659.25549-9-heiko@sntech.de> (raw)
In-Reply-To: <20190917082659.25549-1-heiko@sntech.de>

The px30 contains 2 separate clock controllers the regular cru creating
most clocks as well as the pmucru managing the GPLL and some other clocks.

The gpll of course also is needed by the cru, so while we normally do rely
on clock names to associate clocks getting probed later on (for example
xin32k coming from an i2c device in most cases) it is safer to declare the
explicit dependency between the two crus. This makes sure that for example
the clock-framework probes them in the correct order from the start.

The assigned-clocks properties were simply working by chance in the past
so split them accordingly to the 2 crus to honor the loading direction.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 .../bindings/clock/rockchip,px30-cru.txt      |  5 ++++
 arch/arm64/boot/dts/rockchip/px30.dtsi        | 25 +++++++++++--------
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/rockchip,px30-cru.txt b/Documentation/devicetree/bindings/clock/rockchip,px30-cru.txt
index 39f0c1ac84ee..55e78cddec8c 100644
--- a/Documentation/devicetree/bindings/clock/rockchip,px30-cru.txt
+++ b/Documentation/devicetree/bindings/clock/rockchip,px30-cru.txt
@@ -10,6 +10,11 @@ Required Properties:
 - compatible: CRU should be "rockchip,px30-cru"
 - reg: physical base address of the controller and length of memory mapped
   region.
+- clocks: A list of phandle + clock-specifier pairs for the clocks listed
+          in clock-names
+- clock-names: Should contain the following:
+  - "xin24m" for both PMUCRU and CRU
+  - "gpll" for CRU (sourced from PMUCRU)
 - #clock-cells: should be 1.
 - #reset-cells: should be 1.
 
diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
index 63499d27994c..9ad1c2f04ea9 100644
--- a/arch/arm64/boot/dts/rockchip/px30.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
@@ -667,33 +667,38 @@
 	cru: clock-controller@ff2b0000 {
 		compatible = "rockchip,px30-cru";
 		reg = <0x0 0xff2b0000 0x0 0x1000>;
+		clocks = <&xin24m>, <&pmucru PLL_GPLL>;
+		clock-names = "xin24m", "gpll";
 		rockchip,grf = <&grf>;
 		#clock-cells = <1>;
 		#reset-cells = <1>;
 
-		assigned-clocks = <&cru PLL_NPLL>;
-		assigned-clock-rates = <1188000000>;
+		assigned-clocks = <&cru PLL_NPLL>,
+			<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
+			<&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
+			<&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;
+
+		assigned-clock-rates = <1188000000>,
+			<200000000>, <200000000>,
+			<150000000>, <150000000>,
+			<100000000>, <200000000>;
 	};
 
 	pmucru: clock-controller@ff2bc000 {
 		compatible = "rockchip,px30-pmucru";
 		reg = <0x0 0xff2bc000 0x0 0x1000>;
+		clocks = <&xin24m>;
+		clock-names = "xin24m";
 		rockchip,grf = <&grf>;
 		#clock-cells = <1>;
 		#reset-cells = <1>;
 
 		assigned-clocks =
 			<&pmucru PLL_GPLL>, <&pmucru PCLK_PMU_PRE>,
-			<&pmucru SCLK_WIFI_PMU>, <&cru ARMCLK>,
-			<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
-			<&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
-			<&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;
+			<&pmucru SCLK_WIFI_PMU>;
 		assigned-clock-rates =
 			<1200000000>, <100000000>,
-			<26000000>, <600000000>,
-			<200000000>, <200000000>,
-			<150000000>, <150000000>,
-			<100000000>, <200000000>;
+			<26000000>;
 	};
 
 	usb20_otg: usb@ff300000 {
-- 
2.20.1


  parent reply	other threads:[~2019-09-17  8:27 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-17  8:26 [PATCH 01/13] arm64: dts: rockchip: fix iface clock-name on px30 iommus Heiko Stuebner
2019-09-17  8:26 ` [PATCH 02/13] arm64: dts: rockchip: remove static xin32k from px30 Heiko Stuebner
2019-09-17  8:26 ` [PATCH 03/13] arm64: dts: rockchip: remove px30 emmc_pwren pinctrl Heiko Stuebner
2019-09-17  8:26 ` [PATCH 04/13] arm64: dts: rockchip: add default px30 emmc pinctrl Heiko Stuebner
2019-09-17  8:26 ` [PATCH 05/13] arm64: dts: rockchip: fix the px30-evb power tree Heiko Stuebner
2019-09-17  8:26 ` [PATCH 06/13] arm64: dts: rockchip: add emmc-powersequence to px30-evb Heiko Stuebner
2019-09-17  8:26 ` [PATCH 07/13] arm64: dts: rockchip: move px30-evb console output to uart 5 Heiko Stuebner
2019-09-17  8:26 ` [PATCH 08/13] arm64: dts: rockchip: remove unused pin settings from px30 Heiko Stuebner
2019-09-17  8:26 ` Heiko Stuebner [this message]
2019-09-30 22:58   ` [PATCH 09/13] arm64: dts: rockchip: document explicit px30 cru dependencies Rob Herring
2019-09-17  8:26 ` [PATCH 10/13] arm64: dts: rockchip: add px30-evb i2c1 devices Heiko Stuebner
2019-09-17  8:26 ` [PATCH 11/13] dt-bindings: document PX30 usb2phy General Register Files Heiko Stuebner
2019-09-30 22:58   ` Rob Herring
2019-09-17  8:26 ` [PATCH 12/13] arm64: dts: rockchip: add usb2phy for px30 Heiko Stuebner
2019-09-17  8:26 ` [PATCH 13/13] arm64: dts: rockchip: enable usb2phy on px30-evb Heiko Stuebner
2019-10-03 21:25 ` [PATCH 01/13] arm64: dts: rockchip: fix iface clock-name on px30 iommus Heiko Stuebner
2019-10-31 14:15   ` Heiko Stuebner

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=20190917082659.25549-9-heiko@sntech.de \
    --to=heiko@sntech.de \
    --cc=christoph.muellner@theobroma-systems.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).