]> git.sur5r.net Git - u-boot/blobdiff - cpu/arm920t/s3c24x0/usb_ohci.h
Clean-up of cpu_arm920t and cpu_arm920t_s3c24x0 code
[u-boot] / cpu / arm920t / s3c24x0 / usb_ohci.h
index 8e093fbfc640433eb871910d9b46c000153f826e..f272d788592477bfbc5ce6f5408b71ea8958c26a 100644 (file)
 static int cc_to_error[16] = {
 
 /* mapping of the OHCI CC status to error codes */
-       /* No  Error  */               0,
-       /* CRC Error  */               USB_ST_CRC_ERR,
-       /* Bit Stuff  */               USB_ST_BIT_ERR,
-       /* Data Togg  */               USB_ST_CRC_ERR,
-       /* Stall      */               USB_ST_STALLED,
-       /* DevNotResp */               -1,
-       /* PIDCheck   */               USB_ST_BIT_ERR,
-       /* UnExpPID   */               USB_ST_BIT_ERR,
-       /* DataOver   */               USB_ST_BUF_ERR,
-       /* DataUnder  */               USB_ST_BUF_ERR,
-       /* reservd    */               -1,
-       /* reservd    */               -1,
-       /* BufferOver */               USB_ST_BUF_ERR,
-       /* BuffUnder  */               USB_ST_BUF_ERR,
-       /* Not Access */               -1,
-       /* Not Access */               -1
+       /* No  Error  */ 0,
+       /* CRC Error  */ USB_ST_CRC_ERR,
+       /* Bit Stuff  */ USB_ST_BIT_ERR,
+       /* Data Togg  */ USB_ST_CRC_ERR,
+       /* Stall      */ USB_ST_STALLED,
+       /* DevNotResp */ -1,
+       /* PIDCheck   */ USB_ST_BIT_ERR,
+       /* UnExpPID   */ USB_ST_BIT_ERR,
+       /* DataOver   */ USB_ST_BUF_ERR,
+       /* DataUnder  */ USB_ST_BUF_ERR,
+       /* reservd    */ -1,
+       /* reservd    */ -1,
+       /* BufferOver */ USB_ST_BUF_ERR,
+       /* BuffUnder  */ USB_ST_BUF_ERR,
+       /* Not Access */ -1,
+       /* Not Access */ -1
 };
 
 /* ED States */
@@ -55,14 +55,13 @@ struct ed {
 
        struct usb_device *usb_dev;
        __u32 unused[3];
-} __attribute__((aligned(16)));
-typedef struct ed ed_t;
-
+} __attribute__ ((aligned(16)));
 
 /* TD info field */
 #define TD_CC                  0xf0000000
-#define TD_CC_GET(td_p)                ((td_p >>28) & 0x0f)
-#define TD_CC_SET(td_p, cc)    (td_p) = ((td_p) & 0x0fffffff) | (((cc) & 0x0f) << 28)
+#define TD_CC_GET(td_p)                (((td_p) >> 28) & 0x0f)
+#define TD_CC_SET(td_p, cc) \
+       {(td_p) = ((td_p) & 0x0fffffff) | (((cc) & 0x0f) << 28)}
 #define TD_EC                  0x0C000000
 #define TD_T                   0x03000000
 #define TD_T_DATA0             0x02000000
@@ -112,8 +111,7 @@ struct td {
        __u32 data;
 
        __u32 unused2[2];
-} __attribute__((aligned(32)));
-typedef struct td td_t;
+} __attribute__ ((aligned(32)));
 
 #define OHCI_ED_SKIP   (1 << 14)
 
@@ -123,15 +121,14 @@ typedef struct td td_t;
  * told the base address of.  It must be 256-byte aligned.
  */
 
