* [PATCH 1/1] dt-bindings: usb: Convert fsl-usb to yaml
@ 2024-06-25 2:25 Frank Li
2024-06-26 9:26 ` Krzysztof Kozlowski
0 siblings, 1 reply; 4+ messages in thread
From: Frank Li @ 2024-06-25 2:25 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, open list:USB SUBSYSTEM,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
open list
Cc: imx
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
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";
+ };
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] dt-bindings: usb: Convert fsl-usb to yaml
2024-06-25 2:25 [PATCH 1/1] dt-bindings: usb: Convert fsl-usb to yaml Frank Li
@ 2024-06-26 9:26 ` Krzysztof Kozlowski
2024-06-26 15:04 ` Frank Li
0 siblings, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-26 9:26 UTC (permalink / raw)
To: Frank Li, Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, open list:USB SUBSYSTEM,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
open list
Cc: imx
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] dt-bindings: usb: Convert fsl-usb to yaml
2024-06-26 9:26 ` Krzysztof Kozlowski
@ 2024-06-26 15:04 ` Frank Li
2024-06-27 7:00 ` Krzysztof Kozlowski
0 siblings, 1 reply; 4+ messages in thread
From: Frank Li @ 2024-06-26 15:04 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, open list:USB SUBSYSTEM,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
open list, imx
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
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] dt-bindings: usb: Convert fsl-usb to yaml
2024-06-26 15:04 ` Frank Li
@ 2024-06-27 7:00 ` Krzysztof Kozlowski
0 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-27 7:00 UTC (permalink / raw)
To: Frank Li
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, open list:USB SUBSYSTEM,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
open list, imx
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-06-27 7:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-25 2:25 [PATCH 1/1] dt-bindings: usb: Convert fsl-usb to yaml Frank Li
2024-06-26 9:26 ` Krzysztof Kozlowski
2024-06-26 15:04 ` Frank Li
2024-06-27 7:00 ` Krzysztof Kozlowski
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).