Message ID | 20210330205442.981649-2-cristian.birsan@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | usb: typec: Add driver for Microchip sama7g5 tcpc | expand |
On Tue, Mar 30, 2021 at 11:54:41PM +0300, cristian.birsan@microchip.com wrote: > From: Cristian Birsan <cristian.birsan@microchip.com> > > 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@microchip.com> > --- > .../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@microchip.com> > + > +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 >
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@microchip.com> + +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 + + microchip,vbus-gpio: + description: vbus detect gpio + + connector: + type: object + + allOf: + - $ref: ../connector/usb-connector.yaml + + 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>; + }; + }; + }; + }; +...