Message ID | 20200221163717.v2.1.I02ebc5b8743b1a71e0e15f68ea77e506d4e6f840@changeid (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | Add a watchdog driver that uses ARM Secure Monitor Calls. | expand |
On Thu, Feb 20, 2020 at 11:38 PM Evan Benn <evanbenn@chromium.org> wrote: > > This watchdog can be used on ARM systems with a Secure > Monitor firmware to forward watchdog operations to > firmware via a Secure Monitor Call. > > Signed-off-by: Evan Benn <evanbenn@chromium.org> > --- > > Changes in v2: > - Change name arm > mt8173 > > .../bindings/watchdog/mt8173,smc-wdt.yaml | 30 +++++++++++++++++++ > MAINTAINERS | 6 ++++ > 2 files changed, 36 insertions(+) > create mode 100644 Documentation/devicetree/bindings/watchdog/mt8173,smc-wdt.yaml > > diff --git a/Documentation/devicetree/bindings/watchdog/mt8173,smc-wdt.yaml b/Documentation/devicetree/bindings/watchdog/mt8173,smc-wdt.yaml > new file mode 100644 > index 0000000000000..ff45e13bc548b > --- /dev/null > +++ b/Documentation/devicetree/bindings/watchdog/mt8173,smc-wdt.yaml > @@ -0,0 +1,30 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/watchdog/mt8173,smc-wdt.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ARM Secure Monitor Call based watchdog > + > +allOf: > + - $ref: "watchdog.yaml#" > + > +maintainers: > + - Julius Werner <jwerner@chromium.org> > + > +properties: > + compatible: > + enum: > + - mt8173,smc-wdt compatible strings are in the form <vendor>,<device>. 'mt8173' is not a vendor. > + > +required: > + - compatible > + > +examples: > + - | > + watchdog { This should be a child of some Mediatek firmware node. I assume watchdog is not the *only* function. > + compatible = "mt8173,smc-wdt"; > + timeout-sec = <15>; > + }; > + > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index e48ab79879ace..59e8779363c12 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1421,6 +1421,12 @@ S: Maintained > F: Documentation/devicetree/bindings/interrupt-controller/amazon,al-fic.txt > F: drivers/irqchip/irq-al-fic.c > > +ARM SMC WATCHDOG DRIVER > +M: Julius Werner <jwerner@chromium.org> > +R: Evan Benn <evanbenn@chromium.org> > +S: Maintained > +F: devicetree/bindings/watchdog/mt8173,smc-wdt.yaml > + > ARM SMMU DRIVERS > M: Will Deacon <will@kernel.org> > R: Robin Murphy <robin.murphy@arm.com> > -- > 2.25.0.265.gbab2e86ba0-goog >
Thanks Rob > This should be a child of some Mediatek firmware node. I assume > watchdog is not the *only* function. I am not quite sure what you mean, do you intend this: firmware { watchdog { ... } } I do not have a deep understanding of devicetree yet, can you point me to anything that will help me understand the consequences of that change? Thanks Evan
On Tue, Feb 25, 2020 at 6:15 PM Evan Benn <evanbenn@chromium.org> wrote: > > Thanks Rob > > > This should be a child of some Mediatek firmware node. I assume > > watchdog is not the *only* function. > > I am not quite sure what you mean, do you intend this: > > firmware { > watchdog { Not quite. /firmware is generic container. I'd expect another layer in the middle for the overall set of Mediatek firmware behind smc calls. Look at 'xlnx,zynqmp-firmware' for an example. Rob
> Not quite. /firmware is generic container. I'd expect another layer in > the middle for the overall set of Mediatek firmware behind smc calls. > Look at 'xlnx,zynqmp-firmware' for an example. There are no other MediaTek firmware interfaces described in the device tree on those platforms. Is it okay if we just call it /firmware/watchdog in that case?
diff --git a/Documentation/devicetree/bindings/watchdog/mt8173,smc-wdt.yaml b/Documentation/devicetree/bindings/watchdog/mt8173,smc-wdt.yaml new file mode 100644 index 0000000000000..ff45e13bc548b --- /dev/null +++ b/Documentation/devicetree/bindings/watchdog/mt8173,smc-wdt.yaml @@ -0,0 +1,30 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/watchdog/mt8173,smc-wdt.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ARM Secure Monitor Call based watchdog + +allOf: + - $ref: "watchdog.yaml#" + +maintainers: + - Julius Werner <jwerner@chromium.org> + +properties: + compatible: + enum: + - mt8173,smc-wdt + +required: + - compatible + +examples: + - | + watchdog { + compatible = "mt8173,smc-wdt"; + timeout-sec = <15>; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index e48ab79879ace..59e8779363c12 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1421,6 +1421,12 @@ S: Maintained F: Documentation/devicetree/bindings/interrupt-controller/amazon,al-fic.txt F: drivers/irqchip/irq-al-fic.c +ARM SMC WATCHDOG DRIVER +M: Julius Werner <jwerner@chromium.org> +R: Evan Benn <evanbenn@chromium.org> +S: Maintained +F: devicetree/bindings/watchdog/mt8173,smc-wdt.yaml + ARM SMMU DRIVERS M: Will Deacon <will@kernel.org> R: Robin Murphy <robin.murphy@arm.com>
This watchdog can be used on ARM systems with a Secure Monitor firmware to forward watchdog operations to firmware via a Secure Monitor Call. Signed-off-by: Evan Benn <evanbenn@chromium.org> --- Changes in v2: - Change name arm > mt8173 .../bindings/watchdog/mt8173,smc-wdt.yaml | 30 +++++++++++++++++++ MAINTAINERS | 6 ++++ 2 files changed, 36 insertions(+) create mode 100644 Documentation/devicetree/bindings/watchdog/mt8173,smc-wdt.yaml