Lines Matching refs:hcchar
720 u32 hcchar; in dwc2_core_host_init() local
725 hcchar = readl(hsotg->regs + HCCHAR(i)); in dwc2_core_host_init()
726 hcchar &= ~HCCHAR_CHENA; in dwc2_core_host_init()
727 hcchar |= HCCHAR_CHDIS; in dwc2_core_host_init()
728 hcchar &= ~HCCHAR_EPDIR; in dwc2_core_host_init()
729 writel(hcchar, hsotg->regs + HCCHAR(i)); in dwc2_core_host_init()
736 hcchar = readl(hsotg->regs + HCCHAR(i)); in dwc2_core_host_init()
737 hcchar |= HCCHAR_CHENA | HCCHAR_CHDIS; in dwc2_core_host_init()
738 hcchar &= ~HCCHAR_EPDIR; in dwc2_core_host_init()
739 writel(hcchar, hsotg->regs + HCCHAR(i)); in dwc2_core_host_init()
743 hcchar = readl(hsotg->regs + HCCHAR(i)); in dwc2_core_host_init()
751 } while (hcchar & HCCHAR_CHENA); in dwc2_core_host_init()
931 u32 hcchar; in dwc2_hc_init() local
949 hcchar = chan->dev_addr << HCCHAR_DEVADDR_SHIFT & HCCHAR_DEVADDR_MASK; in dwc2_hc_init()
950 hcchar |= chan->ep_num << HCCHAR_EPNUM_SHIFT & HCCHAR_EPNUM_MASK; in dwc2_hc_init()
952 hcchar |= HCCHAR_EPDIR; in dwc2_hc_init()
954 hcchar |= HCCHAR_LSPDDEV; in dwc2_hc_init()
955 hcchar |= chan->ep_type << HCCHAR_EPTYPE_SHIFT & HCCHAR_EPTYPE_MASK; in dwc2_hc_init()
956 hcchar |= chan->max_packet << HCCHAR_MPS_SHIFT & HCCHAR_MPS_MASK; in dwc2_hc_init()
957 writel(hcchar, hsotg->regs + HCCHAR(hc_num)); in dwc2_hc_init()
960 hc_num, hcchar); in dwc2_hc_init()
1045 u32 nptxsts, hptxsts, hcchar; in dwc2_hc_halt() local
1079 hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_halt()
1080 if (!(hcchar & HCCHAR_CHENA)) { in dwc2_hc_halt()
1107 hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_halt()
1114 hcchar |= HCCHAR_CHENA; in dwc2_hc_halt()
1119 hcchar |= HCCHAR_CHDIS; in dwc2_hc_halt()
1124 hcchar |= HCCHAR_CHENA; in dwc2_hc_halt()
1133 hcchar &= ~HCCHAR_CHENA; in dwc2_hc_halt()
1143 hcchar &= ~HCCHAR_CHENA; in dwc2_hc_halt()
1151 writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_halt()
1154 if (hcchar & HCCHAR_CHENA) { in dwc2_hc_halt()
1169 hcchar); in dwc2_hc_halt()
1215 struct dwc2_host_chan *chan, u32 *hcchar) in dwc2_hc_set_even_odd_frame() argument
1221 *hcchar |= HCCHAR_ODDFRM; in dwc2_hc_set_even_odd_frame()
1339 u32 hcchar; in dwc2_hc_start_transfer() local
1488 hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_start_transfer()
1489 hcchar &= ~HCCHAR_MULTICNT_MASK; in dwc2_hc_start_transfer()
1490 hcchar |= chan->multi_count << HCCHAR_MULTICNT_SHIFT & in dwc2_hc_start_transfer()
1492 dwc2_hc_set_even_odd_frame(hsotg, chan, &hcchar); in dwc2_hc_start_transfer()
1494 if (hcchar & HCCHAR_CHDIS) in dwc2_hc_start_transfer()
1497 __func__, chan->hc_num, hcchar); in dwc2_hc_start_transfer()
1500 hcchar |= HCCHAR_CHENA; in dwc2_hc_start_transfer()
1501 hcchar &= ~HCCHAR_CHDIS; in dwc2_hc_start_transfer()
1505 (hcchar & HCCHAR_MULTICNT_MASK) >> in dwc2_hc_start_transfer()
1508 writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_start_transfer()
1510 dev_vdbg(hsotg->dev, "Wrote %08x to HCCHAR(%d)\n", hcchar, in dwc2_hc_start_transfer()
1539 u32 hcchar; in dwc2_hc_start_transfer_ddma() local
1578 hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_start_transfer_ddma()
1579 hcchar &= ~HCCHAR_MULTICNT_MASK; in dwc2_hc_start_transfer_ddma()
1580 hcchar |= chan->multi_count << HCCHAR_MULTICNT_SHIFT & in dwc2_hc_start_transfer_ddma()
1583 if (hcchar & HCCHAR_CHDIS) in dwc2_hc_start_transfer_ddma()
1586 __func__, chan->hc_num, hcchar); in dwc2_hc_start_transfer_ddma()
1589 hcchar |= HCCHAR_CHENA; in dwc2_hc_start_transfer_ddma()
1590 hcchar &= ~HCCHAR_CHDIS; in dwc2_hc_start_transfer_ddma()
1594 (hcchar & HCCHAR_MULTICNT_MASK) >> in dwc2_hc_start_transfer_ddma()
1597 writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_start_transfer_ddma()
1599 dev_vdbg(hsotg->dev, "Wrote %08x to HCCHAR(%d)\n", hcchar, in dwc2_hc_start_transfer_ddma()
1654 u32 hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_continue_transfer() local
1656 dwc2_hc_set_even_odd_frame(hsotg, chan, &hcchar); in dwc2_hc_continue_transfer()
1657 hcchar |= HCCHAR_CHENA; in dwc2_hc_continue_transfer()
1658 hcchar &= ~HCCHAR_CHDIS; in dwc2_hc_continue_transfer()
1661 hcchar); in dwc2_hc_continue_transfer()
1662 writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_continue_transfer()
1672 u32 hcchar = readl(hsotg->regs + in dwc2_hc_continue_transfer() local
1676 &hcchar); in dwc2_hc_continue_transfer()
1699 u32 hcchar; in dwc2_hc_do_ping() local
1711 hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_do_ping()
1712 hcchar |= HCCHAR_CHENA; in dwc2_hc_do_ping()
1713 hcchar &= ~HCCHAR_CHDIS; in dwc2_hc_do_ping()
1714 writel(hcchar, hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_hc_do_ping()