Message ID | 20230817235212.441254-1-alkuor@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | dt-bindings: usb: Add binding for ti,tps25750 | expand |
On 18/08/2023 01:52, Abdel Alkuor wrote: > From: Abdel Alkuor <abdelalkuor@geotab.com> > > TPS25750 provides power negotiation and capabilities management > for USB Type-C applications. > > Signed-off-by: Abdel Alkuor <abdelalkuor@geotab.com> Where is any user of it? DTS, driver or 3rd party upstream open-source project? A nit, subject: drop second/last, redundant "binding for". The "dt-bindings" prefix is already stating that these are bindings. > --- > .../devicetree/bindings/usb/ti,tps25750.yaml | 84 +++++++++++++++++++ > 1 file changed, 84 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/ti,tps25750.yaml > > diff --git a/Documentation/devicetree/bindings/usb/ti,tps25750.yaml b/Documentation/devicetree/bindings/usb/ti,tps25750.yaml > new file mode 100644 > index 000000000000..326c9c2f766b > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/ti,tps25750.yaml > @@ -0,0 +1,84 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/usb/ti,tps25750.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Texas Instruments 25750 Type-C Port Switch and Power Delivery controller > + > +maintainers: > + - Abdel Alkuor <abdelalkuor@geotab.com> > + > +description: | > + Texas Instruments 25750 Type-C Port Switch and Power Delivery controller > + > +properties: > + compatible: > + enum: > + - ti,tps25750 Blank line > + reg: > + maxItems: 1 > + > + interrupts: > + description: | Drop description > + maxItems: 1 > + > + interrupt-names: > + items: > + - const: irq Drop interrupt-names, it is useless in this form. > + > + firmware-name: > + description: | > + Should contain the name of the default patch binary > + file located on the firmware search path which is > + used to switch the controller into APP mode maxItems: 1 > + > + connector: > + type: object > + $ref: ../connector/usb-connector.yaml# > + description: > + Properties for usb c connector. > + required: > + - data-role > + > +required: > + - compatible > + - reg > + - interrupts > + - connector > + > +additionalProperties: true > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + tps25750: tps25750@21 { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "ti,tps25750"; > + reg = <0x21>; > + Best regards, Krzysztof
On Fri, Aug 18, 2023 at 11:31:35AM +0200, Krzysztof Kozlowski wrote: > Where is any user of it? DTS, driver or 3rd party upstream open-source > project? > Yes, for Geotab. We are working on bringing up a new BSP and we have tps25750 which doesn't have a driver in Linux yet. We developed the driver but I thought I needed to get the dt-bindings accepted first before sending the patch for the driver. Sorry, this is my first time contributing to Linux. Maybe this question was asked before but for some reason I couldn't find it. What is usually the process? Should I upload the driver too? > > A nit, subject: drop second/last, redundant "binding for". The > "dt-bindings" prefix is already stating that these are bindings. > > > + - ti,tps25750 > > Blank line > > > + reg: > > + interrupts: > > + description: | > > Drop description > > > + interrupt-names: > > + items: > > + - const: irq > > Drop interrupt-names, it is useless in this form. > > > + firmware-name: > > + description: | > > + Should contain the name of the default patch binary > > + file located on the firmware search path which is > > + used to switch the controller into APP mode > > maxItems: 1 > > > + tps25750: tps25750@21 { > > Node names should be generic. See also an explanation and list of > examples (not exhaustive) in DT specification: > https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > > > > + compatible = "ti,tps25750"; > > + reg = <0x21>; > > + > > > Best regards, > Krzysztof > Thanks for the review. I've addressed your comments in v2 Best Regards, Abdel
On 18/08/2023 17:35, Abdel Alkuor wrote: > On Fri, Aug 18, 2023 at 11:31:35AM +0200, Krzysztof Kozlowski wrote: >> Where is any user of it? DTS, driver or 3rd party upstream open-source >> project? >> > Yes, for Geotab. We are working on bringing up a new BSP and we have tps25750 > which doesn't have a driver in Linux yet. We developed the driver but I thought > I needed to get the dt-bindings accepted first before sending the patch for > the driver. > > Sorry, this is my first time contributing to Linux. Maybe this question > was asked before but for some reason I couldn't find it. > > What is usually the process? Should I upload the driver too? Yes, please upload in one patchset, in following order: 1. This bindings patch 2. Driver patch Best regards, Krzysztof
On Sat, Aug 19, 2023 at 09:09:03AM +0200, Krzysztof Kozlowski wrote: > On 18/08/2023 17:35, Abdel Alkuor wrote: > > On Fri, Aug 18, 2023 at 11:31:35AM +0200, Krzysztof Kozlowski wrote: > >> Where is any user of it? DTS, driver or 3rd party upstream open-source > >> project? > >> > > Yes, for Geotab. We are working on bringing up a new BSP and we have tps25750 > > which doesn't have a driver in Linux yet. We developed the driver but I thought > > I needed to get the dt-bindings accepted first before sending the patch for > > the driver. > > > > Sorry, this is my first time contributing to Linux. Maybe this question > > was asked before but for some reason I couldn't find it. > > > > What is usually the process? Should I upload the driver too? > > Yes, please upload in one patchset, in following order: > 1. This bindings patch > 2. Driver patch > Will do. Thanks. Abdel
diff --git a/Documentation/devicetree/bindings/usb/ti,tps25750.yaml b/Documentation/devicetree/bindings/usb/ti,tps25750.yaml new file mode 100644 index 000000000000..326c9c2f766b --- /dev/null +++ b/Documentation/devicetree/bindings/usb/ti,tps25750.yaml @@ -0,0 +1,84 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/ti,tps25750.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Texas Instruments 25750 Type-C Port Switch and Power Delivery controller + +maintainers: + - Abdel Alkuor <abdelalkuor@geotab.com> + +description: | + Texas Instruments 25750 Type-C Port Switch and Power Delivery controller + +properties: + compatible: + enum: + - ti,tps25750 + reg: + maxItems: 1 + + interrupts: + description: | + maxItems: 1 + + interrupt-names: + items: + - const: irq + + firmware-name: + description: | + Should contain the name of the default patch binary + file located on the firmware search path which is + used to switch the controller into APP mode + + connector: + type: object + $ref: ../connector/usb-connector.yaml# + description: + Properties for usb c connector. + required: + - data-role + +required: + - compatible + - reg + - interrupts + - connector + +additionalProperties: true + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + + tps25750: tps25750@21 { + compatible = "ti,tps25750"; + reg = <0x21>; + + interrupt-parent = <&msmgpio>; + interrupts = <107 IRQ_TYPE_LEVEL_LOW>; + interrupt-names = "irq"; + + firmware-name = "tps25750.bin"; + + pinctrl-names = "default"; + pinctrl-0 = <&typec_pins>; + + typec_con: connector { + compatible = "usb-c-connector"; + label = "USB-C"; + data-role = "dual"; + port { + typec_ep: endpoint { + remote-endpoint = <&otg_ep>; + }; + }; + }; + }; + }; +...