[PATCH 1/3] add USB setup code for 8349emds PB

Li Yang-r58472 LeoLi at freescale.com
Tue Feb 6 14:15:24 EST 2007


> -----Original Message-----
> From: Kumar Gala [mailto:galak at kernel.crashing.org]
> Sent: Monday, February 05, 2007 11:04 PM
> To: Li Yang-r58472
> Cc: Paul; linuxppc-dev at ozlabs.org
> Subject: Re: [PATCH 1/3] add USB setup code for 8349emds PB
> 
> 
> On Feb 5, 2007, at 3:09 AM, Li Yang wrote:
> 
> You have no description about what this patch does and why its needed.

Add cpu and board specific initialization code for USB to work in both
MPH and DR mode for MPC8349EMDS PB board.
> 
> > Signed-off-by: Li Yang <leoli at freescale.com>
> > ---
> > arch/powerpc/platforms/83xx/Kconfig       |    4 ++
> > arch/powerpc/platforms/83xx/mpc834x_sys.c |   77 +++++++++++++++++++
> > ++++++++++
> > arch/powerpc/platforms/83xx/mpc834x_sys.h |   23 +++++++++
> > 3 files changed, 104 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/powerpc/platforms/83xx/Kconfig b/arch/powerpc/
> > platforms/83xx/Kconfig
> > index edcd5b8..5371645 100644
> > --- a/arch/powerpc/platforms/83xx/Kconfig
> > +++ b/arch/powerpc/platforms/83xx/Kconfig
> > @@ -59,4 +59,8 @@ config PPC_MPC836x
> > 	select PPC_INDIRECT_PCI
> > 	default y if MPC8360E_PB
> > +config 834x_USB_SUPPORT
> > +	bool
> > +	default y if MPC834x_SYS && (USB || USB_GADGET)
> > +
> 
> Do we really need to introduce a new config option?

It will be neater to make use of the Kconfig feature than judging all
the macros and module variations.  It will be a very long #if defined
the other way.

> > @@ -65,6 +120,7 @@ static void __init mpc834x_sys_setup_arch(void)
> > 			loops_per_jiffy = 50000000 / HZ;
> > 		of_node_put(np);
> > 	}
> > +
> > #ifdef CONFIG_PCI
> > 	for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
> > 		add_bridge(np);
> > @@ -72,6 +128,27 @@ static void __init mpc834x_sys_setup_arch(void)
> > 	ppc_md.pci_exclude_device = mpc83xx_exclude_device;
> > #endif
> > +#ifdef CONFIG_834x_USB_SUPPORT
> > +	mpc834x_usb_cfg();
> > +
> > +	/* Map BCSR area */
> > +	np = of_find_node_by_name(NULL, "bcsr");
> > +	if (np != 0) {
> > +		struct resource res;
> > +
> > +		of_address_to_resource(np, 0, &res);
> > +		bcsr_regs = ioremap(res.start, res.end - res.start + 1);
> > +		of_node_put(np);
> > +	}
> > +
> > +	/*
> > +	 * if SYS board is plug into PIB board,
> > +	 * force to use the PHY on SYS board
> > +	 * */
> > +	if ((bcsr_regs != NULL) && !(bcsr_regs[5] & BCSR5_INT_USB))
> > +		bcsr_regs[5] |= BCSR5_INT_USB;
> 
> why not fold all this into mpc834x_usb_cfg() since its all board
> related config code?

Well, not quite.  The code in mpc834x_usb_cfg() is 834x CPU specific
initialization.  The bcsr is board specific.

- Leo



More information about the Linuxppc-dev mailing list