We have been using imx8qxp processors which has support for USB Power delivery.
In imx8x-mek.dtsi , I can see that there is a node for ptn5110 device. We would want the device to be able to provide 5V, 12V and 15V with 3A current.
I have changed the source pdos to the values that I have mentioned above in this way, is this a correct implementation? How does the voltage switching in kernel happen? Do I have to write down some properties for the vbus-supply to switch the voltage?
ptn5110@50 {
compatible = "nxp,ptn5110";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_typec>;
reg = <0x50>;
interrupt-parent = <&lsio_gpio1>;
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
status = "okay";
usb_con: connector {
compatible = "usb-c-connector";
label = "USB-C";
data-role = "dual";
power-role = "source";
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
PDO_FIXED(12000, 3000, PDO_FIXED_USB_COMM)
PDO_FIXED(15000, 3000, PDO_FIXED_USB_COMM)>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
usb_con_ss: endpoint {
remote-endpoint = <&usb3_data_ss>;
};
};
};
};
};