On Thu, Aug 15, 2024 at 04:32:44PM -0400, Frank Li wrote: > Add child node 'port' to allow connect to usb controller to do role-switch. > Add example for id pin of ptn5150 have not connect to main chip's usb id > pin. > > Fix below warning: > arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dtb: typec@3d: 'port' does not match any of the regexes: 'pinctrl-[0-9]+' > from schema $id: http://devicetree.org/schemas/extcon/extcon-ptn5150.yaml > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> > --- > Change from v1 to v2 > - add example for id pin have not connect to main chip's id example. > - commit 095b96b2b fix "port" warning, but add new warning "connector" is > not exist. And follow commit revert this change. > 690085d866f08 Revert "arm64: dts: imx8mn-var-som-symphony: Describe the USB-C connector > - I have not board in hand to debug why "connector" is not work. > --- > .../bindings/extcon/extcon-ptn5150.yaml | 46 +++++++++++++++++++ > 1 file changed, 46 insertions(+) > > diff --git a/Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml b/Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml > index d5cfa32ea52dd..39231f9952826 100644 > --- a/Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml > +++ b/Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml > @@ -37,6 +37,11 @@ properties: > GPIO pin (output) used to control VBUS. If skipped, no such control > takes place. > > + port: > + $ref: /schemas/graph.yaml#/properties/port > + description: > + A port node to link the usb controller for the dual role switch. > + > required: > - compatible > - interrupts > @@ -60,3 +65,44 @@ examples: > vbus-gpios = <&msmgpio 148 GPIO_ACTIVE_HIGH>; > }; > }; > + > + - | > + /* id pin of ptn5150 have not connected to chip's id pin */ > + #include <dt-bindings/clock/imx8mn-clock.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/gpio/gpio.h> Just add 'port' to the existing example if you want to. Don't need a whole other example just for that. > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ptn5150@1d { > + compatible = "nxp,ptn5150"; > + reg = <0x1d>; > + interrupt-parent = <&msmgpio>; > + interrupts = <78 IRQ_TYPE_LEVEL_HIGH>; > + vbus-gpios = <&msmgpio 148 GPIO_ACTIVE_HIGH>; > + > + port { > + typec1_dr_sw: endpoint { > + remote-endpoint = <&usb1_drd_sw>; > + }; > + }; > + }; > + }; > + > + usb@32e40000 { > + compatible = "fsl,imx8mn-usb", "fsl,imx7d-usb", "fsl,imx27-usb"; > + reg = <0x32e40000 0x200>; > + interrupts = <&gic GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&clk IMX8MN_CLK_USB1_CTRL_ROOT>; > + usb-role-switch; > + > + port { > + usb1_drd_sw: endpoint { > + remote-endpoint = <&typec1_dr_sw>; > + }; > + }; > + }; > + > -- > 2.34.1 >