mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-28 20:37:27 +00:00
81eb669b95
This is a driver for the Cypress West Bridge companion chip. Its function is analogous to the North/South Bridges of PC environments applied to embedded devices, in that it expands I/O and storage capabilities of an embedded processor. The Astoria version, which this driver applies to, functions as a USB, embedded memory and SDIO controller. The kernel that this patch was applied to is linux-2.6.35, although it was tested using the android kernel 2.6.29 running on the Zoom 2 platform. In this system, it was used primarily as a sideloading accelerator enabling direct data transfers between a USB host PC and embedded memory without system overheads. Minor modifications were also made to the kernel for this patch. These include changes such as EXPORTing of fat_get_block in the kernel code. Another function, mpage_cleardirty was also added to the memory management code. This function is used to clear the dirty pages from a specific inode. This allows for direct, file based DMA. None of these changes are believed to have any negative impact on the kernel and may provide additional benefit for other developers and drivers. The driver, as submitted, was placed into the drivers/staging/westbridge folder as the directory structure it will eventually reside in is not yet defined. The driver, as placed in staging is divided into four parts: 1) gadget - this implements a gadget peripheral controller and includes IOCTLs for MTP transfers 2) block -this implements a generic block device driver to enable access to embedded memory 3) api -this is the Cypress SDK, and includes USB and Storage specific functions. In addition, it includes common code for low level routines such as message passing and common data transfer routines 4) hal - this should likely be included in the arch directory as it needs to be modified for a given platform. The directory structure in the staging area is meant to reflect the eventual location of where this code likely should be. It is platform specific. In this case, the HAL included is for the Android Zoom 2 platform. Here, West Bridge is connected to the GPMC (general purpose memory controller) of the OMAP3. Specific timing needs to be enabled to ensure reliable communication. Many thanks to Greg KH for conducting initial reviews and providing pointers. Please contact david.cross@cypress.com for questions, concerns or feedback. Signed-off-by: David Cross <david.cross@cypress.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
160 lines
3.9 KiB
Plaintext
160 lines
3.9 KiB
Plaintext
menuconfig STAGING
|
|
bool "Staging drivers"
|
|
default n
|
|
---help---
|
|
This option allows you to select a number of drivers that are
|
|
not of the "normal" Linux kernel quality level. These drivers
|
|
are placed here in order to get a wider audience to make use of
|
|
them. Please note that these drivers are under heavy
|
|
development, may or may not work, and may contain userspace
|
|
interfaces that most likely will be changed in the near
|
|
future.
|
|
|
|
Using any of these drivers will taint your kernel which might
|
|
affect support options from both the community, and various
|
|
commercial support organizations.
|
|
|
|
If you wish to work on these drivers, to help improve them, or
|
|
to report problems you have with them, please see the
|
|
driver_name.README file in the drivers/staging/ directory to
|
|
see what needs to be worked on, and who to contact.
|
|
|
|
If in doubt, say N here.
|
|
|
|
|
|
if STAGING
|
|
|
|
config STAGING_EXCLUDE_BUILD
|
|
bool "Exclude Staging drivers from being built" if STAGING
|
|
default y
|
|
---help---
|
|
Are you sure you really want to build the staging drivers?
|
|
They taint your kernel, don't live up to the normal Linux
|
|
kernel quality standards, are a bit crufty around the edges,
|
|
and might go off and kick your dog when you aren't paying
|
|
attention.
|
|
|
|
Say N here to be able to select and build the Staging drivers.
|
|
This option is primarily here to prevent them from being built
|
|
when selecting 'make allyesconfg' and 'make allmodconfig' so
|
|
don't be all that put off, your dog will be just fine.
|
|
|
|
if !STAGING_EXCLUDE_BUILD
|
|
|
|
source "drivers/staging/et131x/Kconfig"
|
|
|
|
source "drivers/staging/slicoss/Kconfig"
|
|
|
|
source "drivers/staging/go7007/Kconfig"
|
|
|
|
source "drivers/staging/cx25821/Kconfig"
|
|
|
|
source "drivers/staging/tm6000/Kconfig"
|
|
|
|
source "drivers/staging/usbip/Kconfig"
|
|
|
|
source "drivers/staging/winbond/Kconfig"
|
|
|
|
source "drivers/staging/wlan-ng/Kconfig"
|
|
|
|
source "drivers/staging/echo/Kconfig"
|
|
|
|
source "drivers/staging/otus/Kconfig"
|
|
|
|
source "drivers/staging/rt2860/Kconfig"
|
|
|
|
source "drivers/staging/rt2870/Kconfig"
|
|
|
|
source "drivers/staging/comedi/Kconfig"
|
|
|
|
source "drivers/staging/asus_oled/Kconfig"
|
|
|
|
source "drivers/staging/panel/Kconfig"
|
|
|
|
source "drivers/staging/rtl8187se/Kconfig"
|
|
|
|
source "drivers/staging/rtl8192u/Kconfig"
|
|
|
|
source "drivers/staging/rtl8192e/Kconfig"
|
|
|
|
source "drivers/staging/rtl8712/Kconfig"
|
|
|
|
source "drivers/staging/frontier/Kconfig"
|
|
|
|
source "drivers/staging/dream/Kconfig"
|
|
|
|
source "drivers/staging/pohmelfs/Kconfig"
|
|
|
|
source "drivers/staging/phison/Kconfig"
|
|
|
|
source "drivers/staging/line6/Kconfig"
|
|
|
|
source "drivers/gpu/drm/vmwgfx/Kconfig"
|
|
|
|
source "drivers/gpu/drm/nouveau/Kconfig"
|
|
|
|
source "drivers/staging/octeon/Kconfig"
|
|
|
|
source "drivers/staging/serqt_usb2/Kconfig"
|
|
|
|
source "drivers/staging/spectra/Kconfig"
|
|
|
|
source "drivers/staging/quatech_usb2/Kconfig"
|
|
|
|
source "drivers/staging/vt6655/Kconfig"
|
|
|
|
source "drivers/staging/vt6656/Kconfig"
|
|
|
|
source "drivers/staging/udlfb/Kconfig"
|
|
|
|
source "drivers/staging/hv/Kconfig"
|
|
|
|
source "drivers/staging/vme/Kconfig"
|
|
|
|
source "drivers/staging/memrar/Kconfig"
|
|
|
|
source "drivers/staging/iio/Kconfig"
|
|
|
|
source "drivers/staging/zram/Kconfig"
|
|
|
|
source "drivers/staging/wlags49_h2/Kconfig"
|
|
|
|
source "drivers/staging/wlags49_h25/Kconfig"
|
|
|
|
source "drivers/staging/batman-adv/Kconfig"
|
|
|
|
source "drivers/staging/samsung-laptop/Kconfig"
|
|
|
|
source "drivers/staging/sm7xx/Kconfig"
|
|
|
|
source "drivers/staging/dt3155v4l/Kconfig"
|
|
|
|
source "drivers/staging/crystalhd/Kconfig"
|
|
|
|
source "drivers/staging/cxt1e1/Kconfig"
|
|
|
|
source "drivers/staging/ti-st/Kconfig"
|
|
|
|
source "drivers/staging/adis16255/Kconfig"
|
|
|
|
source "drivers/staging/xgifb/Kconfig"
|
|
|
|
source "drivers/staging/mrst-touchscreen/Kconfig"
|
|
|
|
source "drivers/staging/msm/Kconfig"
|
|
|
|
source "drivers/staging/lirc/Kconfig"
|
|
|
|
source "drivers/staging/easycap/Kconfig"
|
|
|
|
source "drivers/staging/solo6x10/Kconfig"
|
|
|
|
source "drivers/staging/tidspbridge/Kconfig"
|
|
|
|
source "drivers/staging/quickstart/Kconfig"
|
|
|
|
source "drivers/staging/westbridge/Kconfig"
|
|
|
|
endif # !STAGING_EXCLUDE_BUILD
|
|
endif # STAGING
|