usb: phy: Dual role sysfs class definition
[firefly-linux-kernel-4.4.55.git] / Documentation / ABI / testing / sysfs-class-dual-role-usb
diff --git a/Documentation/ABI/testing/sysfs-class-dual-role-usb b/Documentation/ABI/testing/sysfs-class-dual-role-usb
new file mode 100644 (file)
index 0000000..a900fd7
--- /dev/null
@@ -0,0 +1,71 @@
+What:          /sys/class/dual_role_usb/.../
+Date:          June 2015
+Contact:       Badhri Jagan Sridharan<badhri@google.com>
+Description:
+               Provide a generic interface to monitor and change
+               the state of dual role usb ports. The name here
+               refers to the name mentioned in the
+               dual_role_phy_desc that is passed while registering
+               the dual_role_phy_intstance through
+               devm_dual_role_instance_register.
+
+What:           /sys/class/dual_role_usb/.../supported_modes
+Date:           June 2015
+Contact:        Badhri Jagan Sridharan<badhri@google.com>
+Description:
+               This is a static node, once initialized this
+               is not expected to change during runtime. "dfp"
+               refers to "downstream facing port" i.e. port can
+               only act as host. "ufp" refers to "upstream
+               facing port" i.e. port can only act as device.
+               "dfp ufp" refers to "dual role port" i.e. the port
+               can either be a host port or a device port.
+
+What:          /sys/class/dual_role_usb/.../mode
+Date:          June 2015
+Contact:       Badhri Jagan Sridharan<badhri@google.com>
+Description:
+               The mode node refers to the current mode in which the
+               port is operating. "dfp" for host ports. "ufp" for device
+               ports and "none" when cable is not connected.
+
+               On devices where the USB mode is software-controllable,
+               userspace can change the mode by writing "dfp" or "ufp".
+               On devices where the USB mode is fixed in hardware,
+               this attribute is read-only.
+
+What:          /sys/class/dual_role_usb/.../power_role
+Date:          June 2015
+Contact:       Badhri Jagan Sridharan<badhri@google.com>
+Description:
+               The power_role node mentions whether the port
+               is "sink"ing or "source"ing power. "none" if
+               they are not connected.
+
+               On devices implementing USB Power Delivery,
+               userspace can control the power role by writing "sink" or
+               "source". On devices without USB-PD, this attribute is
+               read-only.
+
+What:          /sys/class/dual_role_usb/.../data_role
+Date:          June 2015
+Contact:       Badhri Jagan Sridharan<badhri@google.com>
+Description:
+               The data_role node mentions whether the port
+               is acting as "host" or "device" for USB data connection.
+               "none" if there is no active data link.
+
+               On devices implementing USB Power Delivery, userspace
+               can control the data role by writing "host" or "device".
+               On devices without USB-PD, this attribute is read-only
+
+What:          /sys/class/dual_role_usb/.../powers_vconn
+Date:          June 2015
+Contact:       Badhri Jagan Sridharan<badhri@google.com>
+Description:
+               The powers_vconn node mentions whether the port
+               is supplying power for VCONN pin.
+
+               On devices with software control of VCONN,
+               userspace can disable the power supply to VCONN by writing "n",
+               or enable the power supply by writing "y".