Lines Matching refs:otg_dev
40 static void omap_otg_ctrl(struct otg_device *otg_dev, u32 outputs)
44 l = readl(otg_dev->base + OMAP_OTG_CTRL);
47 writel(l, otg_dev->base + OMAP_OTG_CTRL);
50 static void omap_otg_set_mode(struct otg_device *otg_dev)
52 if (!otg_dev->id && otg_dev->vbus)
54 omap_otg_ctrl(otg_dev, OMAP_OTG_ID | OMAP_OTG_BSESSVLD);
55 else if (otg_dev->vbus)
57 omap_otg_ctrl(otg_dev, OMAP_OTG_ASESSVLD);
58 else if (!otg_dev->id)
60 omap_otg_ctrl(otg_dev, OMAP_OTG_ID | OMAP_OTG_BSESSEND);
66 struct otg_device *otg_dev = container_of(nb, struct otg_device, id_nb);
68 otg_dev->id = event;
69 omap_otg_set_mode(otg_dev);
77 struct otg_device *otg_dev = container_of(nb, struct otg_device,
80 otg_dev->vbus = event;
81 omap_otg_set_mode(otg_dev);
89 struct otg_device *otg_dev;
101 otg_dev = devm_kzalloc(&pdev->dev, sizeof(*otg_dev), GFP_KERNEL);
102 if (!otg_dev)
105 otg_dev->base = devm_ioremap_resource(&pdev->dev, &pdev->resource[0]);
106 if (IS_ERR(otg_dev->base))
107 return PTR_ERR(otg_dev->base);
109 otg_dev->extcon = extcon;
110 otg_dev->id_nb.notifier_call = omap_otg_id_notifier;
111 otg_dev->vbus_nb.notifier_call = omap_otg_vbus_notifier;
114 EXTCON_USB_HOST, &otg_dev->id_nb);
119 EXTCON_USB, &otg_dev->vbus_nb);
124 otg_dev->id = extcon_get_state(extcon, EXTCON_USB_HOST);
125 otg_dev->vbus = extcon_get_state(extcon, EXTCON_USB);
126 omap_otg_set_mode(otg_dev);
128 rev = readl(otg_dev->base);
132 (rev >> 4) & 0xf, rev & 0xf, config->extcon, otg_dev->id,
133 otg_dev->vbus);
135 platform_set_drvdata(pdev, otg_dev);