About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / arm / Samsung-S3C24XX / USB-Host.txt




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:36 EST.

1				S3C24XX USB Host support
2				========================
3	
4	
5	
6	Introduction
7	------------
8	
9	  This document details the S3C2410/S3C2440 in-built OHCI USB host support.
10	
11	Configuration
12	-------------
13	
14	  Enable at least the following kernel options:
15	
16	  menuconfig:
17	
18	   Device Drivers  --->
19	     USB support  --->
20	       <*> Support for Host-side USB
21	       <*>   OHCI HCD support
22	
23	
24	  .config:
25	    CONFIG_USB
26	    CONFIG_USB_OHCI_HCD
27	
28	
29	  Once these options are configured, the standard set of USB device
30	  drivers can be configured and used.
31	
32	
33	Board Support
34	-------------
35	
36	  The driver attaches to a platform device, which will need to be
37	  added by the board specific support file in linux/arch/arm/mach-s3c2410,
38	  such as mach-bast.c or mach-smdk2410.c
39	
40	  The platform device's platform_data field is only needed if the
41	  board implements extra power control or over-current monitoring.
42	
43	  The OHCI driver does not ensure the state of the S3C2410's MISCCTRL
44	  register, so if both ports are to be used for the host, then it is
45	  the board support file's responsibility to ensure that the second
46	  port is configured to be connected to the OHCI core.
47	
48	
49	Platform Data
50	-------------
51	
52	  See arch/arm/mach-s3c2410/include/mach/usb-control.h for the
53	  descriptions of the platform device data. An implementation
54	  can be found in linux/arch/arm/mach-s3c2410/usb-simtec.c .
55	
56	  The `struct s3c2410_hcd_info` contains a pair of functions
57	  that get called to enable over-current detection, and to
58	  control the port power status.
59	
60	  The ports are numbered 0 and 1.
61	
62	  power_control:
63	
64	    Called to enable or disable the power on the port.
65	
66	  enable_oc:
67	
68	    Called to enable or disable the over-current monitoring.
69	    This should claim or release the resources being used to
70	    check the power condition on the port, such as an IRQ.
71	
72	  report_oc:
73	
74	    The OHCI driver fills this field in for the over-current code
75	    to call when there is a change to the over-current state on
76	    an port. The ports argument is a bitmask of 1 bit per port,
77	    with bit X being 1 for an over-current on port X.
78	
79	    The function s3c2410_usb_report_oc() has been provided to
80	    ensure this is called correctly.
81	
82	  port[x]:
83	
84	    This is struct describes each port, 0 or 1. The platform driver
85	    should set the flags field of each port to S3C_HCDFLG_USED if
86	    the port is enabled.
87	
88	
89	
90	Document Author
91	---------------
92	
93	Ben Dooks, Copyright 2005 Simtec Electronics
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.