From: Guenter Roeck <linux@roeck-us.net>
To: Andre Przywara <andre.przywara@arm.com>
Cc: Rob Herring <robh@kernel.org>, Liviu Dudau <liviu.dudau@arm.com>,
Sudeep Holla <sudeep.holla@arm.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arm: dts: vexpress: Move mcc node back into motherboard node
Date: Wed, 3 Jun 2020 12:46:14 -0700 [thread overview]
Message-ID: <20200603194614.GA187107@roeck-us.net> (raw)
On Wed, Jun 03, 2020 at 05:22:37PM +0100, Andre Przywara wrote:
> Commit d9258898ad49 ("arm64: dts: arm: vexpress: Move fixed devices
> out of bus node") moved the "mcc" DT node into the root node, because
> it does not have any children using "reg" properties, so does violate
> some dtc checks about "simple-bus" nodes.
> However this broke the vexpress config-bus code, which walks up the
> device tree to find the first node with an "arm,vexpress,site" property.
> This gave the wrong result (matching the root node instead of the
> motherboard node), so broke the clocks and some other devices for
> VExpress boards.
>
> Move the whole node back into its original position. This re-introduces
> the dtc warning, but is conceptually the right thing to do. The dtc
> warning seems to be overzealous here, there are discussions on fixing or
> relaxing this check instead.
>
> Fixes: d9258898ad49 ("arm64: dts: arm: vexpress: Move fixed devices out of bus node")
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
> ---
> P.S. The broken commit has not reached mainline yet, but is already in
> arm-soc/arm/dt.
>
> arch/arm/boot/dts/vexpress-v2m-rs1.dtsi | 146 ++++++++++++------------
> 1 file changed, 73 insertions(+), 73 deletions(-)
>
> diff --git a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
> index e6308fb76183..a88ee5294d35 100644
> --- a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
> +++ b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
> @@ -100,79 +100,6 @@
> };
> };
>
> - mcc {
> - compatible = "arm,vexpress,config-bus";
> - arm,vexpress,config-bridge = <&v2m_sysreg>;
> -
> - oscclk0 {
> - /* MCC static memory clock */
> - compatible = "arm,vexpress-osc";
> - arm,vexpress-sysreg,func = <1 0>;
> - freq-range = <25000000 60000000>;
> - #clock-cells = <0>;
> - clock-output-names = "v2m:oscclk0";
> - };
> -
> - v2m_oscclk1: oscclk1 {
> - /* CLCD clock */
> - compatible = "arm,vexpress-osc";
> - arm,vexpress-sysreg,func = <1 1>;
> - freq-range = <23750000 65000000>;
> - #clock-cells = <0>;
> - clock-output-names = "v2m:oscclk1";
> - };
> -
> - v2m_oscclk2: oscclk2 {
> - /* IO FPGA peripheral clock */
> - compatible = "arm,vexpress-osc";
> - arm,vexpress-sysreg,func = <1 2>;
> - freq-range = <24000000 24000000>;
> - #clock-cells = <0>;
> - clock-output-names = "v2m:oscclk2";
> - };
> -
> - volt-vio {
> - /* Logic level voltage */
> - compatible = "arm,vexpress-volt";
> - arm,vexpress-sysreg,func = <2 0>;
> - regulator-name = "VIO";
> - regulator-always-on;
> - label = "VIO";
> - };
> -
> - temp-mcc {
> - /* MCC internal operating temperature */
> - compatible = "arm,vexpress-temp";
> - arm,vexpress-sysreg,func = <4 0>;
> - label = "MCC";
> - };
> -
> - reset {
> - compatible = "arm,vexpress-reset";
> - arm,vexpress-sysreg,func = <5 0>;
> - };
> -
> - muxfpga {
> - compatible = "arm,vexpress-muxfpga";
> - arm,vexpress-sysreg,func = <7 0>;
> - };
> -
> - shutdown {
> - compatible = "arm,vexpress-shutdown";
> - arm,vexpress-sysreg,func = <8 0>;
> - };
> -
> - reboot {
> - compatible = "arm,vexpress-reboot";
> - arm,vexpress-sysreg,func = <9 0>;
> - };
> -
> - dvimode {
> - compatible = "arm,vexpress-dvimode";
> - arm,vexpress-sysreg,func = <11 0>;
> - };
> - };
> -
> bus@8000000 {
> motherboard-bus {
> model = "V2M-P1";
> @@ -435,6 +362,79 @@
> };
> };
> };
> +
> + mcc {
> + compatible = "arm,vexpress,config-bus";
> + arm,vexpress,config-bridge = <&v2m_sysreg>;
> +
> + oscclk0 {
> + /* MCC static memory clock */
> + compatible = "arm,vexpress-osc";
> + arm,vexpress-sysreg,func = <1 0>;
> + freq-range = <25000000 60000000>;
> + #clock-cells = <0>;
> + clock-output-names = "v2m:oscclk0";
> + };
> +
> + v2m_oscclk1: oscclk1 {
> + /* CLCD clock */
> + compatible = "arm,vexpress-osc";
> + arm,vexpress-sysreg,func = <1 1>;
> + freq-range = <23750000 65000000>;
> + #clock-cells = <0>;
> + clock-output-names = "v2m:oscclk1";
> + };
> +
> + v2m_oscclk2: oscclk2 {
> + /* IO FPGA peripheral clock */
> + compatible = "arm,vexpress-osc";
> + arm,vexpress-sysreg,func = <1 2>;
> + freq-range = <24000000 24000000>;
> + #clock-cells = <0>;
> + clock-output-names = "v2m:oscclk2";
> + };
> +
> + volt-vio {
> + /* Logic level voltage */
> + compatible = "arm,vexpress-volt";
> + arm,vexpress-sysreg,func = <2 0>;
> + regulator-name = "VIO";
> + regulator-always-on;
> + label = "VIO";
> + };
> +
> + temp-mcc {
> + /* MCC internal operating temperature */
> + compatible = "arm,vexpress-temp";
> + arm,vexpress-sysreg,func = <4 0>;
> + label = "MCC";
> + };
> +
> + reset {
> + compatible = "arm,vexpress-reset";
> + arm,vexpress-sysreg,func = <5 0>;
> + };
> +
> + muxfpga {
> + compatible = "arm,vexpress-muxfpga";
> + arm,vexpress-sysreg,func = <7 0>;
> + };
> +
> + shutdown {
> + compatible = "arm,vexpress-shutdown";
> + arm,vexpress-sysreg,func = <8 0>;
> + };
> +
> + reboot {
> + compatible = "arm,vexpress-reboot";
> + arm,vexpress-sysreg,func = <9 0>;
> + };
> +
> + dvimode {
> + compatible = "arm,vexpress-dvimode";
> + arm,vexpress-sysreg,func = <11 0>;
> + };
> + };
> };
> };
> };
> --
> 2.17.1
>
next reply other threads:[~2020-06-03 19:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-03 19:46 Guenter Roeck [this message]
2020-06-04 8:59 ` [PATCH] arm: dts: vexpress: Move mcc node back into motherboard node Sudeep Holla
-- strict thread matches above, loose matches on Subject: below --
2020-06-03 16:22 Andre Przywara
2020-06-04 8:56 ` Sudeep Holla
2020-06-04 13:13 ` Sudeep Holla
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=20200603194614.GA187107@roeck-us.net \
--to=linux@roeck-us.net \
--cc=andre.przywara@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=liviu.dudau@arm.com \
--cc=lorenzo.pieralisi@arm.com \
--cc=robh@kernel.org \
--cc=sudeep.holla@arm.com \
/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).