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> + + 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