Message ID | 20221107135825.583877-5-herve.codina@bootlin.com |
---|---|
State | New |
Headers | show |
Series | Add the Renesas USBF controller support | expand |
Hi Krzysztof, On Mon, 7 Nov 2022 19:24:01 +0100 Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 07/11/2022 14:58, Herve Codina wrote: > > The Renesas USBF controller is an USB2.0 device controller > > (UDC) available in Renesas r9a06g032 SoC (RZ/N1 family). > > > > Signed-off-by: Herve Codina <herve.codina@bootlin.com> > > --- > > .../devicetree/bindings/usb/renesas,usbf.yaml | 64 +++++++++++++++++++ > > 1 file changed, 64 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/usb/renesas,usbf.yaml > > > > diff --git a/Documentation/devicetree/bindings/usb/renesas,usbf.yaml b/Documentation/devicetree/bindings/usb/renesas,usbf.yaml > > new file mode 100644 > > index 000000000000..f2b146d9d37b > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/usb/renesas,usbf.yaml > > @@ -0,0 +1,64 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/usb/renesas,usbf.yaml# > > Filename based on compatible, so renesas,rzn1-usbf.yaml. Will be fixed in the v2 series. > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Renesas USBF (USB Function) controller binding > > + > > +description: | > > + The Renesas USBF controller is an USB2.0 device > > + controller (UDC). > > + > > +maintainers: > > + - Herve Codina <herve.codina@bootlin.com> > > + > > +properties: > > + compatible: > > + oneOf: > > You have only one possibility, so oneOf is not needed. Unless you > already predict it will grow with new incompatible lists? No new compatible planned right now. So, oneOf will be removed in the v2 series. > > > + - items: > > + - enum: > > + - renesas,r9a06g032-usbf > > + - const: renesas,rzn1-usbf > > + > > + reg: > > + maxItems: 1 > > + > > + clocks: > > + items: > > + - description: Internal bus clock (AHB) for Function > > + - description: Internal bus clock (AHB) for Power Management > > Blank line Will be fixed in the v2 series > > > + clock-names: > > + items: > > + - const: hclkf > > + - const: hclkpm > > + > > + interrupts: > > + items: > > + - description: The USBF EPC interrupt > > + - description: The USBF AHB-EPC interrupt > > + > > +required: > > + - compatible > > + - reg > > + - clocks > > + - clock-names > > + - interrupts > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/arm-gic.h> > > + #include <dt-bindings/clock/r9a06g032-sysctrl.h> > > + > > + usb@4001e000 { > > + compatible = "renesas,r9a06g032-usbf", "renesas,rzn1-usbf"; > > + reg = <0x4001e000 0x2000>; > > + interrupts = > > No need for line break. It's not helping in readability. Will be fixed in the v2 series > > > > + <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; > > + clocks = <&sysctrl R9A06G032_HCLK_USBF>, > > + <&sysctrl R9A06G032_HCLK_USBPM>; > > + clock-names = "hclkf", "hclkpm"; > > + }; > > Best regards, > Krzysztof > Thanks for the review, Hervé
diff --git a/Documentation/devicetree/bindings/usb/renesas,usbf.yaml b/Documentation/devicetree/bindings/usb/renesas,usbf.yaml new file mode 100644 index 000000000000..f2b146d9d37b --- /dev/null +++ b/Documentation/devicetree/bindings/usb/renesas,usbf.yaml @@ -0,0 +1,64 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/renesas,usbf.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Renesas USBF (USB Function) controller binding + +description: | + The Renesas USBF controller is an USB2.0 device + controller (UDC). + +maintainers: + - Herve Codina <herve.codina@bootlin.com> + +properties: + compatible: + oneOf: + - items: + - enum: + - renesas,r9a06g032-usbf + - const: renesas,rzn1-usbf + + reg: + maxItems: 1 + + clocks: + items: + - description: Internal bus clock (AHB) for Function + - description: Internal bus clock (AHB) for Power Management + clock-names: + items: + - const: hclkf + - const: hclkpm + + interrupts: + items: + - description: The USBF EPC interrupt + - description: The USBF AHB-EPC interrupt + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/clock/r9a06g032-sysctrl.h> + + usb@4001e000 { + compatible = "renesas,r9a06g032-usbf", "renesas,rzn1-usbf"; + reg = <0x4001e000 0x2000>; + interrupts = + <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&sysctrl R9A06G032_HCLK_USBF>, + <&sysctrl R9A06G032_HCLK_USBPM>; + clock-names = "hclkf", "hclkpm"; + };
The Renesas USBF controller is an USB2.0 device controller (UDC) available in Renesas r9a06g032 SoC (RZ/N1 family). Signed-off-by: Herve Codina <herve.codina@bootlin.com> --- .../devicetree/bindings/usb/renesas,usbf.yaml | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/renesas,usbf.yaml