[PATCH 3/5] colibri-pxa300: add uart support

pieterg pieterg at gmx.com
Thu Jul 8 16:42:25 EDT 2010


On Thursday 08 July 2010 22:01:22 Marek Vasut wrote:
> Dne Čt 8. července 2010 19:04:08 pieterg napsal(a):
> > Signed-off-by: pieter <p.grimmerink at inepro.com>
> > ---
> >  arch/arm/mach-pxa/colibri-pxa300.c |   28 ++++++++++++++++++++++++++++
> >  1 files changed, 28 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/arm/mach-pxa/colibri-pxa300.c
> > b/arch/arm/mach-pxa/colibri-pxa300.c
> > index e7762ae..381857d 100644
> > --- a/arch/arm/mach-pxa/colibri-pxa300.c
> > +++ b/arch/arm/mach-pxa/colibri-pxa300.c
> > @@ -170,6 +170,33 @@ static inline void __init colibri_pxa310_init_ac97
> > (void)
> >  static inline void colibri_pxa310_init_ac97(void) {}
> >  #endif
> >
> > +static mfp_cfg_t colibri_pxa300_uart_pin_config[] __initdata = {
> > +	/* FFUART */
> > +	GPIO99_UART1_RXD,
> > +	GPIO100_UART1_TXD,
> > +	GPIO101_UART1_CTS,
> > +	GPIO102_UART1_DCD,
> > +	GPIO103_UART1_DTR,
> > +	GPIO104_UART1_RI,
> > +	GPIO105_UART1_DSR,
> > +	GPIO106_UART1_RTS,
> > +
> > +	/* BTUART */
> > +	GPIO111_UART2_CTS,
> > +	GPIO112_UART2_RXD,
> > +	GPIO113_UART2_TXD,
> > +	GPIO114_UART2_RTS,
> > +
> > +	/* STUART */
> > +	GPIO8_UART3_TXD,
> > +	GPIO110_UART3_RXD,
> > +};
> > +
> > +static void __init colibri_pxa300_init_uart(void)
> > +{
> > +	pxa3xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa300_uart_pin_config));
> > +}
> > +
> >  void __init colibri_pxa300_init(void)
> >  {
> >  	pxa_set_ffuart_info(NULL);
> > @@ -184,6 +211,7 @@ void __init colibri_pxa300_init(void)
> >  	colibri_pxa310_init_ac97();
> > 
> > 	colibri_pxa3xx_init_mmc(ARRAY_AND_SIZE(colibri_pxa300_mmc_pin_config),
> > mfp_to_gpio(MFP_PIN_GPIO13));
> > +	colibri_pxa300_init_uart();
> >  }
> >
> >  MACHINE_START(COLIBRI300, "Toradex Colibri PXA300")
>
> Can't you put this into the board MFP config array ?

As far as I see, the colibri's don't have a global MFP array anymore. 
Everything is split into function groups.
(which I think is nice btw, compared to -say- zylonite, where the MFP's do 
not obey CONFIG)

> Or the other way -- 
> register UARTs into that new function you introduced ?

You mean somehow make it easier for users to select which uarts they want, 
and which they don't? 
Indeed this construction makes it impossible to use those gpio's for 
anything else, but this is exactly how the uart gpio's are configured in 
colibri-pxa320.c as well. So if there's a nicer way, we'd have to the same 
there as well.

(a nice way in general might perhaps be to enable/disable all 3 uarts from 
the config. Though people might object to an increase in the number of 
necessary config variables)

Or do you just mean moving the pxa_set_xxuart_info calls into 
colibri_pxa300_init_uart, so we keep all uart stuff together?

Rgds, Pieter



More information about the linux-arm-kernel mailing list