mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-17 23:37:01 +00:00
Merge branch 'master' of git://git.denx.de/u-boot-usb
This commit is contained in:
commit
b4039a5415
7 changed files with 28 additions and 22 deletions
|
@ -70,7 +70,7 @@
|
|||
/* direction table -- this indicates the direction of the data
|
||||
* transfer for each command code -- a 1 indicates input
|
||||
*/
|
||||
unsigned char us_direction[256/8] = {
|
||||
static const unsigned char us_direction[256/8] = {
|
||||
0x28, 0x81, 0x14, 0x14, 0x20, 0x01, 0x90, 0x77,
|
||||
0x0C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
|
||||
|
|
|
@ -205,12 +205,12 @@ static int handshake(uint32_t *ptr, uint32_t mask, uint32_t done, int usec)
|
|||
uint32_t result;
|
||||
do {
|
||||
result = ehci_readl(ptr);
|
||||
udelay(5);
|
||||
if (result == ~(uint32_t)0)
|
||||
return -1;
|
||||
result &= mask;
|
||||
if (result == done)
|
||||
return 0;
|
||||
udelay(1);
|
||||
usec--;
|
||||
} while (usec > 0);
|
||||
return -1;
|
||||
|
|
|
@ -53,6 +53,10 @@ int ehci_hcd_init(void)
|
|||
hcor = (struct ehci_hcor *)((uint32_t) hccr +
|
||||
HC_LENGTH(ehci_readl(&hccr->cr_capbase)));
|
||||
|
||||
debug("EHCI-PCI init hccr 0x%x and hcor 0x%x hc_length %d\n",
|
||||
(uint32_t)hccr, (uint32_t)hcor,
|
||||
(uint32_t)HC_LENGTH(ehci_readl(&hccr->cr_capbase)));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@ struct qTD {
|
|||
uint32_t qt_buffer_hi[5]; /* Appendix B */
|
||||
/* pad struct for 32 byte alignment */
|
||||
uint32_t unused[3];
|
||||
} __attribute__ ((aligned (32)));
|
||||
};
|
||||
|
||||
/* Queue Head (QH). */
|
||||
struct QH {
|
||||
|
|
|
@ -76,7 +76,7 @@ void musb_start(void)
|
|||
* epinfo - Pointer to EP configuration table
|
||||
* cnt - Number of entries in the EP conf table.
|
||||
*/
|
||||
void musb_configure_ep(struct musb_epinfo *epinfo, u8 cnt)
|
||||
void musb_configure_ep(const struct musb_epinfo *epinfo, u8 cnt)
|
||||
{
|
||||
u16 csr;
|
||||
u16 fifoaddr = 64; /* First 64 bytes of FIFO reserved for EP0 */
|
||||
|
|
|
@ -357,7 +357,7 @@ extern struct musb_regs *musbr;
|
|||
|
||||
/* exported functions */
|
||||
extern void musb_start(void);
|
||||
extern void musb_configure_ep(struct musb_epinfo *epinfo, u8 cnt);
|
||||
extern void musb_configure_ep(const struct musb_epinfo *epinfo, u8 cnt);
|
||||
extern void write_fifo(u8 ep, u32 length, void *fifo_data);
|
||||
extern void read_fifo(u8 ep, u32 length, void *fifo_data);
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
#define USB_MSC_BBB_GET_MAX_LUN 0xFE
|
||||
|
||||
/* Endpoint configuration information */
|
||||
static struct musb_epinfo epinfo[3] = {
|
||||
static const struct musb_epinfo epinfo[3] = {
|
||||
{MUSB_BULK_EP, 1, 512}, /* EP1 - Bluk Out - 512 Bytes */
|
||||
{MUSB_BULK_EP, 0, 512}, /* EP1 - Bluk In - 512 Bytes */
|
||||
{MUSB_INTR_EP, 0, 64} /* EP2 - Interrupt IN - 64 Bytes */
|
||||
|
@ -41,7 +41,7 @@ static int rh_devnum;
|
|||
static u32 port_status;
|
||||
|
||||
/* Device descriptor */
|
||||
static u8 root_hub_dev_des[] = {
|
||||
static const u8 root_hub_dev_des[] = {
|
||||
0x12, /* __u8 bLength; */
|
||||
0x01, /* __u8 bDescriptorType; Device */
|
||||
0x00, /* __u16 bcdUSB; v1.1 */
|
||||
|
@ -63,7 +63,7 @@ static u8 root_hub_dev_des[] = {
|
|||
};
|
||||
|
||||
/* Configuration descriptor */
|
||||
static u8 root_hub_config_des[] = {
|
||||
static const u8 root_hub_config_des[] = {
|
||||
0x09, /* __u8 bLength; */
|
||||
0x02, /* __u8 bDescriptorType; Configuration */
|
||||
0x19, /* __u16 wTotalLength; */
|
||||
|
@ -96,14 +96,14 @@ static u8 root_hub_config_des[] = {
|
|||
0xff /* __u8 ep_bInterval; 255 ms */
|
||||
};
|
||||
|
||||
static unsigned char root_hub_str_index0[] = {
|
||||
static const unsigned char root_hub_str_index0[] = {
|
||||
0x04, /* __u8 bLength; */
|
||||
0x03, /* __u8 bDescriptorType; String-descriptor */
|
||||
0x09, /* __u8 lang ID */
|
||||
0x04, /* __u8 lang ID */
|
||||
};
|
||||
|
||||
static unsigned char root_hub_str_index1[] = {
|
||||
static const unsigned char root_hub_str_index1[] = {
|
||||
0x1c, /* __u8 bLength; */
|
||||
0x03, /* __u8 bDescriptorType; String-descriptor */
|
||||
'M', /* __u8 Unicode */
|
||||
|
@ -557,7 +557,7 @@ static int musb_submit_rh_msg(struct usb_device *dev, unsigned long pipe,
|
|||
int len = 0;
|
||||
int stat = 0;
|
||||
u32 datab[4];
|
||||
u8 *data_buf = (u8 *) datab;
|
||||
const u8 *data_buf = (u8 *) datab;
|
||||
u16 bmRType_bReq;
|
||||
u16 wValue;
|
||||
u16 wIndex;
|
||||
|
@ -778,25 +778,27 @@ static int musb_submit_rh_msg(struct usb_device *dev, unsigned long pipe,
|
|||
|
||||
break;
|
||||
|
||||
case RH_GET_DESCRIPTOR | RH_CLASS:
|
||||
case RH_GET_DESCRIPTOR | RH_CLASS: {
|
||||
u8 *_data_buf = (u8 *) datab;
|
||||
debug("RH_GET_DESCRIPTOR | RH_CLASS\n");
|
||||
|
||||
data_buf[0] = 0x09; /* min length; */
|
||||
data_buf[1] = 0x29;
|
||||
data_buf[2] = 0x1; /* 1 port */
|
||||
data_buf[3] = 0x01; /* per-port power switching */
|
||||
data_buf[3] |= 0x10; /* no overcurrent reporting */
|
||||
_data_buf[0] = 0x09; /* min length; */
|
||||
_data_buf[1] = 0x29;
|
||||
_data_buf[2] = 0x1; /* 1 port */
|
||||
_data_buf[3] = 0x01; /* per-port power switching */
|
||||
_data_buf[3] |= 0x10; /* no overcurrent reporting */
|
||||
|
||||
/* Corresponds to data_buf[4-7] */
|
||||
data_buf[4] = 0;
|
||||
data_buf[5] = 5;
|
||||
data_buf[6] = 0;
|
||||
data_buf[7] = 0x02;
|
||||
data_buf[8] = 0xff;
|
||||
_data_buf[4] = 0;
|
||||
_data_buf[5] = 5;
|
||||
_data_buf[6] = 0;
|
||||
_data_buf[7] = 0x02;
|
||||
_data_buf[8] = 0xff;
|
||||
|
||||
len = min_t(unsigned int, leni,
|
||||
min_t(unsigned int, data_buf[0], wLength));
|
||||
break;
|
||||
}
|
||||
|
||||
case RH_GET_CONFIGURATION:
|
||||
debug("RH_GET_CONFIGURATION\n");
|
||||
|
|
Loading…
Add table
Reference in a new issue