-#define NUM_INTS 32    /* part of the OHCI standard */
+#define NUM_INTS 32            /* part of the OHCI standard */
 struct ohci_hcca {
-       __u32   int_table[NUM_INTS];    /* Interrupt ED table */
-       __u16   frame_no;               /* current frame number */
-       __u16   pad1;                   /* set to 0 on each frame_no change */
-       __u32   done_head;              /* info returned for an interrupt */
-       u8      reserved_for_hc[116];
-} __attribute__((aligned(256)));
-
+       __u32 int_table[NUM_INTS];      /* Interrupt ED table */
+       __u16 frame_no;         /* current frame number */
+       __u16 pad1;             /* set to 0 on each frame_no change */
+       __u32 done_head;        /* info returned for an interrupt */
+       u8 reserved_for_hc[116];
+} __attribute__ ((aligned(256)));
 
 /*
  * Maximum number of root hub ports.
@@ -145,35 +142,34 @@ struct ohci_hcca {
  */
 struct ohci_regs {
        /* control and status registers */
-       __u32   revision;
-       __u32   control;
-       __u32   cmdstatus;
-       __u32   intrstatus;
-       __u32   intrenable;
-       __u32   intrdisable;
+       __u32 revision;
+       __u32 control;
+       __u32 cmdstatus;
+       __u32 intrstatus;
+       __u32 intrenable;
+       __u32 intrdisable;
        /* memory pointers */
-       __u32   hcca;
-       __u32   ed_periodcurrent;
-       __u32   ed_controlhead;
-       __u32   ed_controlcurrent;
-       __u32   ed_bulkhead;
-       __u32   ed_bulkcurrent;
-       __u32   donehead;
+       __u32 hcca;
+       __u32 ed_periodcurrent;
+       __u32 ed_controlhead;
+       __u32 ed_controlcurrent;
+       __u32 ed_bulkhead;
+       __u32 ed_bulkcurrent;
+       __u32 donehead;
        /* frame counters */
-       __u32   fminterval;
-       __u32   fmremaining;
-       __u32   fmnumber;
-       __u32   periodicstart;
-       __u32   lsthresh;
+       __u32 fminterval;
+       __u32 fmremaining;
+       __u32 fmnumber;
+       __u32 periodicstart;
+       __u32 lsthresh;
        /* Root hub ports */
-       struct  ohci_roothub_regs {
-               __u32   a;
-               __u32   b;
-               __u32   status;
-               __u32   portstatus[MAX_ROOT_PORTS];
+       struct ohci_roothub_regs {
+               __u32 a;
+               __u32 b;
+               __u32 status;
+               __u32 portstatus[MAX_ROOT_PORTS];
        } roothub;
-} __attribute__((aligned(32)));
-
+} __attribute__ ((aligned(32)));
 
 /* OHCI CONTROL AND STATUS REGISTER MASKS */
 
