TYPEC_SOURCE
typec_set_pwr_role(type_c->port, TYPEC_SOURCE);
pwr_role = TYPEC_SOURCE;
pwr_role = TYPEC_SOURCE;
caps_desc.role = TYPEC_SOURCE;
role = resp.role & PD_CTRL_RESP_ROLE_POWER ? TYPEC_SOURCE : TYPEC_SINK;
typec_set_pwr_role(port, resp->role ? TYPEC_SOURCE : TYPEC_SINK);
TYPEC_SOURCE : TYPEC_SINK);
TYPEC_SOURCE : TYPEC_SINK);
role = (resp.role & PD_CTRL_RESP_ROLE_POWER) ? TYPEC_SOURCE :
ctx->typec.vconn_role = (ret & VCONN_STATUS) ? TYPEC_SOURCE : TYPEC_SINK;
ctx->typec.power_role = (ret & SINK_STATUS) ? TYPEC_SINK : TYPEC_SOURCE;
if (ctx->typec.power_role == TYPEC_SOURCE) {
ret = (int_status & SINK_STATUS) ? TYPEC_SINK : TYPEC_SOURCE;
[TYPEC_SOURCE] = "source",
return sprintf(buf, "%s\n", port->pwr_role == TYPEC_SOURCE ?
str_yes_no(port->vconn_role == TYPEC_SOURCE));
port->pwr_role = TYPEC_SOURCE;
port->vconn_role = TYPEC_SOURCE;
if (cap->prefer_role == TYPEC_SOURCE)
case TYPEC_SOURCE:
[TYPEC_SOURCE] = "source-capabilities",
return TYPEC_SOURCE;
if ((STUSB160X_CC_POWER_ROLE(status) == TYPEC_SOURCE) &&
[TYPEC_SOURCE] = "Source",
if (pwr == TYPEC_SOURCE)
(power_role == TYPEC_SOURCE ? MSG_CONFIG_PORT_POWER_ROLE : 0));
if (role == TYPEC_SOURCE)
port->vconn_role = enable ? TYPEC_SOURCE : TYPEC_SINK;
if (role == TYPEC_SOURCE)
pdo = tcpm_forge_legacy_pdo(port, port->src_pdo[i], TYPEC_SOURCE);
if (port->pwr_role == TYPEC_SOURCE) {
if (port->vconn_role != TYPEC_SOURCE)
return port->pwr_role == TYPEC_SOURCE;
if (port->vconn_role == TYPEC_SOURCE)
port->pwr_role == TYPEC_SOURCE &&
if (port->pwr_role == TYPEC_SOURCE)
if (port->pwr_role == TYPEC_SOURCE) {
tcpm_set_state(port, port->pwr_role == TYPEC_SOURCE ?
tcpm_set_state(port, port->pwr_role == TYPEC_SOURCE ?
caps.role = TYPEC_SOURCE;
if (port->pwr_role == TYPEC_SOURCE) {
if (port->pwr_role != TYPEC_SOURCE || cnt != 1) {
tcpm_pd_handle_state(port, port->pwr_role == TYPEC_SOURCE ?
port->pwr_role == TYPEC_SOURCE ?
port->pwr_role == TYPEC_SOURCE ?
if (port->pwr_role == TYPEC_SOURCE) {
port->pwr_role == TYPEC_SOURCE ?
tcpm_pd_handle_state(port, port->pwr_role == TYPEC_SOURCE ?
} else if (port->pwr_role == TYPEC_SOURCE) {
port->vconn_role == TYPEC_SOURCE ? "source" : "sink",
port->vconn_role == TYPEC_SOURCE ? "source" : "sink",
ret = tcpm_set_roles(port, true, TYPEC_STATE_USB, TYPEC_SOURCE,
role = tcpm_port_is_sink(port) ? TYPEC_SINK : TYPEC_SOURCE;
if (port->pwr_role == TYPEC_SOURCE)
if (port->pwr_role == TYPEC_SOURCE)
if (port->pwr_role == TYPEC_SOURCE)
tcpm_set_roles(port, port->self_powered, TYPEC_STATE_USB, TYPEC_SOURCE,
if (port->pwr_role == TYPEC_SOURCE) {
tcpm_set_pwr_role(port, TYPEC_SOURCE);
if (port->pwr_role == TYPEC_SOURCE)
tcpm_set_pwr_role(port, TYPEC_SOURCE);
if (port->vconn_role == TYPEC_SOURCE)
if (port->pwr_role == TYPEC_SOURCE)
if (port->pwr_role == TYPEC_SOURCE)
tcpm_set_state(port, port->pwr_role == TYPEC_SOURCE ?
tcpm_set_state(port, port->pwr_role == TYPEC_SOURCE ? SRC_READY : SNK_READY, 0);
((port)->try_src_count == 0 && (port)->try_role == TYPEC_SOURCE && \
else if (port->try_role == TYPEC_SOURCE)
if (!(port->pwr_role == TYPEC_SOURCE &&
port->pd_list[i]->source_desc.role = TYPEC_SOURCE;
if (port->pd_capable && port->pwr_role == TYPEC_SOURCE) {
} else if (port->pwr_role == TYPEC_SOURCE) {
ret = ucsi_get_pdos(con, TYPEC_SOURCE, 1, con->src_pdos);
pd_cap = ucsi_get_pd_caps(con, TYPEC_SOURCE, false);
cap = ucsi_get_pd_caps(con, TYPEC_SOURCE, true);
#define UCSI_SET_PDR_ROLE(_r_) (((_r_) == TYPEC_SOURCE ? 1 : 2) << 23)
return TYPEC_SOURCE;
if (wusb3801->cap.prefer_role == TYPEC_SOURCE)
return TYPEC_SOURCE;
case TYPEC_SOURCE:
pwr_role = TYPEC_SOURCE;
data_role = pwr_role == TYPEC_SOURCE ? TYPEC_HOST : TYPEC_DEVICE;
((pwr) == TYPEC_SOURCE ? PD_HEADER_PWR_ROLE : 0) | \
return role == TYPEC_SOURCE;