[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