Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
alchemy-common.c File Reference
#include <linux/init.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include <linux/syscore_ops.h>
#include <asm/mach-au1x00/au1000.h>

Go to the source code of this file.

Macros

#define AU1000_OHCICFG   0x7fffc
 
#define AU1550_OHCICFG   0x07ffc
 
#define AU1200_USBCFG   0x04
 
#define USBHEN_RD   (1 << 4) /* OHCI reset-done indicator */
 
#define USBHEN_CE   (1 << 3) /* OHCI block clock enable */
 
#define USBHEN_E   (1 << 2) /* OHCI block enable */
 
#define USBHEN_C   (1 << 1) /* OHCI block coherency bit */
 
#define USBHEN_BE   (1 << 0) /* OHCI Big-Endian */
 
#define USBCFG_PFEN   (1 << 31) /* prefetch enable (undoc) */
 
#define USBCFG_RDCOMB   (1 << 30) /* read combining (undoc) */
 
#define USBCFG_UNKNOWN   (5 << 20) /* unknown, leave this way */
 
#define USBCFG_SSD   (1 << 23) /* serial short detect en */
 
#define USBCFG_PPE   (1 << 19) /* HS PHY PLL */
 
#define USBCFG_UCE   (1 << 18) /* UDC clock enable */
 
#define USBCFG_ECE   (1 << 17) /* EHCI clock enable */
 
#define USBCFG_OCE   (1 << 16) /* OHCI clock enable */
 
#define USBCFG_FLA(x)   (((x) & 0x3f) << 8)
 
#define USBCFG_UCAM   (1 << 7) /* coherent access (undoc) */
 
#define USBCFG_GME   (1 << 6) /* OTG mem access */
 
#define USBCFG_DBE   (1 << 5) /* UDC busmaster enable */
 
#define USBCFG_DME   (1 << 4) /* UDC mem enable */
 
#define USBCFG_EBE   (1 << 3) /* EHCI busmaster enable */
 
#define USBCFG_EME   (1 << 2) /* EHCI mem enable */
 
#define USBCFG_OBE   (1 << 1) /* OHCI busmaster enable */
 
#define USBCFG_OME   (1 << 0) /* OHCI mem enable */
 
#define USBCFG_INIT_AU1200
 
#define USB_DWC_CTRL1   0x00
 
#define USB_DWC_CTRL2   0x04
 
#define USB_VBUS_TIMER   0x10
 
#define USB_SBUS_CTRL   0x14
 
#define USB_MSR_ERR   0x18
 
#define USB_DWC_CTRL3   0x1C
 
#define USB_DWC_CTRL4   0x20
 
#define USB_OTG_STATUS   0x28
 
#define USB_DWC_CTRL5   0x2C
 
#define USB_DWC_CTRL6   0x30
 
#define USB_DWC_CTRL7   0x34
 
#define USB_PHY_STATUS   0xC0
 
#define USB_INT_STATUS   0xC4
 
#define USB_INT_ENABLE   0xC8
 
#define USB_DWC_CTRL1_OTGD   0x04 /* set to DISable OTG */
 
#define USB_DWC_CTRL1_HSTRS   0x02 /* set to ENable EHCI */
 
#define USB_DWC_CTRL1_DCRS   0x01 /* set to ENable UDC */
 
#define USB_DWC_CTRL2_PHY1RS   0x04 /* set to enable PHY1 */
 
#define USB_DWC_CTRL2_PHY0RS   0x02 /* set to enable PHY0 */
 
#define USB_DWC_CTRL2_PHYRS   0x01 /* set to enable PHY */
 
#define USB_DWC_CTRL3_OHCI1_CKEN   (1 << 19)
 
#define USB_DWC_CTRL3_OHCI0_CKEN   (1 << 18)
 
#define USB_DWC_CTRL3_EHCI0_CKEN   (1 << 17)
 
#define USB_DWC_CTRL3_OTG0_CKEN   (1 << 16)
 
