Path: blob/master/Documentation/arm/Samsung-S3C24XX/USB-Host.txt
10823 views
S3C24XX USB Host support1========================2345Introduction6------------78This document details the S3C2410/S3C2440 in-built OHCI USB host support.910Configuration11-------------1213Enable at least the following kernel options:1415menuconfig:1617Device Drivers --->18USB support --->19<*> Support for Host-side USB20<*> OHCI HCD support212223.config:24CONFIG_USB25CONFIG_USB_OHCI_HCD262728Once these options are configured, the standard set of USB device29drivers can be configured and used.303132Board Support33-------------3435The driver attaches to a platform device, which will need to be36added by the board specific support file in linux/arch/arm/mach-s3c2410,37such as mach-bast.c or mach-smdk2410.c3839The platform device's platform_data field is only needed if the40board implements extra power control or over-current monitoring.4142The OHCI driver does not ensure the state of the S3C2410's MISCCTRL43register, so if both ports are to be used for the host, then it is44the board support file's responsibility to ensure that the second45port is configured to be connected to the OHCI core.464748Platform Data49-------------5051See arch/arm/mach-s3c2410/include/mach/usb-control.h for the52descriptions of the platform device data. An implementation53can be found in linux/arch/arm/mach-s3c2410/usb-simtec.c .5455The `struct s3c2410_hcd_info` contains a pair of functions56that get called to enable over-current detection, and to57control the port power status.5859The ports are numbered 0 and 1.6061power_control:6263Called to enable or disable the power on the port.6465enable_oc:6667Called to enable or disable the over-current monitoring.68This should claim or release the resources being used to69check the power condition on the port, such as an IRQ.7071report_oc:7273The OHCI driver fills this field in for the over-current code74to call when there is a change to the over-current state on75an port. The ports argument is a bitmask of 1 bit per port,76with bit X being 1 for an over-current on port X.7778The function s3c2410_usb_report_oc() has been provided to79ensure this is called correctly.8081port[x]:8283This is struct describes each port, 0 or 1. The platform driver84should set the flags field of each port to S3C_HCDFLG_USED if85the port is enabled.86878889Document Author90---------------9192Ben Dooks, Copyright 2005 Simtec Electronics939495