On Mon, Jun 12, 2023 at 10:29:16AM +0200, Krzysztof Kozlowski wrote: > On 08/06/2023 10:11, Alexander Stein wrote: > > Convert the binding to DT schema format. Change the GPIO properties to new > > naming convention using -gpios as well. > > > > Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > > --- > > .../bindings/extcon/extcon-usb-gpio.txt | 21 -------- > > .../bindings/extcon/extcon-usb-gpio.yaml | 52 +++++++++++++++++++ > > 2 files changed, 52 insertions(+), 21 deletions(-) > > delete mode 100644 Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt > > create mode 100644 Documentation/devicetree/bindings/extcon/extcon-usb-gpio.yaml > > > > diff --git a/Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt b/Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt > > deleted file mode 100644 > > index dfc14f71e81fb..0000000000000 > > --- a/Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt > > +++ /dev/null > > @@ -1,21 +0,0 @@ > > -USB GPIO Extcon device > > - > > -This is a virtual device used to generate USB cable states from the USB ID pin > > -connected to a GPIO pin. > > - > > -Required properties: > > -- compatible: Should be "linux,extcon-usb-gpio" > > - > > -Either one of id-gpio or vbus-gpio must be present. Both can be present as well. > > -- id-gpio: gpio for USB ID pin. See gpio binding. > > -- vbus-gpio: gpio for USB VBUS pin. > > - > > -Example: Examples of extcon-usb-gpio node in dra7-evm.dts as listed below: > > - extcon_usb1 { > > - compatible = "linux,extcon-usb-gpio"; > > - id-gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>; > > - } > > - > > - &omap_dwc3_1 { > > - extcon = <&extcon_usb1>; > > - }; > > diff --git a/Documentation/devicetree/bindings/extcon/extcon-usb-gpio.yaml b/Documentation/devicetree/bindings/extcon/extcon-usb-gpio.yaml > > new file mode 100644 > > index 0000000000000..3a71d848dc7a8 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/extcon/extcon-usb-gpio.yaml > > @@ -0,0 +1,52 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/extcon/extcon-usb-gpio.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: USB GPIO Extcon device > > + > > +maintainers: > > + - Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > > + > > +description: | Don't need '|' > > + This is a virtual device used to generate USB cable states from the > > + USB ID pin connected to a GPIO pin. Please add 'deprecated: true' here. New designs should use a USB connector node binding. > > + > > +properties: > > + compatible: > > + const: linux,extcon-usb-gpio > > + > > + id-gpios: > > + description: An input gpio for USB ID pin. > > + maxItems: 1 > > + > > + vbus-gpios: > > + description: An input gpio for USB VBus pin, used to detect presence of > > + VBUS 5V. > > + maxItems: 1 > > + > > +required: > > + - compatible > > + > > +anyOf: > > oneOf instead anyOf is correct. Both can be present. > > > + - required: > > + - id-gpios > > + - required: > > + - vbus-gpios > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/gpio/gpio.h> > > + > > + extcon_usb1 { > > No underscores, generic node names, so just "extcon-usb" > > > + compatible = "linux,extcon-usb-gpio"; > > + id-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>; > > + vbus-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; > > + }; > > + > > + usb-controller { > > + extcon = <&extcon_usb1>; > > + }; > > Drop controller, no need to add consumers in a provider's binding. > > Best regards, > Krzysztof >