^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Fairchild FUSB301 Driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) - compatible: "fairchild,fusb302"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) - reg: I2C slave address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) - pinctrl-names: Musb be "default"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) - pinctrl-0: fusb1_int musb be set to pull up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - vbus-5v-gpios: enable/disable 5v vbus output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - vbus-other-gpios: enable/disable other high-voltage vbus output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - int-n-gpios: I2C int pin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - fusb302,role: typec port power role
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) (ROLE_MODE_DRP/ROLE_MODE_DFP/ROLE_MODE_UFP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - fusb302,try_role: enable try.role function, it would try your wanted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) role when detect.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Valid when fusb302,role == ROLE_MODE_DRP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) (ROLE_MODE_DFP/ROLE_MODE_UFP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) fusb1: fusb30x@22 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) compatible = "fairchild,fusb302";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) reg = <0x22>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) pinctrl-names = "default";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) pinctrl-0 = <&fusb1_int>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) vbus-5v-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) vbus-other-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) int-n-gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) fusb302,role = "ROLE_MODE_DRP";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) fusb302,try_role = "ROLE_MODE_DFP";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) status = "okay";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)