usb: typec: tcpm: Parse Accessory Mode information

Some of the boards supported by the TCPM drivers can support USB-C
Accessory Modes (Analog Audio, Debug). Parse information about supported
modes from the device tree.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20231215173005.313422-3-dmitry.baryshkov@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Dmitry Baryshkov 2023-12-15 19:30:05 +02:00 committed by Greg Kroah-Hartman
parent 76cd718a9f
commit e9158c7e55

View file

@ -6144,6 +6144,7 @@ static int tcpm_fw_get_caps(struct tcpm_port *port,
{ {
const char *opmode_str; const char *opmode_str;
int ret; int ret;
int mode;
u32 mw, frs_current; u32 mw, frs_current;
if (!fwnode) if (!fwnode)
@ -6162,6 +6163,14 @@ static int tcpm_fw_get_caps(struct tcpm_port *port,
if (ret < 0) if (ret < 0)
return ret; return ret;
mode = 0;
if (fwnode_property_read_bool(fwnode, "accessory-mode-audio"))
port->typec_caps.accessory[mode++] = TYPEC_ACCESSORY_AUDIO;
if (fwnode_property_read_bool(fwnode, "accessory-mode-debug"))
port->typec_caps.accessory[mode++] = TYPEC_ACCESSORY_DEBUG;
port->port_type = port->typec_caps.type; port->port_type = port->typec_caps.type;
port->pd_supported = !fwnode_property_read_bool(fwnode, "pd-disable"); port->pd_supported = !fwnode_property_read_bool(fwnode, "pd-disable");