[U-Boot] [PATCH] usb: musb: set target address for non-multipoint devices

Mike Frysinger vapier at gentoo.org
Tue Aug 10 00:26:03 CEST 2010


On Mon, Aug 9, 2010 at 3:20 PM, Mike Frysinger wrote:
> On Mon, Aug 9, 2010 at 3:14 PM, Sergei Shtylyov wrote:
>> Mike Frysinger wrote:
>>> --- a/drivers/usb/musb/musb_hcd.c
>>> +++ b/drivers/usb/musb/musb_hcd.c
>>> @@ -917,6 +917,13 @@ int submit_control_msg(struct usb_device *dev,
>>> unsigned long pipe, void *buffer,
>>>        dev->status = 0;
>>>        dev->act_len = len;
>>> +
>>> +#ifdef MUSB_NO_MULTIPOINT
>>> +       /* Set device address to USB_FADDR register */
>>> +       if (setup->request == USB_REQ_SET_ADDRESS)
>>> +               writew(dev->devnum, &musbr->faddr);
>>
>>   FAddr is a 8-bit regisrer, isn't it?
>
> on Blackfin systems, it is 16bit ... i'll have to double check to see
> what the hardware does with an 8bit access.  i see there are other
> places in the code where 8bit is already being done, so those might
> need to be addressed as well ...

yeah, Blackfin hardware likes to reject 8bit accesses to this mmr.
although, i just remembered that in the musb code only, we
specifically rewrite all readb/writeb to readw/writew for Blackfin
systems.  so i'll change this patch to writeb as you suggested.
-mike


More information about the U-Boot mailing list