mirror of
https://xff.cz/git/u-boot/
synced 2025-09-29 22:41:17 +02:00
usb: ehci: Split out struct ehci_ctrl definition
Move the struct ehci_ctrl defition from ehci-hcd.c into ehci.h so it can be re-used by drivers. In particular, the mv_udc driver can benefit from this move. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Lei Wen <leiwen@marvell.com> Cc: Otavio Salvador <otavio@ossystems.com.br> Cc: Stefano Babic <sbabic@denx.de>
This commit is contained in:
@@ -36,16 +36,7 @@
|
|||||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct ehci_ctrl {
|
static struct ehci_ctrl ehcic[CONFIG_USB_MAX_CONTROLLER_COUNT];
|
||||||
struct ehci_hccr *hccr; /* R/O registers, not need for volatile */
|
|
||||||
struct ehci_hcor *hcor;
|
|
||||||
int rootdev;
|
|
||||||
uint16_t portreset;
|
|
||||||
struct QH qh_list __aligned(USB_DMA_MINALIGN);
|
|
||||||
struct QH periodic_queue __aligned(USB_DMA_MINALIGN);
|
|
||||||
uint32_t *periodic_list;
|
|
||||||
int ntds;
|
|
||||||
} ehcic[CONFIG_USB_MAX_CONTROLLER_COUNT];
|
|
||||||
|
|
||||||
#define ALIGN_END_ADDR(type, ptr, size) \
|
#define ALIGN_END_ADDR(type, ptr, size) \
|
||||||
((uint32_t)(ptr) + roundup((size) * sizeof(type), USB_DMA_MINALIGN))
|
((uint32_t)(ptr) + roundup((size) * sizeof(type), USB_DMA_MINALIGN))
|
||||||
|
@@ -22,6 +22,8 @@
|
|||||||
#ifndef USB_EHCI_H
|
#ifndef USB_EHCI_H
|
||||||
#define USB_EHCI_H
|
#define USB_EHCI_H
|
||||||
|
|
||||||
|
#include <usb.h>
|
||||||
|
|
||||||
#if !defined(CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS)
|
#if !defined(CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS)
|
||||||
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
|
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
|
||||||
#endif
|
#endif
|
||||||
@@ -252,6 +254,17 @@ struct QH {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct ehci_ctrl {
|
||||||
|
struct ehci_hccr *hccr; /* R/O registers, not need for volatile */
|
||||||
|
struct ehci_hcor *hcor;
|
||||||
|
int rootdev;
|
||||||
|
uint16_t portreset;
|
||||||
|
struct QH qh_list __aligned(USB_DMA_MINALIGN);
|
||||||
|
struct QH periodic_queue __aligned(USB_DMA_MINALIGN);
|
||||||
|
uint32_t *periodic_list;
|
||||||
|
int ntds;
|
||||||
|
};
|
||||||
|
|
||||||
/* Low level init functions */
|
/* Low level init functions */
|
||||||
int ehci_hcd_init(int index, struct ehci_hccr **hccr, struct ehci_hcor **hcor);
|
int ehci_hcd_init(int index, struct ehci_hccr **hccr, struct ehci_hcor **hcor);
|
||||||
int ehci_hcd_stop(int index);
|
int ehci_hcd_stop(int index);
|
||||||
|
Reference in New Issue
Block a user