On Tue, Mar 30, 2021 at 11:54:41PM +0300, cristian.birsan@xxxxxxxxxxxxx wrote: > From: Cristian Birsan <cristian.birsan@xxxxxxxxxxxxx> > > This patch adds DT bindings for the new Microchip USB Type-C Port > Controller (TCPC) embedded in sama7g5 SoC. > > Signed-off-by: Cristian Birsan <cristian.birsan@xxxxxxxxxxxxx> > --- > .../bindings/usb/microchip,sama7g5-tcpc.yaml | 90 +++++++++++++++++++ > 1 file changed, 90 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml > > diff --git a/Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml b/Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml > new file mode 100644 > index 000000000000..2d3289dd9ac9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml > @@ -0,0 +1,90 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/usb/microchip,sama7g5-tcpc.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Microchip SAMA7G5 Type-C port controller bindings > + > +maintainers: > + - Cristian Birsan <cristian.birsan@xxxxxxxxxxxxx> > + > +properties: > + compatible: > + enum: > + - microchip,sama7g5-tcpc > + > + reg: > + maxItems: 1 > + > + clocks: > + items: > + - description: Peripheral Bus Clock > + - description: Generic Clock > + > + clock-names: > + items: > + - const: pclk > + - const: gclk > + > + vbus-supply: > + description: vbus power supply (5V) phandle This belongs in the connector node unless this chip uses Vbus as a supply. > + > + microchip,vbus-gpio: > + description: vbus detect gpio We have standard property for this in the connector node. > + > + connector: > + type: object > + > + allOf: > + - $ref: ../connector/usb-connector.yaml You can drop 'allOf'. And add: unevaluatedProperties: false > + > + properties: > + compatible: > + const: usb-c-connector > + > + power-role: true > + > + required: > + - compatible > + > +required: > + - compatible > + - reg > + - connector > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/at91.h> > + #include <dt-bindings/usb/pd.h> > + tcpcb: tcpcb@e0844000 { > + compatible = "microchip,sama7g5-tcpc"; > + reg = <0xe0844000 0x3fff>; > + clocks = <&pmc PMC_TYPE_PERIPHERAL 95>, <&pmc PMC_TYPE_GCK 95>; > + clock-names = "pclk", "gclk"; > + > + usb_con: connector { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "usb-c-connector"; > + label = "USB-C"; > + data-role = "device"; > + power-role = "sink"; > + try-power-role = "sink"; > + source-pdos = <PDO_FIXED(5000, 500, > + PDO_FIXED_USB_COMM)>; > + sink-pdos = <PDO_FIXED(5000, 500, > + PDO_FIXED_USB_COMM)>; > + op-sink-microwatt = <2500000>; > + > + port@1 { > + reg = <1>; > + usb_con_hs: endpoint { > + remote-endpoint = <&usb_phy1>; > + }; > + }; > + }; > + }; > +... > -- > 2.25.1 >