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

Marek Vasut marek.vasut at gmail.com
Thu Jul 8 18:58:59 EDT 2010


Dne Čt 8. července 2010 22:42:25 pieterg napsal(a):
> 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?

This is what I mean, sorry, lack of sleep.
> 
> Rgds, Pieter



More information about the linux-arm-kernel mailing list