Message ID | 20240625022541.2007010-1-Frank.Li@nxp.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/1] dt-bindings: usb: Convert fsl-usb to yaml | expand |
On 25/06/2024 04:25, Frank Li wrote: > Convert fsl-usb binding doc to yaml format. > > Additional change: > - usb@4000 { > - compatible = "fsl,mpc5121-usb2-dr"; > - reg = <0x4000 0x1000>; > - #address-cells = <1>; > - #size-cells = <0>; > - interrupt-parent = < &ipic >; > - interrupts = <44 0x8>; > - dr_mode = "otg"; > - phy_type = "utmi_wide"; > - fsl,invert-drvvbus; > - fsl,invert-pwr-fault; > - }; > diff --git a/Documentation/devicetree/bindings/usb/fsl-usb.yaml b/Documentation/devicetree/bindings/usb/fsl-usb.yaml > new file mode 100644 > index 0000000000000..8b5724e213f09 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/fsl-usb.yaml fsl,usb.yaml or: fsl,usb2.yaml > + > +maintainers: > + - Frank Li <Frank.Li@nxp.com> > + > +description: | Do not need '|' unless you need to preserve formatting. > + The device node for a USB controller that is part of a Freescale > + SOC is as described in the document "Open Firmware Recommended > + Practice: Universal Serial Bus" with the following modifications > + and additions. > + > +properties: > + compatible: > + oneOf: > + - enum: > + - fsl-usb2-mph > + - fsl-usb2-dr > + - fsl-usb2-dr-v2.2 It cannot be standalone and not-standalone. Cannot be both. Choose one. > + - items: > + - enum: > + - fsl-usb2-dr-v2.2 > + - fsl-usb2-dr-v2.5 > + - const: fsl-usb2-dr > + > + phy_type: > + $ref: /schemas/types.yaml#/definitions/string > + enum: [ulpi, serial, utmi, utmi_wide] > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + port0: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + Indicates port0 is connected for fsl-usb2-mph compatible controllers. > + > + port1: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + Indicates port1 is connected for "fsl-usb2-mph" compatible controllers. > + > + fsl,invert-drvvbus: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + for MPC5121 USB0 only. Indicates the > + port power polarity of internal PHY signal DRVVBUS is inverted. > + > + fsl,invert-pwr-fault: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + for MPC5121 USB0 only. Indicates > + the PWR_FAULT signal polarity is inverted. > + > +required: > + - compatible > + - reg > + - interrupts > + - phy_type Keep the same order as in "properties:". Preferably this order, so adjust "properties:" to match "required:". > + > +allOf: > + - $ref: usb-drd.yaml# > + Best regards, Krzysztof
On Wed, Jun 26, 2024 at 11:26:18AM +0200, Krzysztof Kozlowski wrote: > On 25/06/2024 04:25, Frank Li wrote: > > Convert fsl-usb binding doc to yaml format. > > > > Additional change: > > > > - usb@4000 { > > - compatible = "fsl,mpc5121-usb2-dr"; > > - reg = <0x4000 0x1000>; > > - #address-cells = <1>; > > - #size-cells = <0>; > > - interrupt-parent = < &ipic >; > > - interrupts = <44 0x8>; > > - dr_mode = "otg"; > > - phy_type = "utmi_wide"; > > - fsl,invert-drvvbus; > > - fsl,invert-pwr-fault; > > - }; > > diff --git a/Documentation/devicetree/bindings/usb/fsl-usb.yaml b/Documentation/devicetree/bindings/usb/fsl-usb.yaml > > new file mode 100644 > > index 0000000000000..8b5724e213f09 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/usb/fsl-usb.yaml > > fsl,usb.yaml > or: fsl,usb2.yaml > > > + > > +maintainers: > > + - Frank Li <Frank.Li@nxp.com> > > + > > +description: | > > Do not need '|' unless you need to preserve formatting. dt_binding_check report error without '|' fsl,usb2.yaml:15:11: [error] syntax error: mapping values are not allowed here (syntax) "Practice:" impact yaml parse. > > > + The device node for a USB controller that is part of a Freescale > > + SOC is as described in the document "Open Firmware Recommended > > + Practice: Universal Serial Bus" with the following modifications > > + and additions. > > + > > +properties: > > + compatible: > > + oneOf: > > + - enum: > > + - fsl-usb2-mph > > + - fsl-usb2-dr > > + - fsl-usb2-dr-v2.2 > > It cannot be standalone and not-standalone. Cannot be both. Choose one. > > > + - items: > > + - enum: > > + - fsl-usb2-dr-v2.2 > > + - fsl-usb2-dr-v2.5 > > + - const: fsl-usb2-dr > > + > > + phy_type: > > + $ref: /schemas/types.yaml#/definitions/string > > + enum: [ulpi, serial, utmi, utmi_wide] > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + port0: > > + $ref: /schemas/types.yaml#/definitions/flag > > + description: > > + Indicates port0 is connected for fsl-usb2-mph compatible controllers. > > + > > + port1: > > + $ref: /schemas/types.yaml#/definitions/flag > > + description: > > + Indicates port1 is connected for "fsl-usb2-mph" compatible controllers. > > + > > + fsl,invert-drvvbus: > > + $ref: /schemas/types.yaml#/definitions/flag > > + description: > > + for MPC5121 USB0 only. Indicates the > > + port power polarity of internal PHY signal DRVVBUS is inverted. > > + > > + fsl,invert-pwr-fault: > > + $ref: /schemas/types.yaml#/definitions/flag > > + description: > > + for MPC5121 USB0 only. Indicates > > + the PWR_FAULT signal polarity is inverted. > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - phy_type > > Keep the same order as in "properties:". Preferably this order, so > adjust "properties:" to match "required:". > > > + > > +allOf: > > + - $ref: usb-drd.yaml# > > + > > > Best regards, > Krzysztof >
On 26/06/2024 17:04, Frank Li wrote: > On Wed, Jun 26, 2024 at 11:26:18AM +0200, Krzysztof Kozlowski wrote: >> On 25/06/2024 04:25, Frank Li wrote: >>> Convert fsl-usb binding doc to yaml format. >>> >>> Additional change: >> >> >>> - usb@4000 { >>> - compatible = "fsl,mpc5121-usb2-dr"; >>> - reg = <0x4000 0x1000>; >>> - #address-cells = <1>; >>> - #size-cells = <0>; >>> - interrupt-parent = < &ipic >; >>> - interrupts = <44 0x8>; >>> - dr_mode = "otg"; >>> - phy_type = "utmi_wide"; >>> - fsl,invert-drvvbus; >>> - fsl,invert-pwr-fault; >>> - }; >>> diff --git a/Documentation/devicetree/bindings/usb/fsl-usb.yaml b/Documentation/devicetree/bindings/usb/fsl-usb.yaml >>> new file mode 100644 >>> index 0000000000000..8b5724e213f09 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/usb/fsl-usb.yaml >> >> fsl,usb.yaml >> or: fsl,usb2.yaml >> >>> + >>> +maintainers: >>> + - Frank Li <Frank.Li@nxp.com> >>> + >>> +description: | >> >> Do not need '|' unless you need to preserve formatting. > > dt_binding_check report error without '|' > fsl,usb2.yaml:15:11: [error] syntax error: mapping values are not allowed here (syntax) > > "Practice:" impact yaml parse. Ah, indeed. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/usb/fsl-usb.txt b/Documentation/devicetree/bindings/usb/fsl-usb.txt deleted file mode 100644 index 0b08b006c5ead..0000000000000 --- a/Documentation/devicetree/bindings/usb/fsl-usb.txt +++ /dev/null @@ -1,81 +0,0 @@ -Freescale SOC USB controllers - -The device node for a USB controller that is part of a Freescale -SOC is as described in the document "Open Firmware Recommended -Practice : Universal Serial Bus" with the following modifications -and additions : - -Required properties : - - compatible : Should be "fsl-usb2-mph" for multi port host USB - controllers, or "fsl-usb2-dr" for dual role USB controllers - or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121. - Wherever applicable, the IP version of the USB controller should - also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132). - - phy_type : For multi port host USB controllers, should be one of - "ulpi", or "serial". For dual role USB controllers, should be - one of "ulpi", "utmi", "utmi_wide", or "serial". - - reg : Offset and length of the register set for the device - - port0 : boolean; if defined, indicates port0 is connected for - fsl-usb2-mph compatible controllers. Either this property or - "port1" (or both) must be defined for "fsl-usb2-mph" compatible - controllers. - - port1 : boolean; if defined, indicates port1 is connected for - fsl-usb2-mph compatible controllers. Either this property or - "port0" (or both) must be defined for "fsl-usb2-mph" compatible - controllers. - - dr_mode : indicates the working mode for "fsl-usb2-dr" compatible - controllers. Can be "host", "peripheral", or "otg". Default to - "host" if not defined for backward compatibility. - -Recommended properties : - - interrupts : <a b> where a is the interrupt number and b is a - field that represents an encoding of the sense and level - information for the interrupt. This should be encoded based on - the information in section 2) depending on the type of interrupt - controller you have. - -Optional properties : - - fsl,invert-drvvbus : boolean; for MPC5121 USB0 only. Indicates the - port power polarity of internal PHY signal DRVVBUS is inverted. - - fsl,invert-pwr-fault : boolean; for MPC5121 USB0 only. Indicates - the PWR_FAULT signal polarity is inverted. - -Example multi port host USB controller device node : - usb@22000 { - compatible = "fsl-usb2-mph"; - reg = <22000 1000>; - #address-cells = <1>; - #size-cells = <0>; - interrupt-parent = <700>; - interrupts = <27 1>; - phy_type = "ulpi"; - port0; - port1; - }; - -Example dual role USB controller device node : - usb@23000 { - compatible = "fsl-usb2-dr"; - reg = <23000 1000>; - #address-cells = <1>; - #size-cells = <0>; - interrupt-parent = <700>; - interrupts = <26 1>; - dr_mode = "otg"; - phy = "ulpi"; - }; - -Example dual role USB controller device node for MPC5121ADS: - - usb@4000 { - compatible = "fsl,mpc5121-usb2-dr"; - reg = <0x4000 0x1000>; - #address-cells = <1>; - #size-cells = <0>; - interrupt-parent = < &ipic >; - interrupts = <44 0x8>; - dr_mode = "otg"; - phy_type = "utmi_wide"; - fsl,invert-drvvbus; - fsl,invert-pwr-fault; - }; diff --git a/Documentation/devicetree/bindings/usb/fsl-usb.yaml b/Documentation/devicetree/bindings/usb/fsl-usb.yaml new file mode 100644 index 0000000000000..8b5724e213f09 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/fsl-usb.yaml @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/fsl-usb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale SOC USB controllers + +maintainers: + - Frank Li <Frank.Li@nxp.com> + +description: | + The device node for a USB controller that is part of a Freescale + SOC is as described in the document "Open Firmware Recommended + Practice: Universal Serial Bus" with the following modifications + and additions. + +properties: + compatible: + oneOf: + - enum: + - fsl-usb2-mph + - fsl-usb2-dr + - fsl-usb2-dr-v2.2 + - items: + - enum: + - fsl-usb2-dr-v2.2 + - fsl-usb2-dr-v2.5 + - const: fsl-usb2-dr + + phy_type: + $ref: /schemas/types.yaml#/definitions/string + enum: [ulpi, serial, utmi, utmi_wide] + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + port0: + $ref: /schemas/types.yaml#/definitions/flag + description: + Indicates port0 is connected for fsl-usb2-mph compatible controllers. + + port1: + $ref: /schemas/types.yaml#/definitions/flag + description: + Indicates port1 is connected for "fsl-usb2-mph" compatible controllers. + + fsl,invert-drvvbus: + $ref: /schemas/types.yaml#/definitions/flag + description: + for MPC5121 USB0 only. Indicates the + port power polarity of internal PHY signal DRVVBUS is inverted. + + fsl,invert-pwr-fault: + $ref: /schemas/types.yaml#/definitions/flag + description: + for MPC5121 USB0 only. Indicates + the PWR_FAULT signal polarity is inverted. + +required: + - compatible + - reg + - interrupts + - phy_type + +allOf: + - $ref: usb-drd.yaml# + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + + usb@22000 { + compatible = "fsl-usb2-mph"; + reg = <22000 1000>; + interrupts = <27 IRQ_TYPE_EDGE_RISING>; + phy_type = "ulpi"; + port0; + port1; + }; + + - | + #include <dt-bindings/interrupt-controller/irq.h> + + usb@23000 { + compatible = "fsl-usb2-dr"; + reg = <23000 1000>; + interrupts = <26 IRQ_TYPE_EDGE_RISING>; + dr_mode = "otg"; + phy_type = "ulpi"; + };
Convert fsl-usb binding doc to yaml format. Additional change: - Remove port0 and port1 from required list. - Use common usb-drd.yaml for dr_mode property - Keep two difference examples. - Add interrupts to required property list. - Remove #address-cells and #size-cells in example. - Use predefined irq type macro. Signed-off-by: Frank Li <Frank.Li@nxp.com> --- .../devicetree/bindings/usb/fsl-usb.txt | 81 ---------------- .../devicetree/bindings/usb/fsl-usb.yaml | 96 +++++++++++++++++++ 2 files changed, 96 insertions(+), 81 deletions(-) delete mode 100644 Documentation/devicetree/bindings/usb/fsl-usb.txt create mode 100644 Documentation/devicetree/bindings/usb/fsl-usb.yaml