#define USB_SBUS_CTRL_SBCA   0x04 /* coherent access */
 
#define USB_INTEN_FORCE   0x20
 
#define USB_INTEN_PHY   0x10
 
#define USB_INTEN_UDC   0x08
 
#define USB_INTEN_EHCI   0x04
 
#define USB_INTEN_OHCI1   0x02
 
#define USB_INTEN_OHCI0   0x01
 

Functions

int alchemy_usb_control (int block, int enable)
 
 EXPORT_SYMBOL_GPL (alchemy_usb_control)
 
 arch_initcall (alchemy_usb_init)
 

Macro Definition Documentation

#define AU1000_OHCICFG   0x7fffc

Definition at line 20 of file alchemy-common.c.

#define AU1200_USBCFG   0x04

Definition at line 22 of file alchemy-common.c.

#define AU1550_OHCICFG   0x07ffc

Definition at line 21 of file alchemy-common.c.

#define USB_DWC_CTRL1   0x00

Definition at line 56 of file alchemy-common.c.

#define USB_DWC_CTRL1_DCRS   0x01 /* set to ENable UDC */

Definition at line 73 of file alchemy-common.c.

#define USB_DWC_CTRL1_HSTRS   0x02 /* set to ENable EHCI */

Definition at line 72 of file alchemy-common.c.

#define USB_DWC_CTRL1_OTGD   0x04 /* set to DISable OTG */

Definition at line 71 of file alchemy-common.c.

#define USB_DWC_CTRL2   0x04

Definition at line 57 of file alchemy-common.c.

#define USB_DWC_CTRL2_PHY0RS   0x02 /* set to enable PHY0 */

Definition at line 76 of file alchemy-common.c.

#define USB_DWC_CTRL2_PHY1RS   0x04 /* set to enable PHY1 */

Definition at line 75 of file alchemy-common.c.

#define USB_DWC_CTRL2_PHYRS   0x01 /* set to enable PHY */

Definition at line 77 of file alchemy-common.c.

#define USB_DWC_CTRL3   0x1C

Definition at line 61 of file alchemy-common.c.

#define USB_DWC_CTRL3_EHCI0_CKEN   (1 << 17)

Definition at line 81 of file alchemy-common.c.

#define USB_DWC_CTRL3_OHCI0_CKEN   (1 << 18)

Definition at line 80 of file alchemy-common.c.

#define USB_DWC_CTRL3_OHCI1_CKEN   (1 << 19)

Definition at line 79 of file alchemy-common.c.

#define USB_DWC_CTRL3_OTG0_CKEN   (1 << 16)

Definition at line 82 of file alchemy-common.c.

#define USB_DWC_CTRL4   0x20

Definition at line 62 of file alchemy-common.c.

#define USB_DWC_CTRL5   0x2C

Definition at line 64 of file alchemy-common.c.

#define USB_DWC_CTRL6   0x30

Definition at line 65 of file alchemy-common.c.

#define USB_DWC_CTRL7   0x34

Definition at line 66 of file alchemy-common.c.

#define USB_INT_ENABLE   0xC8

Definition at line 69 of file alchemy-common.c.

#define USB_INT_STATUS   0xC4

Definition at line 68 of file alchemy-common.c.

#define USB_INTEN_EHCI   0x04

Definition at line 89 of file alchemy-common.c.

#define USB_INTEN_FORCE   0x20

Definition at line 86 of file alchemy-common.c.

#define USB_INTEN_OHCI0   0x01

Definition at line 91 of file alchemy-common.c.

#define USB_INTEN_OHCI1   0x02

Definition at line 90 of file alchemy-common.c.

#define USB_INTEN_PHY   0x10

Definition at line 87 of file alchemy-common.c.

#define USB_INTEN_UDC   0x08

Definition at line 88 of file alchemy-common.c.

#define USB_MSR_ERR   0x18

Definition at line 60 of file alchemy-common.c.

#define USB_OTG_STATUS   0x28

