Message ID | 1522309629-10152-3-git-send-email-michel.pollet@bp.renesas.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Hi Michel, On Thu, Mar 29, 2018 at 9:46 AM, Michel Pollet <michel.pollet@bp.renesas.com> wrote: > The Renesas RZ/N1 Family (Part #R9A06G0xx) requires a driver > as part of the sysctrl MFD to handle rebooting the CA7 cores. > This documents the driver bindings. > > Signed-off-by: Michel Pollet <michel.pollet@bp.renesas.com> Thanks for your patch! > --- /dev/null > +++ b/Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt > @@ -0,0 +1,20 @@ > +DT bindings for the Renesas RZ/N1 Reboot Driver > + > +== Reboot Driver Node == > + > +The reboot driver is always a subnode of the system controller node, see > +renesas,rzn1-sysctrl.txt for details. > + > +Bindings: > ++ Required: > + compatible = "renesas,rzn1-reboot"; You should list the supported SoC-specific compatible values here. Quoting what I said on IRC: 1) DT bindings. These should list all compatible values possible/used. 2) DTS: These should list all applicable compatible values, from most-specific to least-specific (SoC-specific, family-specific (if exists), generic (if exists)) 3 Driver: These should list only the least specific that is sufficient to get the job done. So usually we have the family-specific only, except if an SoC needs to be handled specially, or for historical reasons (DTB backeards compatibility) > + > +Example: > + sysctrl: sysctrl@4000c000 { > + compatible = "renesas,rzn1-sysctrl", "syscon", "simple-mfd"; Missing SoC-specific compatible value. > + reg = <0x4000c000 0x1000>; > + > + reboot { > + compatible = "renesas,rzn1-reboot"; Missing SoC-specific compatible value. > + }; > + }; Gr{oetje,eeting}s, Geert
On Thu, Mar 29, 2018 at 08:46:58AM +0100, Michel Pollet wrote: > The Renesas RZ/N1 Family (Part #R9A06G0xx) requires a driver > as part of the sysctrl MFD to handle rebooting the CA7 cores. > This documents the driver bindings. > > Signed-off-by: Michel Pollet <michel.pollet@bp.renesas.com> > --- > .../bindings/power/renesas,rzn1-reboot.txt | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > create mode 100644 Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt > > diff --git a/Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt b/Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt > new file mode 100644 > index 0000000..f592769 > --- /dev/null > +++ b/Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt > @@ -0,0 +1,20 @@ > +DT bindings for the Renesas RZ/N1 Reboot Driver > + > +== Reboot Driver Node == > + > +The reboot driver is always a subnode of the system controller node, see > +renesas,rzn1-sysctrl.txt for details. > + > +Bindings: > ++ Required: > + compatible = "renesas,rzn1-reboot"; > + > +Example: > + sysctrl: sysctrl@4000c000 { > + compatible = "renesas,rzn1-sysctrl", "syscon", "simple-mfd"; Are there other functions for this block? If so, please define a complete binding for the block. > + reg = <0x4000c000 0x1000>; > + > + reboot { > + compatible = "renesas,rzn1-reboot"; Why is this node needed? The driver for "renesas,rzn1-sysctrl" should be able to register as a reboot handler/driver/provider. Rob
Hi Rob, On 09 April 2018 21:10, Rob Herring wrote: > On Thu, Mar 29, 2018 at 08:46:58AM +0100, Michel Pollet wrote: > > The Renesas RZ/N1 Family (Part #R9A06G0xx) requires a driver as part > > of the sysctrl MFD to handle rebooting the CA7 cores. > > This documents the driver bindings. > > > > Signed-off-by: Michel Pollet <michel.pollet@bp.renesas.com> > > --- > > .../bindings/power/renesas,rzn1-reboot.txt | 20 > ++++++++++++++++++++ > > 1 file changed, 20 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt > > > > diff --git > > a/Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt > > b/Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt > > new file mode 100644 > > index 0000000..f592769 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/power/renesas,rzn1- > reboot.txt > > @@ -0,0 +1,20 @@ > > +DT bindings for the Renesas RZ/N1 Reboot Driver > > + > > +== Reboot Driver Node == > > + > > +The reboot driver is always a subnode of the system controller node, > > +see renesas,rzn1-sysctrl.txt for details. > > + > > +Bindings: > > ++ Required: > > +compatible = "renesas,rzn1-reboot"; > > + > > +Example: > > +sysctrl: sysctrl@4000c000 { > > +compatible = "renesas,rzn1-sysctrl", "syscon", "simple-mfd"; > > Are there other functions for this block? If so, please define a complete > binding for the block. There are indeed multiple functions for this particular IP block. It's pretty much a kitchen sink of clocks, pinmux, reboot, watchdog, SMP and probably a couple more I forgot about! We've discussed this MFD structure with Geert, we picked that because if I were to add all these callbacks/drivers to a 'sysctrl' driver, it'd end up looking like ... a mach-xx.c file in the end! So the current version is just a placeholder for a single driver for now, but it won't last, there's already a SMP core enable driver lined up next... > > > +reg = <0x4000c000 0x1000>; > > + > > +reboot { > > +compatible = "renesas,rzn1-reboot"; > > Why is this node needed? The driver for "renesas,rzn1-sysctrl" should be > able to register as a reboot handler/driver/provider. Please see above... > > Rob Thanks for your input! Michel Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.
diff --git a/Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt b/Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt new file mode 100644 index 0000000..f592769 --- /dev/null +++ b/Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt @@ -0,0 +1,20 @@ +DT bindings for the Renesas RZ/N1 Reboot Driver + +== Reboot Driver Node == + +The reboot driver is always a subnode of the system controller node, see +renesas,rzn1-sysctrl.txt for details. + +Bindings: ++ Required: + compatible = "renesas,rzn1-reboot"; + +Example: + sysctrl: sysctrl@4000c000 { + compatible = "renesas,rzn1-sysctrl", "syscon", "simple-mfd"; + reg = <0x4000c000 0x1000>; + + reboot { + compatible = "renesas,rzn1-reboot"; + }; + };
The Renesas RZ/N1 Family (Part #R9A06G0xx) requires a driver as part of the sysctrl MFD to handle rebooting the CA7 cores. This documents the driver bindings. Signed-off-by: Michel Pollet <michel.pollet@bp.renesas.com> --- .../bindings/power/renesas,rzn1-reboot.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/renesas,rzn1-reboot.txt