@@ -221,11 +217,10 @@ struct ohci_regs {
 #define OHCI_INTR_OC   (1 << 30)       /* ownership change */
 #define OHCI_INTR_MIE  (1 << 31)       /* master interrupt enable */
 
-
 /* Virtual Root HUB */
 struct virt_root_hub {
-       int devnum; /* Address of Root Hub endpoint */
-       void *dev;  /* was urb */
+       int devnum;             /* Address of Root Hub endpoint */
+       void *dev;              /* was urb */
        void *int_addr;
        int send;
        int interval;
@@ -288,52 +283,52 @@ struct virt_root_hub {
 /* OHCI ROOT HUB REGISTER MASKS */
 
 /* roothub.portstatus [i] bits */
-#define RH_PS_CCS              0x00000001      /* current connect status */
-#define RH_PS_PES              0x00000002      /* port enable status*/
-#define RH_PS_PSS              0x00000004      /* port suspend status */
-#define RH_PS_POCI             0x00000008      /* port over current indicator */
-#define RH_PS_PRS              0x00000010      /* port reset status */
-#define RH_PS_PPS              0x00000100      /* port power status */
-#define RH_PS_LSDA             0x00000200      /* low speed device attached */
-#define RH_PS_CSC              0x00010000      /* connect status change */
-#define RH_PS_PESC             0x00020000      /* port enable status change */
-#define RH_PS_PSSC             0x00040000      /* port suspend status change */
-#define RH_PS_OCIC             0x00080000      /* over current indicator change */
-#define RH_PS_PRSC             0x00100000      /* port reset status change */
+#define RH_PS_CCS              0x00000001 /* current connect status */
+#define RH_PS_PES              0x00000002 /* port enable status */
+#define RH_PS_PSS              0x00000004 /* port suspend status */
+#define RH_PS_POCI             0x00000008 /* port over current indicator */
+#define RH_PS_PRS              0x00000010 /* port reset status */
+#define RH_PS_PPS              0x00000100 /* port power status */
+#define RH_PS_LSDA             0x00000200 /* low speed device attached */
+#define RH_PS_CSC              0x00010000 /* connect status change */
+#define RH_PS_PESC             0x00020000 /* port enable status change */
+#define RH_PS_PSSC             0x00040000 /* port suspend status change */
+#define RH_PS_OCIC             0x00080000 /* over current indicator change */
+#define RH_PS_PRSC             0x00100000 /* port reset status change */
 
 /* roothub.status bits */
-#define RH_HS_LPS              0x00000001      /* local power status */
-#define RH_HS_OCI              0x00000002      /* over current indicator */
-#define RH_HS_DRWE             0x00008000      /* device remote wakeup enable */
-#define RH_HS_LPSC             0x00010000      /* local power status change */
-#define RH_HS_OCIC             0x00020000      /* over current indicator change */
-#define RH_HS_CRWE             0x80000000      /* clear remote wakeup enable */
+#define RH_HS_LPS              0x00000001 /* local power status */
+#define RH_HS_OCI              0x00000002 /* over current indicator */
+#define RH_HS_DRWE             0x00008000 /* device remote wakeup enable */
+#define RH_HS_LPSC             0x00010000 /* local power status change */
+#define RH_HS_OCIC             0x00020000 /* over current indicator change */
+#define RH_HS_CRWE             0x80000000 /* clear remote wakeup enable */
 
 /* roothub.b masks */
-#define RH_B_DR                        0x0000ffff      /* device removable flags */
-#define RH_B_PPCM              0xffff0000      /* port power control mask */
+#define RH_B_DR                        0x0000ffff /* device removable flags */
+#define RH_B_PPCM              0xffff0000 /* port power control mask */
 
 /* roothub.a masks */
-#define        RH_A_NDP                (0xff << 0)     /* number of downstream ports */
-#define        RH_A_PSM                (1 << 8)        /* power switching mode */
-#define        RH_A_NPS                (1 << 9)        /* no power switching */
-#define        RH_A_DT                 (1 << 10)       /* device type (mbz) */
-#define        RH_A_OCPM               (1 << 11)       /* over current protection mode */
-#define        RH_A_NOCP               (1 << 12)       /* no over current protection */
-#define        RH_A_POTPGT             (0xff << 24)    /* power on to power good time */
+#define        RH_A_NDP                (0xff << 0)  /* number of downstream ports */
+#define        RH_A_PSM                (1 << 8)     /* power switching mode */
+#define        RH_A_NPS                (1 << 9)     /* no power switching */
+#define        RH_A_DT                 (1 << 10)    /* device type (mbz) */
+#define        RH_A_OCPM               (1 << 11)    /* over current protection mode */
+#define        RH_A_NOCP               (1 << 12)    /* no over current protection */
+#define        RH_A_POTPGT             (0xff << 24) /* power on to power good time */
 
 /* urb */
 #define N_URB_TD 48
-typedef struct
-{
-       ed_t *ed;
-       __u16 length;   /* number of tds associated with this request */
-       __u16 td_cnt;   /* number of tds already serviced */
-       int   state;
+struct urb_priv {
+       struct ed *ed;
+       __u16 length;           /* number of tds associated with this request */
+       __u16 td_cnt;           /* number of tds already serviced */
+       int state;
        unsigned long pipe;
        int actual_length;
-       td_t *td[N_URB_TD];     /* list pointer to all corresponding TDs associated with this request */
-} urb_priv_t;
+       struct td *td[N_URB_TD];        /* list pointer to all corresponding TDs
+                                          associated with this request */
+};
 #define URB_DEL 1
 
 /*
@@ -344,7 +339,7 @@ typedef struct
  */
 
 
-typedef struct ohci {
+struct ohci {
        struct ohci_hcca *hcca; /* hcca */
        /*dma_addr_t hcca_dma; */
 
@@ -355,29 +350,29 @@ typedef struct ohci {
 
        struct ohci_regs *regs; /* OHCI controller's memory */
 
-       ed_t *ed_rm_list[2];    /* lists of all endpoints to be removed */
-       ed_t *ed_bulktail;      /* last endpoint of bulk list */
-       ed_t *ed_controltail;   /* last endpoint of control list */
+       struct ed *ed_rm_list[2];  /* lists of all endpoints to be removed */
+       struct ed *ed_bulktail;    /* last endpoint of bulk list */
+       struct ed *ed_controltail; /* last endpoint of control list */
        int intrstatus;
        __u32 hc_control;       /* copy of the hc control reg */
        struct usb_device *dev[32];
        struct virt_root_hub rh;
 
        const char *slot_name;
-} ohci_t;
+};
 
 #define NUM_EDS 8              /* num of preallocated endpoint descriptors */
 
 struct ohci_device {
-       ed_t ed[NUM_EDS];
+       struct ed ed[NUM_EDS];
        int ed_cnt;
 };
 
 /* hcd */
 /* endpoint */
-static int ep_link (ohci_t * ohci, ed_t * ed);
-static int ep_unlink (ohci_t * ohci, ed_t * ed);
-static ed_t *ep_add_ed (struct usb_device *usb_dev, unsigned long pipe);
+static int ep_link(struct ohci *ohci, struct ed *ed);
+static int ep_unlink(struct ohci *ohci, struct ed *ed);
+static struct ed *ep_add_ed(struct usb_device *usb_dev, unsigned long pipe);
 
 /*-------------------------------------------------------------------------*/
 
@@ -385,13 +380,13 @@ static ed_t *ep_add_ed (struct usb_device *usb_dev, unsigned long pipe);
 #define NUM_TD 64
 
 /* +1 so we can align the storage */
-td_t gtd[NUM_TD + 1];
+struct td gtd[NUM_TD + 1];
 
 /* pointers to aligned storage */
-td_t *ptd;
+struct td *ptd;
 
 /* TDs ... */
-static inline struct td *td_alloc (struct usb_device *usb_dev)
+static inline struct td *td_alloc(struct usb_device *usb_dev)
 {
        int i;
        struct td *td;
@@ -408,7 +403,7 @@ static inline struct td *td_alloc (struct usb_device *usb_dev)
        return td;
 }
 
-static inline void ed_free (struct ed *ed)
+static inline void ed_free(struct ed *ed)
 {
        ed->usb_dev = NULL;
 }