[U-Boot] [PATCH] Add support for USB on PSC3 for the mpc5200
Grant Likely
grant.likely at secretlab.ca
Thu Aug 13 17:50:50 CEST 2009
On Thu, Aug 13, 2009 at 7:32 AM, Eric
Millbrandt<emillbrandt at 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 <emillbrandt at dekaresearch.com>
Acked-by: Grant Likely <grant.likely at 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 at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the U-Boot
mailing list