* [PATCH v4 1/3] dt-bindings: reset: microchip sparx5 reset driver bindings
[not found] <20210120081921.3315847-1-steen.hegelund@microchip.com>
@ 2021-01-20 8:19 ` Steen Hegelund
2021-01-20 8:19 ` [PATCH v4 3/3] arm64: dts: reset: add microchip sparx5 switch reset driver Steen Hegelund
1 sibling, 0 replies; 6+ messages in thread
From: Steen Hegelund @ 2021-01-20 8:19 UTC (permalink / raw)
To: Philipp Zabel, Rob Herring
Cc: Steen Hegelund, Andrew Lunn, Microchip Linux Driver Support,
Alexandre Belloni, Gregory Clement, linux-kernel,
linux-arm-kernel, devicetree
Document the Sparx5 reset device driver bindings
The driver uses two syscons on sparx5 for access to
the reset control and the reset status.
Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
---
.../bindings/reset/microchip,rst.yaml | 59 +++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100644 Documentation/devicetree/bindings/reset/microchip,rst.yaml
diff --git a/Documentation/devicetree/bindings/reset/microchip,rst.yaml b/Documentation/devicetree/bindings/reset/microchip,rst.yaml
new file mode 100644
index 000000000000..af01016e246f
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/microchip,rst.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/reset/microchip,rst.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Microchip Sparx5 Switch Reset Controller
+
+maintainers:
+ - Steen Hegelund <steen.hegelund@microchip.com>
+ - Lars Povlsen <lars.povlsen@microchip.com>
+
+description: |
+ The Microchip Sparx5 Switch provides reset control and implements the following
+ functions
+ - One Time Switch Core Reset (Soft Reset)
+
+properties:
+ $nodename:
+ pattern: "^reset-controller@[0-9a-f]+$"
+
+ compatible:
+ const: microchip,sparx5-switch-reset
+
+ reg:
+ maxItems: 1
+
+ "#reset-cells":
+ const: 1
+
+ cpu-syscon:
+ $ref: "/schemas/types.yaml#/definitions/phandle"
+ description: syscon used to access CPU reset
+ maxItems: 1
+
+ gcb-syscon:
+ $ref: "/schemas/types.yaml#/definitions/phandle"
+ description: syscon used to access Global Control Block
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - "#reset-cells"
+ - cpu-syscon
+ - gcb-syscon
+
+additionalProperties: false
+
+examples:
+ - |
+ reset: reset-controller@0 {
+ compatible = "microchip,sparx5-switch-reset";
+ reg = <0x0 0x0>;
+ #reset-cells = <1>;
+ cpu-syscon = <&cpu_ctrl>;
+ gcb-syscon = <&gcb_ctrl>;
+ };
+
--
2.29.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 3/3] arm64: dts: reset: add microchip sparx5 switch reset driver
[not found] <20210120081921.3315847-1-steen.hegelund@microchip.com>
2021-01-20 8:19 ` [PATCH v4 1/3] dt-bindings: reset: microchip sparx5 reset driver bindings Steen Hegelund
@ 2021-01-20 8:19 ` Steen Hegelund
2021-02-05 22:35 ` Rob Herring
1 sibling, 1 reply; 6+ messages in thread
From: Steen Hegelund @ 2021-01-20 8:19 UTC (permalink / raw)
To: Philipp Zabel, Rob Herring
Cc: Steen Hegelund, Andrew Lunn, Microchip Linux Driver Support,
Alexandre Belloni, Gregory Clement, linux-kernel,
linux-arm-kernel, devicetree
This provides reset driver support for the Microchip Sparx5 PCB134 and
PCB135 reference boards.
Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
---
arch/arm64/boot/dts/microchip/sparx5.dtsi | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/microchip/sparx5.dtsi b/arch/arm64/boot/dts/microchip/sparx5.dtsi
index 380281f312d8..4edbb9fcdce0 100644
--- a/arch/arm64/boot/dts/microchip/sparx5.dtsi
+++ b/arch/arm64/boot/dts/microchip/sparx5.dtsi
@@ -132,9 +132,17 @@ mux: mux-controller {
};
};
- reset@611010008 {
- compatible = "microchip,sparx5-chip-reset";
- reg = <0x6 0x11010008 0x4>;
+ gcb_ctrl: syscon@611010000 {
+ compatible = "microchip,sparx5-gcb-syscon", "syscon";
+ reg = <0x6 0x11010000 0x10000>;
+ };
+
+ reset: reset-controller@0 {
+ compatible = "microchip,sparx5-switch-reset";
+ reg = <0x6 0x0 0x0>;
+ #reset-cells = <1>;
+ cpu-syscon = <&cpu_ctrl>;
+ gcb-syscon = <&gcb_ctrl>;
};
uart0: serial@600100000 {
--
2.29.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: reset: add microchip sparx5 switch reset driver
2021-01-20 8:19 ` [PATCH v4 3/3] arm64: dts: reset: add microchip sparx5 switch reset driver Steen Hegelund
@ 2021-02-05 22:35 ` Rob Herring
2021-02-08 7:58 ` Steen Hegelund
2021-02-08 13:20 ` Steen Hegelund
0 siblings, 2 replies; 6+ messages in thread
From: Rob Herring @ 2021-02-05 22:35 UTC (permalink / raw)
To: Steen Hegelund
Cc: Philipp Zabel, Andrew Lunn, Microchip Linux Driver Support,
Alexandre Belloni, Gregory Clement, linux-kernel,
linux-arm-kernel, devicetree
On Wed, Jan 20, 2021 at 09:19:21AM +0100, Steen Hegelund wrote:
> This provides reset driver support for the Microchip Sparx5 PCB134 and
> PCB135 reference boards.
This isn't a compatible change. You need an explanation why that's okay
if that's intended.
>
> Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
> ---
> arch/arm64/boot/dts/microchip/sparx5.dtsi | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/microchip/sparx5.dtsi b/arch/arm64/boot/dts/microchip/sparx5.dtsi
> index 380281f312d8..4edbb9fcdce0 100644
> --- a/arch/arm64/boot/dts/microchip/sparx5.dtsi
> +++ b/arch/arm64/boot/dts/microchip/sparx5.dtsi
> @@ -132,9 +132,17 @@ mux: mux-controller {
> };
> };
>
> - reset@611010008 {
> - compatible = "microchip,sparx5-chip-reset";
> - reg = <0x6 0x11010008 0x4>;
> + gcb_ctrl: syscon@611010000 {
> + compatible = "microchip,sparx5-gcb-syscon", "syscon";
> + reg = <0x6 0x11010000 0x10000>;
> + };
> +
> + reset: reset-controller@0 {
> + compatible = "microchip,sparx5-switch-reset";
> + reg = <0x6 0x0 0x0>;
Your register length is 0?
> + #reset-cells = <1>;
> + cpu-syscon = <&cpu_ctrl>;
Can't you accomplish the same thing adding these to
"microchip,sparx5-chip-reset"? Or possibly as a child node.
Define nodes based on h/w blocks, not as containers of things you happen
to want for some driver.
> + gcb-syscon = <&gcb_ctrl>;
> };
>
> uart0: serial@600100000 {
> --
> 2.29.2
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: reset: add microchip sparx5 switch reset driver
2021-02-05 22:35 ` Rob Herring
@ 2021-02-08 7:58 ` Steen Hegelund
2021-02-08 13:20 ` Steen Hegelund
1 sibling, 0 replies; 6+ messages in thread
From: Steen Hegelund @ 2021-02-08 7:58 UTC (permalink / raw)
To: Rob Herring
Cc: Philipp Zabel, Andrew Lunn, Microchip Linux Driver Support,
Alexandre Belloni, Gregory Clement, linux-kernel,
linux-arm-kernel, devicetree
Hi Rob,
On Fri, 2021-02-05 at 16:35 -0600, Rob Herring wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> On Wed, Jan 20, 2021 at 09:19:21AM +0100, Steen Hegelund wrote:
> > This provides reset driver support for the Microchip Sparx5 PCB134
> > and
> > PCB135 reference boards.
>
> This isn't a compatible change. You need an explanation why that's
> okay
> if that's intended.
>
> >
> > Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
> > ---
> > arch/arm64/boot/dts/microchip/sparx5.dtsi | 14 +++++++++++---
> > 1 file changed, 11 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/microchip/sparx5.dtsi
> > b/arch/arm64/boot/dts/microchip/sparx5.dtsi
> > index 380281f312d8..4edbb9fcdce0 100644
> > --- a/arch/arm64/boot/dts/microchip/sparx5.dtsi
> > +++ b/arch/arm64/boot/dts/microchip/sparx5.dtsi
> > @@ -132,9 +132,17 @@ mux: mux-controller {
> > };
> > };
> >
> > - reset@611010008 {
> > - compatible = "microchip,sparx5-chip-reset";
> > - reg = <0x6 0x11010008 0x4>;
> > + gcb_ctrl: syscon@611010000 {
> > + compatible = "microchip,sparx5-gcb-syscon",
> > "syscon";
> > + reg = <0x6 0x11010000 0x10000>;
> > + };
> > +
> > + reset: reset-controller@0 {
> > + compatible = "microchip,sparx5-switch-reset";
> > + reg = <0x6 0x0 0x0>;
>
> Your register length is 0?
Yes, I only use the syscons.
>
> > + #reset-cells = <1>;
> > + cpu-syscon = <&cpu_ctrl>;
>
> Can't you accomplish the same thing adding these to
> "microchip,sparx5-chip-reset"? Or possibly as a child node.
>
> Define nodes based on h/w blocks, not as containers of things you
> happen
> to want for some driver.
Yes - I think the idea of using syscons came from another reset driver,
but it probably makes more sense to just use IO ranges directly.
I will try that out.
>
> > + gcb-syscon = <&gcb_ctrl>;
> > };
> >
> > uart0: serial@600100000 {
> > --
> > 2.29.2
> >
Thanks for your comments
BR
Steen
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: reset: add microchip sparx5 switch reset driver
2021-02-05 22:35 ` Rob Herring
2021-02-08 7:58 ` Steen Hegelund
@ 2021-02-08 13:20 ` Steen Hegelund
2021-02-08 17:00 ` Rob Herring
1 sibling, 1 reply; 6+ messages in thread
From: Steen Hegelund @ 2021-02-08 13:20 UTC (permalink / raw)
To: Rob Herring
Cc: Philipp Zabel, Andrew Lunn, Microchip Linux Driver Support,
Alexandre Belloni, Gregory Clement, linux-kernel,
linux-arm-kernel, devicetree
Hi Rob,
On Fri, 2021-02-05 at 16:35 -0600, Rob Herring wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> On Wed, Jan 20, 2021 at 09:19:21AM +0100, Steen Hegelund wrote:
> > This provides reset driver support for the Microchip Sparx5 PCB134
> > and
> > PCB135 reference boards.
>
> This isn't a compatible change. You need an explanation why that's
> okay
> if that's intended.
I am not entirely sure that I get your point.
The change (adding the reset driver) is new, and it is optional (but
strongly recommended) for the clients to use it, so will this be a
incompatible change?
I can certainly add a an explanation. Would that be needed here in the
bindings, or where do you suggest?
>
> >
> > Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
> > ---
> > arch/arm64/boot/dts/microchip/sparx5.dtsi | 14 +++++++++++---
> > 1 file changed, 11 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/microchip/sparx5.dtsi
> > b/arch/arm64/boot/dts/microchip/sparx5.dtsi
> > index 380281f312d8..4edbb9fcdce0 100644
> > --- a/arch/arm64/boot/dts/microchip/sparx5.dtsi
> > +++ b/arch/arm64/boot/dts/microchip/sparx5.dtsi
> > @@ -132,9 +132,17 @@ mux: mux-controller {
> > };
> > };
> >
> > - reset@611010008 {
> > - compatible = "microchip,sparx5-chip-reset";
> > - reg = <0x6 0x11010008 0x4>;
> > + gcb_ctrl: syscon@611010000 {
> > + compatible = "microchip,sparx5-gcb-syscon",
> > "syscon";
> > + reg = <0x6 0x11010000 0x10000>;
> > + };
> > +
> > + reset: reset-controller@0 {
> > + compatible = "microchip,sparx5-switch-reset";
> > + reg = <0x6 0x0 0x0>;
>
> Your register length is 0?
>
> > + #reset-cells = <1>;
> > + cpu-syscon = <&cpu_ctrl>;
>
> Can't you accomplish the same thing adding these to
> "microchip,sparx5-chip-reset"? Or possibly as a child node.
>
> Define nodes based on h/w blocks, not as containers of things you
> happen
> to want for some driver.
>
> > + gcb-syscon = <&gcb_ctrl>;
> > };
> >
> > uart0: serial@600100000 {
> > --
> > 2.29.2
> >
Thanks for your comments
BR
Steen
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: reset: add microchip sparx5 switch reset driver
2021-02-08 13:20 ` Steen Hegelund
@ 2021-02-08 17:00 ` Rob Herring
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2021-02-08 17:00 UTC (permalink / raw)
To: Steen Hegelund
Cc: Philipp Zabel, Andrew Lunn, Microchip Linux Driver Support,
Alexandre Belloni, Gregory Clement, linux-kernel@vger.kernel.org,
linux-arm-kernel, devicetree
On Mon, Feb 8, 2021 at 7:20 AM Steen Hegelund
<steen.hegelund@microchip.com> wrote:
>
> Hi Rob,
>
> On Fri, 2021-02-05 at 16:35 -0600, Rob Herring wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you
> > know the content is safe
> >
> > On Wed, Jan 20, 2021 at 09:19:21AM +0100, Steen Hegelund wrote:
> > > This provides reset driver support for the Microchip Sparx5 PCB134
> > > and
> > > PCB135 reference boards.
> >
> > This isn't a compatible change. You need an explanation why that's
> > okay
> > if that's intended.
>
> I am not entirely sure that I get your point.
>
> The change (adding the reset driver) is new, and it is optional (but
> strongly recommended) for the clients to use it, so will this be a
> incompatible change?
I'm assuming something used "microchip,sparx5-chip-reset"?
> I can certainly add a an explanation. Would that be needed here in the
> bindings, or where do you suggest?
Just need to spell out why dropping that is okay in the commit msg.
But I guess what this looks like will change anyways.
Rob
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-02-08 17:02 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20210120081921.3315847-1-steen.hegelund@microchip.com>
2021-01-20 8:19 ` [PATCH v4 1/3] dt-bindings: reset: microchip sparx5 reset driver bindings Steen Hegelund
2021-01-20 8:19 ` [PATCH v4 3/3] arm64: dts: reset: add microchip sparx5 switch reset driver Steen Hegelund
2021-02-05 22:35 ` Rob Herring
2021-02-08 7:58 ` Steen Hegelund
2021-02-08 13:20 ` Steen Hegelund
2021-02-08 17:00 ` Rob Herring
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).