Definition at line 63 of file alchemy-common.c.

#define USB_PHY_STATUS   0xC0

Definition at line 67 of file alchemy-common.c.

#define USB_SBUS_CTRL   0x14

Definition at line 59 of file alchemy-common.c.

#define USB_SBUS_CTRL_SBCA   0x04 /* coherent access */

Definition at line 84 of file alchemy-common.c.

#define USB_VBUS_TIMER   0x10

Definition at line 58 of file alchemy-common.c.

#define USBCFG_DBE   (1 << 5) /* UDC busmaster enable */

Definition at line 43 of file alchemy-common.c.

#define USBCFG_DME   (1 << 4) /* UDC mem enable */

Definition at line 44 of file alchemy-common.c.

#define USBCFG_EBE   (1 << 3) /* EHCI busmaster enable */

Definition at line 45 of file alchemy-common.c.

#define USBCFG_ECE   (1 << 17) /* EHCI clock enable */

Definition at line 38 of file alchemy-common.c.

#define USBCFG_EME   (1 << 2) /* EHCI mem enable */

Definition at line 46 of file alchemy-common.c.

#define USBCFG_FLA (   x)    (((x) & 0x3f) << 8)

Definition at line 40 of file alchemy-common.c.

#define USBCFG_GME   (1 << 6) /* OTG mem access */

Definition at line 42 of file alchemy-common.c.

#define USBCFG_INIT_AU1200
Value:
USBCFG_SSD | USBCFG_FLA(0x20) | USBCFG_UCAM | \
USBCFG_GME | USBCFG_DBE | USBCFG_DME | \
USBCFG_EBE | USBCFG_EME | USBCFG_OBE | \
USBCFG_OME)

Definition at line 49 of file alchemy-common.c.

#define USBCFG_OBE   (1 << 1) /* OHCI busmaster enable */

Definition at line 47 of file alchemy-common.c.

#define USBCFG_OCE   (1 << 16) /* OHCI clock enable */

Definition at line 39 of file alchemy-common.c.

#define USBCFG_OME   (1 << 0) /* OHCI mem enable */

Definition at line 48 of file alchemy-common.c.

#define USBCFG_PFEN   (1 << 31) /* prefetch enable (undoc) */

Definition at line 32 of file alchemy-common.c.

#define USBCFG_PPE   (1 << 19) /* HS PHY PLL */

Definition at line 36 of file alchemy-common.c.

#define USBCFG_RDCOMB   (1 << 30) /* read combining (undoc) */

Definition at line 33 of file alchemy-common.c.

#define USBCFG_SSD   (1 << 23) /* serial short detect en */

Definition at line 35 of file alchemy-common.c.

#define USBCFG_UCAM   (1 << 7) /* coherent access (undoc) */

Definition at line 41 of file alchemy-common.c.

#define USBCFG_UCE   (1 << 18) /* UDC clock enable */

Definition at line 37 of file alchemy-common.c.

#define USBCFG_UNKNOWN   (5 << 20) /* unknown, leave this way */

Definition at line 34 of file alchemy-common.c.

#define USBHEN_BE   (1 << 0) /* OHCI Big-Endian */

Definition at line 29 of file alchemy-common.c.

#define USBHEN_C   (1 << 1) /* OHCI block coherency bit */

Definition at line 28 of file alchemy-common.c.

#define USBHEN_CE   (1 << 3) /* OHCI block clock enable */

Definition at line 26 of file alchemy-common.c.

#define USBHEN_E   (1 << 2) /* OHCI block enable */

Definition at line 27 of file alchemy-common.c.

#define USBHEN_RD   (1 << 4) /* OHCI reset-done indicator */

Definition at line 25 of file alchemy-common.c.

Function Documentation

int alchemy_usb_control ( int  block,
int  enable 
)

Definition at line 470 of file alchemy-common.c.

arch_initcall ( alchemy_usb_init  )
EXPORT_SYMBOL_GPL ( alchemy_usb_control  )