Symbol: pmic_typec_port
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.h
14
struct pmic_typec_port *pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
164
struct pmic_typec_port *pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
224
struct pmic_typec_port *pmic_typec_port =
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
225
container_of(work, struct pmic_typec_port, cc_debounce_dwork.work);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
228
spin_lock_irqsave(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
229
pmic_typec_port->debouncing_cc = false;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
230
spin_unlock_irqrestore(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
232
dev_dbg(pmic_typec_port->dev, "Debounce cc complete\n");
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
238
struct pmic_typec_port *pmic_typec_port = irq_data->pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
245
spin_lock_irqsave(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
247
ret = regmap_read(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
248
pmic_typec_port->base + TYPEC_MISC_STATUS_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
259
if (!pmic_typec_port->debouncing_cc)
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
265
spin_unlock_irqrestore(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
268
tcpm_vbus_change(pmic_typec_port->tcpm_port);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
271
tcpm_cc_change(pmic_typec_port->tcpm_port);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
276
static int qcom_pmic_typec_port_vbus_detect(struct pmic_typec_port *pmic_typec_port)
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
278
struct device *dev = pmic_typec_port->dev;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
282
ret = regmap_read(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
283
pmic_typec_port->base + TYPEC_MISC_STATUS_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
293
static int qcom_pmic_typec_port_vbus_toggle(struct pmic_typec_port *pmic_typec_port, bool on)
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
300
ret = regulator_enable(pmic_typec_port->vdd_vbus);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
306
ret = regulator_disable(pmic_typec_port->vdd_vbus);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
314
ret = regmap_read_poll_timeout(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
315
pmic_typec_port->base + TYPEC_SM_STATUS_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
319
dev_warn(pmic_typec_port->dev, "vbus vsafe%dv fail\n", on ? 5 : 0);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
327
struct pmic_typec_port *pmic_typec_port = tcpm->pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
330
mutex_lock(&pmic_typec_port->vbus_lock);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
331
ret = pmic_typec_port->vbus_enabled || qcom_pmic_typec_port_vbus_detect(pmic_typec_port);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
332
mutex_unlock(&pmic_typec_port->vbus_lock);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
340
struct pmic_typec_port *pmic_typec_port = tcpm->pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
343
mutex_lock(&pmic_typec_port->vbus_lock);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
344
if (pmic_typec_port->vbus_enabled == on)
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
347
ret = qcom_pmic_typec_port_vbus_toggle(pmic_typec_port, on);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
351
pmic_typec_port->vbus_enabled = on;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
356
mutex_unlock(&pmic_typec_port->vbus_lock);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
366
struct pmic_typec_port *pmic_typec_port = tcpm->pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
367
struct device *dev = pmic_typec_port->dev;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
372
ret = regmap_read(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
373
pmic_typec_port->base + TYPEC_MISC_STATUS_REG, &misc);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
379
if (pmic_typec_port->debouncing_cc) {
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
391
ret = regmap_read(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
392
pmic_typec_port->base + TYPEC_SRC_STATUS_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
416
ret = regmap_read(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
417
pmic_typec_port->base + TYPEC_SNK_STATUS_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
451
static void qcom_pmic_set_cc_debounce(struct pmic_typec_port *pmic_typec_port)
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
453
pmic_typec_port->debouncing_cc = true;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
454
schedule_delayed_work(&pmic_typec_port->cc_debounce_dwork,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
462
struct pmic_typec_port *pmic_typec_port = tcpm->pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
463
struct device *dev = pmic_typec_port->dev;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
469
spin_lock_irqsave(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
471
ret = regmap_read(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
472
pmic_typec_port->base + TYPEC_MISC_STATUS_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
503
ret = regmap_write(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
504
pmic_typec_port->base + TYPEC_CURRSRC_CFG_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
510
pmic_typec_port->cc = cc;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
511
qcom_pmic_set_cc_debounce(pmic_typec_port);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
515
spin_unlock_irqrestore(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
520
pmic_typec_port->debouncing_cc, !!(misc & CC_ATTACHED),
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
536
struct pmic_typec_port *pmic_typec_port = tcpm->pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
537
struct device *dev = pmic_typec_port->dev;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
542
spin_lock_irqsave(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
544
ret = regmap_read(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
545
pmic_typec_port->base + TYPEC_MISC_STATUS_REG, &misc);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
559
ret = regmap_update_bits(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
560
pmic_typec_port->base + TYPEC_VCONN_CONTROL_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
563
spin_unlock_irqrestore(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
577
struct pmic_typec_port *pmic_typec_port = tcpm->pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
578
struct device *dev = pmic_typec_port->dev;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
596
spin_lock_irqsave(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
598
ret = regmap_read(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
599
pmic_typec_port->base + TYPEC_MISC_STATUS_REG, &misc);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
604
misc, !!(misc & CC_ATTACHED), port_type, pmic_typec_port->cc, cc);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
606
qcom_pmic_set_cc_debounce(pmic_typec_port);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
609
ret = regmap_write(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
610
pmic_typec_port->base + TYPEC_MODE_CFG_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
615
ret = regmap_write(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
616
pmic_typec_port->base + TYPEC_MODE_CFG_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
619
spin_unlock_irqrestore(&pmic_typec_port->lock, flags);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
641
struct pmic_typec_port *pmic_typec_port = tcpm->pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
647
ret = regmap_write(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
648
pmic_typec_port->base + TYPEC_INTERRUPT_EN_CFG_1_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
653
ret = regmap_write(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
654
pmic_typec_port->base + TYPEC_INTERRUPT_EN_CFG_2_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
660
ret = regmap_write(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
661
pmic_typec_port->base + TYPEC_MODE_CFG_REG, EN_TRY_SNK);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
666
ret = regmap_update_bits(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
667
pmic_typec_port->base + TYPEC_VCONN_CONTROL_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
674
ret = regmap_update_bits(pmic_typec_port->regmap,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
675
pmic_typec_port->base + TYPEC_EXIT_STATE_CFG_REG,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
680
pmic_typec_port->tcpm_port = tcpm_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
682
for (i = 0; i < pmic_typec_port->nr_irqs; i++)
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
683
enable_irq(pmic_typec_port->irq_data[i].irq);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
691
struct pmic_typec_port *pmic_typec_port = tcpm->pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
694
for (i = 0; i < pmic_typec_port->nr_irqs; i++)
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
695
disable_irq(pmic_typec_port->irq_data[i].irq);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
706
struct pmic_typec_port *pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
710
pmic_typec_port = devm_kzalloc(dev, sizeof(*pmic_typec_port), GFP_KERNEL);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
711
if (!pmic_typec_port)
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
722
mutex_init(&pmic_typec_port->vbus_lock);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
728
pmic_typec_port->vdd_vbus = devm_of_regulator_get_optional(dev,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
731
if (pmic_typec_port->vdd_vbus == ERR_PTR(-ENODEV))
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
732
pmic_typec_port->vdd_vbus = devm_regulator_get(dev, "vdd-vbus");
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
733
if (IS_ERR(pmic_typec_port->vdd_vbus))
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
734
return PTR_ERR(pmic_typec_port->vdd_vbus);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
736
pmic_typec_port->dev = dev;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
737
pmic_typec_port->base = base;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
738
pmic_typec_port->regmap = regmap;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
739
pmic_typec_port->nr_irqs = res->nr_irqs;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
740
pmic_typec_port->irq_data = irq_data;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
741
spin_lock_init(&pmic_typec_port->lock);
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
742
INIT_DELAYED_WORK(&pmic_typec_port->cc_debounce_dwork,
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
755
irq_data->pmic_typec_port = pmic_typec_port;
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
766
tcpm->pmic_typec_port = pmic_typec_port;