Home
last modified time | relevance | path

Searched refs:hsotg (Results 1 – 26 of 26) sorted by relevance

/linux-4.1.27/drivers/usb/dwc2/
Dcore_intr.c56 static const char *dwc2_op_state_str(struct dwc2_hsotg *hsotg) in dwc2_op_state_str() argument
58 switch (hsotg->op_state) { in dwc2_op_state_str()
81 static void dwc2_handle_usb_port_intr(struct dwc2_hsotg *hsotg) in dwc2_handle_usb_port_intr() argument
83 u32 hprt0 = readl(hsotg->regs + HPRT0); in dwc2_handle_usb_port_intr()
87 writel(hprt0, hsotg->regs + HPRT0); in dwc2_handle_usb_port_intr()
91 writel(GINTSTS_PRTINT, hsotg->regs + GINTSTS); in dwc2_handle_usb_port_intr()
99 static void dwc2_handle_mode_mismatch_intr(struct dwc2_hsotg *hsotg) in dwc2_handle_mode_mismatch_intr() argument
101 dev_warn(hsotg->dev, "Mode Mismatch Interrupt: currently in %s mode\n", in dwc2_handle_mode_mismatch_intr()
102 dwc2_is_host_mode(hsotg) ? "Host" : "Device"); in dwc2_handle_mode_mismatch_intr()
105 writel(GINTSTS_MODEMIS, hsotg->regs + GINTSTS); in dwc2_handle_mode_mismatch_intr()
[all …]
Dhcd.c68 static void dwc2_dump_channel_info(struct dwc2_hsotg *hsotg, in dwc2_dump_channel_info() argument
72 int num_channels = hsotg->core_params->host_channels; in dwc2_dump_channel_info()
83 hcchar = readl(hsotg->regs + HCCHAR(chan->hc_num)); in dwc2_dump_channel_info()
84 hcsplt = readl(hsotg->regs + HCSPLT(chan->hc_num)); in dwc2_dump_channel_info()
85 hctsiz = readl(hsotg->regs + HCTSIZ(chan->hc_num)); in dwc2_dump_channel_info()
86 hc_dma = readl(hsotg->regs + HCDMA(chan->hc_num)); in dwc2_dump_channel_info()
88 dev_dbg(hsotg->dev, " Assigned to channel %p:\n", chan); in dwc2_dump_channel_info()
89 dev_dbg(hsotg->dev, " hcchar 0x%08x, hcsplt 0x%08x\n", in dwc2_dump_channel_info()
91 dev_dbg(hsotg->dev, " hctsiz 0x%08x, hc_dma 0x%08x\n", in dwc2_dump_channel_info()
93 dev_dbg(hsotg->dev, " dev_addr: %d, ep_num: %d, ep_is_in: %d\n", in dwc2_dump_channel_info()
[all …]
Dcore.c65 static void dwc2_enable_common_interrupts(struct dwc2_hsotg *hsotg) in dwc2_enable_common_interrupts() argument
70 writel(0xffffffff, hsotg->regs + GOTGINT); in dwc2_enable_common_interrupts()
73 writel(0xffffffff, hsotg->regs + GINTSTS); in dwc2_enable_common_interrupts()
78 if (hsotg->core_params->dma_enable <= 0) in dwc2_enable_common_interrupts()
84 writel(intmsk, hsotg->regs + GINTMSK); in dwc2_enable_common_interrupts()
91 static void dwc2_init_fs_ls_pclk_sel(struct dwc2_hsotg *hsotg) in dwc2_init_fs_ls_pclk_sel() argument
95 if ((hsotg->hw_params.hs_phy_type == GHWCFG2_HS_PHY_TYPE_ULPI && in dwc2_init_fs_ls_pclk_sel()
96 hsotg->hw_params.fs_phy_type == GHWCFG2_FS_PHY_TYPE_DEDICATED && in dwc2_init_fs_ls_pclk_sel()
97 hsotg->core_params->ulpi_fs_ls > 0) || in dwc2_init_fs_ls_pclk_sel()
98 hsotg->core_params->phy_type == DWC2_PHY_TYPE_PARAM_FS) { in dwc2_init_fs_ls_pclk_sel()
[all …]
Dgadget.c69 static inline struct s3c_hsotg_ep *index_to_ep(struct dwc2_hsotg *hsotg, in index_to_ep() argument
73 return hsotg->eps_in[ep_index]; in index_to_ep()
75 return hsotg->eps_out[ep_index]; in index_to_ep()
79 static void s3c_hsotg_dump(struct dwc2_hsotg *hsotg);
100 static inline bool using_dma(struct dwc2_hsotg *hsotg) in using_dma() argument
102 return hsotg->g_using_dma; in using_dma()
110 static void s3c_hsotg_en_gsint(struct dwc2_hsotg *hsotg, u32 ints) in s3c_hsotg_en_gsint() argument
112 u32 gsintmsk = readl(hsotg->regs + GINTMSK); in s3c_hsotg_en_gsint()
118 dev_dbg(hsotg->dev, "gsintmsk now 0x%08x\n", new_gsintmsk); in s3c_hsotg_en_gsint()
119 writel(new_gsintmsk, hsotg->regs + GINTMSK); in s3c_hsotg_en_gsint()
[all …]
Dhcd_intr.c56 static void dwc2_track_missed_sofs(struct dwc2_hsotg *hsotg) in dwc2_track_missed_sofs() argument
59 u16 curr_frame_number = hsotg->frame_number; in dwc2_track_missed_sofs()
61 if (hsotg->frame_num_idx < FRAME_NUM_ARRAY_SIZE) { in dwc2_track_missed_sofs()
62 if (((hsotg->last_frame_num + 1) & HFNUM_MAX_FRNUM) != in dwc2_track_missed_sofs()
64 hsotg->frame_num_array[hsotg->frame_num_idx] = in dwc2_track_missed_sofs()
66 hsotg->last_frame_num_array[hsotg->frame_num_idx] = in dwc2_track_missed_sofs()
67 hsotg->last_frame_num; in dwc2_track_missed_sofs()
68 hsotg->frame_num_idx++; in dwc2_track_missed_sofs()
70 } else if (!hsotg->dumped_frame_num_array) { in dwc2_track_missed_sofs()
73 dev_info(hsotg->dev, "Frame Last Frame\n"); in dwc2_track_missed_sofs()
[all …]
Dhcd_queue.c65 static void dwc2_qh_init(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, in dwc2_qh_init() argument
71 dev_vdbg(hsotg->dev, "%s()\n", __func__); in dwc2_qh_init()
83 dev_speed = dwc2_host_get_speed(hsotg, urb->priv); in dwc2_qh_init()
85 dwc2_host_hub_info(hsotg, urb->priv, &hub_addr, &hub_port); in dwc2_qh_init()
89 dev_vdbg(hsotg->dev, in dwc2_qh_init()
110 qh->sched_frame = dwc2_frame_num_inc(hsotg->frame_number, in dwc2_qh_init()
118 hprt = readl(hsotg->regs + HPRT0); in dwc2_qh_init()
127 dev_dbg(hsotg->dev, "interval=%d\n", qh->interval); in dwc2_qh_init()
130 dev_vdbg(hsotg->dev, "DWC OTG HCD QH Initialized\n"); in dwc2_qh_init()
131 dev_vdbg(hsotg->dev, "DWC OTG HCD QH - qh = %p\n", qh); in dwc2_qh_init()
[all …]
Dhcd_ddma.c87 static int dwc2_desc_list_alloc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, in dwc2_desc_list_alloc() argument
90 qh->desc_list = dma_alloc_coherent(hsotg->dev, in dwc2_desc_list_alloc()
103 dma_free_coherent(hsotg->dev, sizeof(struct dwc2_hcd_dma_desc) in dwc2_desc_list_alloc()
113 static void dwc2_desc_list_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) in dwc2_desc_list_free() argument
116 dma_free_coherent(hsotg->dev, sizeof(struct dwc2_hcd_dma_desc) in dwc2_desc_list_free()
126 static int dwc2_frame_list_alloc(struct dwc2_hsotg *hsotg, gfp_t mem_flags) in dwc2_frame_list_alloc() argument
128 if (hsotg->frame_list) in dwc2_frame_list_alloc()
131 hsotg->frame_list = dma_alloc_coherent(hsotg->dev, in dwc2_frame_list_alloc()
133 &hsotg->frame_list_dma, in dwc2_frame_list_alloc()
135 if (!hsotg->frame_list) in dwc2_frame_list_alloc()
[all …]
Dcore.h753 extern void dwc2_core_host_init(struct dwc2_hsotg *hsotg);
760 extern void dwc2_hc_init(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan);
761 extern void dwc2_hc_halt(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan,
763 extern void dwc2_hc_cleanup(struct dwc2_hsotg *hsotg,
765 extern void dwc2_hc_start_transfer(struct dwc2_hsotg *hsotg,
767 extern void dwc2_hc_start_transfer_ddma(struct dwc2_hsotg *hsotg,
769 extern int dwc2_hc_continue_transfer(struct dwc2_hsotg *hsotg,
771 extern void dwc2_hc_do_ping(struct dwc2_hsotg *hsotg,
773 extern void dwc2_enable_host_interrupts(struct dwc2_hsotg *hsotg);
774 extern void dwc2_disable_host_interrupts(struct dwc2_hsotg *hsotg);
[all …]
Dplatform.c122 struct dwc2_hsotg *hsotg = platform_get_drvdata(dev); in dwc2_driver_remove() local
124 if (hsotg->hcd_enabled) in dwc2_driver_remove()
125 dwc2_hcd_remove(hsotg); in dwc2_driver_remove()
126 if (hsotg->gadget_enabled) in dwc2_driver_remove()
127 s3c_hsotg_remove(hsotg); in dwc2_driver_remove()
158 struct dwc2_hsotg *hsotg; in dwc2_driver_probe() local
180 hsotg = devm_kzalloc(&dev->dev, sizeof(*hsotg), GFP_KERNEL); in dwc2_driver_probe()
181 if (!hsotg) in dwc2_driver_probe()
184 hsotg->dev = &dev->dev; in dwc2_driver_probe()
201 dev_dbg(hsotg->dev, "registering common handler for irq%d\n", in dwc2_driver_probe()
[all …]
Dhcd.h354 struct dwc2_hsotg *hsotg; member
360 static inline struct usb_hcd *dwc2_hsotg_to_hcd(struct dwc2_hsotg *hsotg) in dwc2_hsotg_to_hcd() argument
362 return (struct usb_hcd *)hsotg->priv; in dwc2_hsotg_to_hcd()
372 static inline void disable_hc_int(struct dwc2_hsotg *hsotg, int chnum, u32 intr) in disable_hc_int() argument
374 u32 mask = readl(hsotg->regs + HCINTMSK(chnum)); in disable_hc_int()
377 writel(mask, hsotg->regs + HCINTMSK(chnum)); in disable_hc_int()
383 static inline int dwc2_is_host_mode(struct dwc2_hsotg *hsotg) in dwc2_is_host_mode() argument
385 return (readl(hsotg->regs + GINTSTS) & GINTSTS_CURMODE_HOST) != 0; in dwc2_is_host_mode()
387 static inline int dwc2_is_device_mode(struct dwc2_hsotg *hsotg) in dwc2_is_device_mode() argument
389 return (readl(hsotg->regs + GINTSTS) & GINTSTS_CURMODE_HOST) == 0; in dwc2_is_device_mode()
[all …]
/linux-4.1.27/Documentation/devicetree/bindings/usb/
Dsamsung-hsotg.txt15 - compatible: "samsung,s3c6400-hsotg" should be used for all currently
31 hsotg@12480000 {
32 compatible = "samsung,s3c6400-hsotg";
Dsamsung-usbphy.txt6 usb 2.0 phy for s3c-hsotg as well as ehci-s5p and ohci-exynos
/linux-4.1.27/arch/arm/boot/dts/
Ds5pv210.dtsi421 hsotg: hsotg@ec000000 { label
422 compatible = "samsung,s3c6400-hsotg";
Dexynos4415.dtsi271 hsotg: hsotg@12480000 { label
272 compatible = "samsung,s3c6400-hsotg";
Ds5pv210-smdkv210.dts183 &hsotg {
Dexynos3250.dtsi273 hsotg: hsotg@12480000 { label
Ds5pv210-aquila.dts355 &hsotg {
Dexynos4.dtsi334 hsotg@12480000 {
335 compatible = "samsung,s3c6400-hsotg";
Ds5pv210-goni.dts333 &hsotg {
Dexynos4210-trats.dts92 hsotg@12480000 {
Dexynos4412-odroid-common.dtsi429 hsotg@12480000 {
Dexynos4210-universal_c210.dts72 hsotg@12480000 {
Dexynos3250-monk.dts147 &hsotg {
Dexynos3250-rinato.dts138 &hsotg {
Dexynos4412-trats2.dts908 hsotg@12480000 {
/linux-4.1.27/Documentation/usb/
Dgadget_configfs.txt211 $ echo s3c-hsotg > UDC