Lines Matching full:hcd

25 #include "isp1760-hcd.h"
31 struct isp1760_hcd *hcd = &isp->hcd; in isp1760_init_core() local
46 isp1760_field_set(hcd->fields, SW_RESET_RESET_ALL); in isp1760_init_core()
50 if ((isp->devflags & ISP1760_FLAG_ANALOG_OC) && hcd->is_isp1763) { in isp1760_init_core()
56 isp1760_field_clear(hcd->fields, HW_DATA_BUS_WIDTH); in isp1760_init_core()
58 isp1760_field_set(hcd->fields, HW_DATA_BUS_WIDTH); in isp1760_init_core()
60 isp1760_field_set(hcd->fields, HW_ANA_DIGI_OC); in isp1760_init_core()
62 isp1760_field_set(hcd->fields, HW_DACK_POL_HIGH); in isp1760_init_core()
64 isp1760_field_set(hcd->fields, HW_DREQ_POL_HIGH); in isp1760_init_core()
66 isp1760_field_set(hcd->fields, HW_INTR_HIGH_ACT); in isp1760_init_core()
68 isp1760_field_set(hcd->fields, HW_INTR_EDGE_TRIG); in isp1760_init_core()
74 * spurious interrupts during HCD registration. in isp1760_init_core()
78 isp1760_field_set(hcd->fields, HW_COMN_IRQ); in isp1760_init_core()
97 isp1760_reg_write(hcd->regs, ISP176x_HC_OTG_CTRL, otg_ctrl); in isp1760_init_core()
101 hcd->is_isp1763 ? "isp1763" : "isp1760", in isp1760_init_core()
104 hcd->is_isp1763 ? "not available" : in isp1760_init_core()
489 struct isp1760_hcd *hcd; in isp1760_register() local
497 * If neither the HCD not the UDC is enabled return an error, as no in isp1760_register()
513 hcd = &isp->hcd; in isp1760_register()
516 hcd->is_isp1763 = !!(devflags & ISP1760_FLAG_ISP1763); in isp1760_register()
519 if (!hcd->is_isp1763 && (devflags & ISP1760_FLAG_BUS_WIDTH_8)) { in isp1760_register()
524 if (hcd->is_isp1763) { in isp1760_register()
540 hcd->base = devm_ioremap_resource(dev, mem); in isp1760_register()
541 if (IS_ERR(hcd->base)) in isp1760_register()
542 return PTR_ERR(hcd->base); in isp1760_register()
544 hcd->regs = devm_regmap_init_mmio(dev, hcd->base, hc_regmap); in isp1760_register()
545 if (IS_ERR(hcd->regs)) in isp1760_register()
546 return PTR_ERR(hcd->regs); in isp1760_register()
549 f = devm_regmap_field_alloc(dev, hcd->regs, hc_reg_fields[i]); in isp1760_register()
553 hcd->fields[i] = f; in isp1760_register()
556 udc->regs = devm_regmap_init_mmio(dev, hcd->base, dc_regmap); in isp1760_register()
568 if (hcd->is_isp1763) in isp1760_register()
569 hcd->memory_layout = &isp1763_memory_conf; in isp1760_register()
571 hcd->memory_layout = &isp176x_memory_conf; in isp1760_register()
578 ret = isp1760_hcd_register(hcd, mem, irq, in isp1760_register()
587 isp1760_hcd_unregister(hcd); in isp1760_register()
602 isp1760_hcd_unregister(&isp->hcd); in isp1760_unregister()