[U-Boot] [PATCH v2] ATMEL/PIO: Enable new feature of PIO on Atmel device
Andreas Bießmann
andreas.devel at googlemail.com
Wed May 16 12:42:02 CEST 2012
Dear Bo Shen,
On 16.05.2012 04:16, Bo Shen wrote:
> v2:
> Remove legacy interface.
>
> v1:
> Enable new PIO feature supported by Atmel SoC.
> Using CPU_HAS_PIO3 micro to enable PIO new feature.
these go behind the '---' line. All before the '---' will be the git
commit message. The git commit message should not contain the history!
Please read http://www.denx.de/wiki/U-Boot/Patches for that.
> Signed-off-by: Bo Shen <voice.shen at atmel.com>
> ---
> arch/arm/include/asm/arch-at91/at91_pio.h | 78 ++++++++++--------
> drivers/gpio/at91_gpio.c | 125 ++++++++++++++++++++++++++++-
> 2 files changed, 167 insertions(+), 36 deletions(-)
>
> diff --git a/arch/arm/include/asm/arch-at91/at91_pio.h b/arch/arm/include/asm/arch-at91/at91_pio.h
> index 416cabf..0ec2dca 100644
> --- a/arch/arm/include/asm/arch-at91/at91_pio.h
> +++ b/arch/arm/include/asm/arch-at91/at91_pio.h
<snip new interface>
new interface looks good so far, but seems there are no users currently
(will there new at91 devices coming soon?)
> -#ifdef CONFIG_AT91_LEGACY
> -
> -#define PIO_PER 0x00 /* Enable Register */
> -#define PIO_PDR 0x04 /* Disable Register */
> -#define PIO_PSR 0x08 /* Status Register */
> -#define PIO_OER 0x10 /* Output Enable Register */
> -#define PIO_ODR 0x14 /* Output Disable Register */
> -#define PIO_OSR 0x18 /* Output Status Register */
> -#define PIO_IFER 0x20 /* Glitch Input Filter Enable */
> -#define PIO_IFDR 0x24 /* Glitch Input Filter Disable */
> -#define PIO_IFSR 0x28 /* Glitch Input Filter Status */
> -#define PIO_SODR 0x30 /* Set Output Data Register */
> -#define PIO_CODR 0x34 /* Clear Output Data Register */
> -#define PIO_ODSR 0x38 /* Output Data Status Register */
> -#define PIO_PDSR 0x3c /* Pin Data Status Register */
> -#define PIO_IER 0x40 /* Interrupt Enable Register */
> -#define PIO_IDR 0x44 /* Interrupt Disable Register */
> -#define PIO_IMR 0x48 /* Interrupt Mask Register */
> -#define PIO_ISR 0x4c /* Interrupt Status Register */
> -#define PIO_MDER 0x50 /* Multi-driver Enable Register */
> -#define PIO_MDDR 0x54 /* Multi-driver Disable Register */
> -#define PIO_MDSR 0x58 /* Multi-driver Status Register */
> -#define PIO_PUDR 0x60 /* Pull-up Disable Register */
> -#define PIO_PUER 0x64 /* Pull-up Enable Register */
> -#define PIO_PUSR 0x68 /* Pull-up Status Register */
> -#define PIO_ASR 0x70 /* Peripheral A Select Register */
> -#define PIO_BSR 0x74 /* Peripheral B Select Register */
> -#define PIO_ABSR 0x78 /* AB Status Register */
> -#define PIO_OWER 0xa0 /* Output Write Enable Register */
> -#define PIO_OWDR 0xa4 /* Output Write Disable Register */
> -#define PIO_OWSR 0xa8 /* Output Write Status Register */
> -#endif
> -
I think this should be done in a separate patch (series). There are a
lot of CONFIG_AT91_LEGACY left somewhere in the code. Please read
doc/README.at91-soc; I think step 4 is reached so step 5 should follow.
For this patch I think it would be best to not touch these definitions
at all.
A second patch (series) fulfilling step 5 in doc/README.at91-soc would
be great ;)
best regards
Andreas Bießmann
More information about the U-Boot
mailing list