[U-Boot] [PATCH 1/2] pinctrl: at91-pio4: add pinctrl driver
Yang, Wenyou
Wenyou.Yang at atmel.com
Wed May 4 07:15:57 CEST 2016
Hi Andreas,
Thank you for your review.
> -----Original Message-----
> From: Andreas Bießmann [mailto:andreas at biessmann.org]
> Sent: 2016年5月3日 19:18
> To: Yang, Wenyou <Wenyou.Yang at atmel.com>
> Cc: U-Boot Mailing List <u-boot at lists.denx.de>
> Subject: Re: [U-Boot] [PATCH 1/2] pinctrl: at91-pio4: add pinctrl driver
>
> Dear Wenyou,
>
> On 2016-04-07 04:15, Wenyou Yang wrote:
> > AT91 PIO4 controller is a combined gpio-controller, pin-mux and
> > pin-config module. The peripherals are assigned pins through per-pin
> > based muxing logic. And the pin configuration are performed on
> > specific registers which are shared along with the gpio controller.
> >
> > Signed-off-by: Wenyou Yang <wenyou.yang at atmel.com>
> > ---
> >
> > arch/arm/mach-at91/include/mach/atmel_pio4.h | 35 ++++++
> > drivers/pinctrl/Kconfig | 7 ++
> > drivers/pinctrl/Makefile | 1 +
> > drivers/pinctrl/pinctrl-at91-pio4.c | 164
> > +++++++++++++++++++++++++++
> > 4 files changed, 207 insertions(+)
> > create mode 100644 drivers/pinctrl/pinctrl-at91-pio4.c
> >
> > diff --git a/arch/arm/mach-at91/include/mach/atmel_pio4.h
> > b/arch/arm/mach-at91/include/mach/atmel_pio4.h
> > index 8bb4b12..6760bec 100644
> > --- a/arch/arm/mach-at91/include/mach/atmel_pio4.h
> > +++ b/arch/arm/mach-at91/include/mach/atmel_pio4.h
> > @@ -29,6 +29,41 @@ struct atmel_pio4_port {
> >
> > #endif
> >
> > +/*
> > + * PIO Configuration Register Fields
> > + */
> > +#define ATMEL_PIO_CFGR_FUNC_MASK GENMASK(2, 0)
> > +#define ATMEL_PIO_CFGR_FUNC_GPIO (0x0 << 0)
> > +#define ATMEL_PIO_CFGR_FUNC_PERIPH_A (0x1 << 0)
> > +#define ATMEL_PIO_CFGR_FUNC_PERIPH_B (0x2 << 0)
> > +#define ATMEL_PIO_CFGR_FUNC_PERIPH_C (0x3 << 0)
> > +#define ATMEL_PIO_CFGR_FUNC_PERIPH_D (0x4 << 0)
> > +#define ATMEL_PIO_CFGR_FUNC_PERIPH_E (0x5 << 0)
> > +#define ATMEL_PIO_CFGR_FUNC_PERIPH_F (0x6 << 0)
> > +#define ATMEL_PIO_CFGR_FUNC_PERIPH_G (0x7 << 0)
> > +#define ATMEL_PIO_DIR_MASK BIT(8)
> > +#define ATMEL_PIO_PUEN_MASK BIT(9)
> > +#define ATMEL_PIO_PDEN_MASK BIT(10)
> > +#define ATMEL_PIO_IFEN_MASK BIT(12)
> > +#define ATMEL_PIO_IFSCEN_MASK BIT(13)
> > +#define ATMEL_PIO_OPD_MASK BIT(14)
> > +#define ATMEL_PIO_SCHMITT_MASK BIT(15)
> > +#define ATMEL_PIO_CFGR_EVTSEL_MASK GENMASK(26, 24)
> > +#define ATMEL_PIO_CFGR_EVTSEL_FALLING (0 << 24)
> > +#define ATMEL_PIO_CFGR_EVTSEL_RISING (1 << 24)
> > +#define ATMEL_PIO_CFGR_EVTSEL_BOTH (2 << 24)
> > +#define ATMEL_PIO_CFGR_EVTSEL_LOW (3 << 24)
> > +#define ATMEL_PIO_CFGR_EVTSEL_HIGH (4 << 24)
>
> just realized that most of these definitions are already in the existing GPIO driver.
> Could you please put another patch before moving these definitions from the
> driver code to the header. It is ok for me to rephrase them when doing so.
Add a new patch to handle it.
Thank you.
Best Regards,
Wenyou Yang
More information about the U-Boot
mailing list