On Thu, Aug 13, 2009 at 7:32 AM, Eric Millbrandt<emillbra...@coldhaus.com> wrote: > Support USB on PSC3 on the mpc5200. Before this patch, enabling USB support > would reconfigure PSC4 and PSC5 to USB. The mpc5200 does not support USB > enabled on both the standard USB port and PSC3. This patch masks the > appropriate bits when enabling USB. > > Signed-off-by: Eric Millbrandt <emillbra...@dekaresearch.com> Acked-by: Grant Likely <grant.lik...@secretlab.ca>
> --- > README | 4 ++++ > cpu/mpc5xxx/usb.c | 6 +++++- > cpu/mpc5xxx/usb_ohci.c | 6 +++++- > 3 files changed, 14 insertions(+), 2 deletions(-) > > diff --git a/README b/README > index 9071472..a8dc1cd 100644 > --- a/README > +++ b/README > @@ -854,9 +854,13 @@ The following options need to be configured: > MPC5200 USB requires additional defines: > CONFIG_USB_CLOCK > for 528 MHz Clock: 0x0001bbbb > + CONFIG_PSC3_USB > + for USB on PSC3 > CONFIG_USB_CONFIG > for differential drivers: 0x00001000 > for single ended drivers: 0x00005000 > + for differential drivers on PSC3: 0x00000100 > + for single ended drivers on PSC3: 0x00004100 > CONFIG_SYS_USB_EVENT_POLL > May be defined to allow interrupt polling > instead of using asynchronous interrupts > diff --git a/cpu/mpc5xxx/usb.c b/cpu/mpc5xxx/usb.c > index 8f2b66a..bec7da3 100644 > --- a/cpu/mpc5xxx/usb.c > +++ b/cpu/mpc5xxx/usb.c > @@ -32,9 +32,13 @@ int usb_cpu_init(void) > /* Set the USB Clock */ > *(vu_long *)MPC5XXX_CDM_48_FDC = CONFIG_USB_CLOCK; > > +#ifdef CONFIG_PSC3_USB /* USB is using the alternate configuration */ > + /* remove all PSC3 USB bits first before ORing in ours */ > + *(vu_long *)MPC5XXX_GPS_PORT_CONFIG &= ~0x00804f00; > +#else > /* remove all USB bits first before ORing in ours */ > *(vu_long *)MPC5XXX_GPS_PORT_CONFIG &= ~0x00807000; > - > +#endif > /* Activate USB port */ > *(vu_long *)MPC5XXX_GPS_PORT_CONFIG |= CONFIG_USB_CONFIG; > > diff --git a/cpu/mpc5xxx/usb_ohci.c b/cpu/mpc5xxx/usb_ohci.c > index 61a4e3f..66a4af8 100644 > --- a/cpu/mpc5xxx/usb_ohci.c > +++ b/cpu/mpc5xxx/usb_ohci.c > @@ -1576,9 +1576,13 @@ int usb_lowlevel_init(void) > /* Set the USB Clock */ > *(vu_long *)MPC5XXX_CDM_48_FDC = CONFIG_USB_CLOCK; > > +#ifdef CONFIG_PSC3_USB /* USB is using the alternate configuration */ > + /* remove all PSC3 USB bits first before ORing in ours */ > + *(vu_long *)MPC5XXX_GPS_PORT_CONFIG &= ~0x00804f00; > +#else > /* remove all USB bits first before ORing in ours */ > *(vu_long *)MPC5XXX_GPS_PORT_CONFIG &= ~0x00807000; > - > +#endif > /* Activate USB port */ > *(vu_long *)MPC5XXX_GPS_PORT_CONFIG |= CONFIG_USB_CONFIG; > > -- > 1.6.3.1 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot > -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot