
On 22 March 2017 at 22:44, Wenyou Yang wenyou.yang@atmel.com wrote:
AT91 PIO controller is a combined gpio-controller, pin-mux and pin-config module. The peripheral's pins are assigned through per-pin based muxing logic.
Each SoC will have to describe the its limitation and pin configuration via device tree. This will allow to do not need to touch the C code when adding new SoC if the IP version is supported.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com Reviewed-by: Simon Glass sjg@chromium.org
Changes in v8:
- Rebase on v2017.03.
Changes in v7: None Changes in v6: None Changes in v5:
- Rebase on the master branch on git://git.denx.de/u-boot-atmel.git commit: 0ff27d4a94637d4b1937c625d33212375bd118d9
Changes in v4: None Changes in v3:
- Add support for OUTPUT config
Changes in v2:
- Add more information for the PINCTRL_AT91 option's help.
- Add more comments for the callback of struct at91_pinctrl_mux_ops.
- Use clrsetbits_le32() in set_drive_strength().
- Add the brackets for readability.
- Use debug() to print the message to debug, instead of printf().
- Remove not veryuseful at91_bank_base().
- Add Reviewed-by tag.
arch/arm/mach-at91/include/mach/at91_pio.h | 6 +- drivers/pinctrl/Kconfig | 14 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/pinctrl-at91.c | 453 +++++++++++++++++++++++++++++ include/dt-bindings/pinctrl/at91.h | 2 + 5 files changed, 475 insertions(+), 1 deletion(-) create mode 100644 drivers/pinctrl/pinctrl-at91.c
Applied to u-boot-dm, thanks!