Home
last modified time | relevance | path

Searched full:tcpci (Results 1 – 25 of 27) sorted by relevance

12

/kernel/linux/linux-6.6/drivers/usb/typec/tcpm/
Dtcpci.c16 #include <linux/usb/tcpci.h>
31 struct tcpci { struct
46 struct tcpci *tcpci; argument
50 struct tcpm_port *tcpci_get_tcpm_port(struct tcpci *tcpci) in tcpci_get_tcpm_port() argument
52 return tcpci->port; in tcpci_get_tcpm_port()
56 static inline struct tcpci *tcpc_to_tcpci(struct tcpc_dev *tcpc) in tcpc_to_tcpci()
58 return container_of(tcpc, struct tcpci, tcpc); in tcpc_to_tcpci()
61 static int tcpci_read16(struct tcpci *tcpci, unsigned int reg, u16 *val) in tcpci_read16() argument
63 return regmap_raw_read(tcpci->regmap, reg, val, sizeof(u16)); in tcpci_read16()
66 static int tcpci_write16(struct tcpci *tcpci, unsigned int reg, u16 val) in tcpci_write16() argument
[all …]
Dtcpci_mt6370.c18 #include <linux/usb/tcpci.h>
31 struct tcpci *tcpci; member
51 static int mt6370_tcpc_init(struct tcpci *tcpci, struct tcpci_data *data) in mt6370_tcpc_init() argument
71 static int mt6370_tcpc_set_vconn(struct tcpci *tcpci, struct tcpci_data *data, in mt6370_tcpc_set_vconn() argument
79 static int mt6370_tcpc_set_vbus(struct tcpci *tcpci, struct tcpci_data *data, in mt6370_tcpc_set_vbus() argument
103 return tcpci_irq(priv->tcpci); in mt6370_irq_handler()
123 static void mt6370_unregister_tcpci_port(void *tcpci) in mt6370_unregister_tcpci_port() argument
125 tcpci_unregister_port(tcpci); in mt6370_unregister_tcpci_port()
152 /* Assign TCPCI feature and ops */ in mt6370_tcpc_probe()
161 priv->tcpci = tcpci_register_port(dev, &priv->tcpci_data); in mt6370_tcpc_probe()
[all …]
Dtcpci_maxim_core.c5 * MAXIM TCPCI based TCPC driver
14 #include <linux/usb/tcpci.h>
185 static int max_tcpci_set_vbus(struct tcpci *tcpci, struct tcpci_data *tdata, bool source, bool sink) in max_tcpci_set_vbus() argument
230 static void max_tcpci_frs_sourcing_vbus(struct tcpci *tcpci, struct tcpci_data *tdata) in max_tcpci_frs_sourcing_vbus() argument
237 max_tcpci_set_vbus(tcpci, tdata, true, false); in max_tcpci_frs_sourcing_vbus()
255 static void max_tcpci_set_partner_usb_comm_capable(struct tcpci *tcpci, struct tcpci_data *data, in max_tcpci_set_partner_usb_comm_capable() argument
403 static int max_tcpci_start_toggling(struct tcpci *tcpci, struct tcpci_data *tdata, in max_tcpci_start_toggling() argument
413 static int tcpci_init(struct tcpci *tcpci, struct tcpci_data *data) in tcpci_init() argument
416 * Generic TCPCI overwrites the regs once this driver initializes in tcpci_init()
422 static void max_tcpci_check_contaminant(struct tcpci *tcpci, struct tcpci_data *tdata) in max_tcpci_check_contaminant() argument
[all …]
Dtcpci_mt6360.c14 #include <linux/usb/tcpci.h>
41 struct tcpci *tcpci; member
52 static int mt6360_tcpc_init(struct tcpci *tcpci, struct tcpci_data *tdata) in mt6360_tcpc_init() argument
136 return tcpci_irq(mti->tcpci); in mt6360_irq()
161 mti->tcpci = tcpci_register_port(&pdev->dev, &mti->tdata); in mt6360_tcpc_probe()
162 if (IS_ERR(mti->tcpci)) { in mt6360_tcpc_probe()
163 dev_err(&pdev->dev, "Failed to register tcpci port\n"); in mt6360_tcpc_probe()
164 return PTR_ERR(mti->tcpci); in mt6360_tcpc_probe()
171 tcpci_unregister_port(mti->tcpci); in mt6360_tcpc_probe()
186 tcpci_unregister_port(mti->tcpci); in mt6360_tcpc_remove()
Dtcpci_rt1711h.c14 #include <linux/usb/tcpci.h>
56 struct tcpci *tcpci; member
95 static int rt1711h_init(struct tcpci *tcpci, struct tcpci_data *tdata) in rt1711h_init() argument
146 static int rt1711h_set_vbus(struct tcpci *tcpci, struct tcpci_data *tdata, in rt1711h_set_vbus() argument
165 static int rt1711h_set_vconn(struct tcpci *tcpci, struct tcpci_data *tdata, in rt1711h_set_vconn() argument
221 static int rt1711h_start_drp_toggling(struct tcpci *tcpci, in rt1711h_start_drp_toggling() argument
267 if (!chip->tcpci) in rt1711h_irq()
286 return tcpci_irq(chip->tcpci); in rt1711h_irq()
377 chip->tcpci = tcpci_register_port(chip->dev, &chip->data); in rt1711h_probe()
378 if (IS_ERR_OR_NULL(chip->tcpci)) in rt1711h_probe()
[all …]
DKconfig19 Type-C Port Controller driver for TCPCI-compliant controller.
50 tristate "Maxim TCPCI based Type-C chip driver"
52 MAXIM TCPCI based Type-C/PD chip driver. Works with
Dtcpci_maxim.h60 struct tcpci *tcpci; member
DMakefile6 obj-$(CONFIG_TYPEC_TCPCI) += tcpci.o
Dmaxim_contaminant.c12 #include <linux/usb/tcpci.h>
/kernel/linux/linux-5.10/drivers/usb/typec/tcpm/
Dtcpci.c19 #include "tcpci.h"
32 struct tcpci { struct
46 struct tcpci *tcpci; argument
50 struct tcpm_port *tcpci_get_tcpm_port(struct tcpci *tcpci) in tcpci_get_tcpm_port() argument
52 return tcpci->port; in tcpci_get_tcpm_port()
56 static inline struct tcpci *tcpc_to_tcpci(struct tcpc_dev *tcpc) in tcpc_to_tcpci()
58 return container_of(tcpc, struct tcpci, tcpc); in tcpc_to_tcpci()
61 static int tcpci_read16(struct tcpci *tcpci, unsigned int reg, u16 *val) in tcpci_read16() argument
63 return regmap_raw_read(tcpci->regmap, reg, val, sizeof(u16)); in tcpci_read16()
66 static int tcpci_write16(struct tcpci *tcpci, unsigned int reg, u16 val) in tcpci_write16() argument
[all …]
Dtcpci.h148 struct tcpci;
152 int (*init)(struct tcpci *tcpci, struct tcpci_data *data);
153 int (*set_vconn)(struct tcpci *tcpci, struct tcpci_data *data,
155 int (*start_drp_toggling)(struct tcpci *tcpci, struct tcpci_data *data,
157 int (*set_vbus)(struct tcpci *tcpci, struct tcpci_data *data, bool source, bool sink);
160 struct tcpci *tcpci_register_port(struct device *dev, struct tcpci_data *data);
161 void tcpci_unregister_port(struct tcpci *tcpci);
162 irqreturn_t tcpci_irq(struct tcpci *tcpci);
165 struct tcpm_port *tcpci_get_tcpm_port(struct tcpci *tcpci);
Dtcpci_maxim.c5 * MAXIM TCPCI based TCPC driver
20 #include "tcpci.h"
45 struct tcpci *tcpci; member
204 static int max_tcpci_set_vbus(struct tcpci *tcpci, struct tcpci_data *tdata, bool source, bool sink) in max_tcpci_set_vbus() argument
254 max_tcpci_set_vbus(chip->tcpci, &chip->data, true, false); in process_power_status()
396 static int max_tcpci_start_toggling(struct tcpci *tcpci, struct tcpci_data *tdata, in max_tcpci_start_toggling() argument
406 static int tcpci_init(struct tcpci *tcpci, struct tcpci_data *data) in tcpci_init() argument
409 * Generic TCPCI overwrites the regs once this driver initializes in tcpci_init()
439 /* Chip level tcpci callbacks */ in max_tcpci_probe()
446 chip->tcpci = tcpci_register_port(chip->dev, &chip->data); in max_tcpci_probe()
[all …]
Dtcpci_rt1711h.c15 #include "tcpci.h"
40 struct tcpci *tcpci; member
76 static int rt1711h_init(struct tcpci *tcpci, struct tcpci_data *tdata) in rt1711h_init() argument
107 static int rt1711h_set_vconn(struct tcpci *tcpci, struct tcpci_data *tdata, in rt1711h_set_vconn() argument
116 static int rt1711h_start_drp_toggling(struct tcpci *tcpci, in rt1711h_start_drp_toggling() argument
162 if (!chip->tcpci) in rt1711h_irq()
179 return tcpci_irq(chip->tcpci); in rt1711h_irq()
251 chip->tcpci = tcpci_register_port(chip->dev, &chip->data); in rt1711h_probe()
252 if (IS_ERR_OR_NULL(chip->tcpci)) in rt1711h_probe()
253 return PTR_ERR(chip->tcpci); in rt1711h_probe()
[all …]
Dtcpci_mt6360.c16 #include "tcpci.h"
42 struct tcpci *tcpci; member
59 static int mt6360_tcpc_init(struct tcpci *tcpci, struct tcpci_data *tdata) in mt6360_tcpc_init() argument
143 return tcpci_irq(mti->tcpci); in mt6360_irq()
168 mti->tcpci = tcpci_register_port(&pdev->dev, &mti->tdata); in mt6360_tcpc_probe()
169 if (IS_ERR(mti->tcpci)) { in mt6360_tcpc_probe()
170 dev_err(&pdev->dev, "Failed to register tcpci port\n"); in mt6360_tcpc_probe()
171 return PTR_ERR(mti->tcpci); in mt6360_tcpc_probe()
178 tcpci_unregister_port(mti->tcpci); in mt6360_tcpc_probe()
193 tcpci_unregister_port(mti->tcpci); in mt6360_tcpc_remove()
DKconfig19 Type-C Port Controller driver for TCPCI-compliant controller.
39 tristate "Maxim TCPCI based Type-C chip driver"
41 MAXIM TCPCI based Type-C/PD chip driver. Works with
DMakefile6 obj-$(CONFIG_TYPEC_TCPCI) += tcpci.o
/kernel/linux/linux-6.6/include/linux/usb/
Dtcpci.h176 struct tcpci;
205 int (*init)(struct tcpci *tcpci, struct tcpci_data *data);
206 int (*set_vconn)(struct tcpci *tcpci, struct tcpci_data *data,
208 int (*start_drp_toggling)(struct tcpci *tcpci, struct tcpci_data *data,
210 int (*set_vbus)(struct tcpci *tcpci, struct tcpci_data *data, bool source, bool sink);
211 void (*frs_sourcing_vbus)(struct tcpci *tcpci, struct tcpci_data *data);
212 void (*set_partner_usb_comm_capable)(struct tcpci *tcpci, struct tcpci_data *data,
214 void (*check_contaminant)(struct tcpci *tcpci, struct tcpci_data *data);
217 struct tcpci *tcpci_register_port(struct device *dev, struct tcpci_data *data);
218 void tcpci_unregister_port(struct tcpci *tcpci);
[all …]
Dtcpm.h69 * @apply_rc: Optional; Needed to move TCPCI based chipset to APPLY_RC state
70 * as stated by the TCPCI specification.
96 * Optional; TCPCI spec based TCPC implementations can optionally
108 * Optional; TCPCI spec based TCPC implementations are expected to
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/usb/
Dtypec-tcpci.txt1 TCPCI(Typec port cotroller interface) binding
11 - interrupts: interrupt specification for tcpci alert.
14 - connector: The "usb-c-connector" attached to the tcpci chip, the bindings
Drichtek,rt1711h.txt10 - connector: The "usb-c-connector" attached to the tcpci chip, the bindings
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/usb/
Dmaxim,max33359.yaml7 title: Maxim TCPCI Type-C PD controller
12 description: Maxim TCPCI Type-C PD controller
Drichtek,rt1711h.txt10 - connector: The "usb-c-connector" attached to the tcpci chip, the bindings
Dnxp,ptn5110.yaml43 tcpci@50 {
/kernel/linux/patches/linux-5.10/imx8mm_patch/patches/drivers/
D0034_linux_drivers_usb_vfio_wdt_tty_uio.patch7139 diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c
7141 --- a/drivers/usb/typec/tcpm/tcpci.c
7142 +++ b/drivers/usb/typec/tcpm/tcpci.c
7152 struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
7159 if (tcpci->data->start_drp_toggling) {
7160 ret = tcpci->data->start_drp_toggling(tcpci, tcpci->data, cc);
7167 + struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
7172 + regmap_write(tcpci->regmap,
7175 + regmap_write(tcpci->regmap,
7178 + regmap_read(tcpci->regmap, TCPC_POWER_CTRL, &reg);
[all …]
/kernel/linux/patches/linux-5.10/yangfan_patch/
Dinclude.patch3277 + * @apply_rc: Optional; Needed to move TCPCI based chipset to APPLY_RC state
3278 + * as stated by the TCPCI specification.
3290 + * Optional; TCPCI spec based TCPC implementations can optionally
3302 + * Optional; TCPCI spec based TCPC implementations are expected to

12