* [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).