[PATCH v5 0/9] Add STM32 pinctrl/GPIO driver
From: Maxime Coquelin
Date: Wed Feb 03 2016 - 06:05:02 EST
Hi Linus,
This is the fifth round of STM32 pinctrl series, which is rebased on top of
v4.5-rc1 and removes no more needed dependency between DT and driver.
Also, it fixes the Makefile so that it is really built when COMPILE_TEST is
set and not ARCH_STM32.
The STM32 family has 16 pins per GPIO bank, and the number of bank varies
depending on the model.
Pins can be multiplexed either in GPIO mode, alternate function (up to 15
functions per pin) or analog (for ADC/DAC).
Changes since v4:
-----------------
- Rebase on v4.5-rc1
- Fix compilation breakage due to gpio_chip struct .dev field renaming
- Move the macros from includes/dt-bindings to STM32 pinctrl driver directory
to avoid uneeded dependency between DT and driver.
- Fix Makefile so that driver is built with COMPILE_TEST set
Changes since v3:
-----------------
- Rebase on v4.4
- Fix error paths in stm32_pctrl_dt_subnode_to_map() (Patrice)
- Remove useless stm32_pctrl_find_function_by_pin function (Patrice)
Changes since v2:
-----------------
- Rebase on v4.4-rc1
- Declare leds also for Eval board
- Set green led as heartbeat
- Collect some acks
Changes since v1:
-----------------
- Add GPIO LEDs support in DT and defconfig
- Changes pinmux DT bindings from macros to raw values (Daniel)
- Improve DT bindings documentation (Daniel)
- Fix some commit fixup and rebase issues.
Kind regards,
Maxime
Maxime Coquelin (9):
ARM: Kconfig: Introduce MACH_STM32F429 flag
Documentation: dt-bindings: Document STM32 pinctrl driver DT bindings
includes: dt-bindings: Add STM32F429 pinctrl DT bindings
pinctrl: Add STM32 MCUs support
ARM: mach-stm32: Select pinctrl
ARM: dts: Add pinctrl node to STM32F429
ARM: dts: Add USART1 pin config to STM32F429 boards
ARM: dts: Add leds support to STM32F429 boards
ARM: config: Enable GPIO Led driver in stm32_defconfig
.../bindings/pinctrl/st,stm32-pinctrl.txt | 126 ++
arch/arm/Kconfig | 6 +
arch/arm/boot/dts/stm32429i-eval.dts | 19 +
arch/arm/boot/dts/stm32f429-disco.dts | 13 +
arch/arm/boot/dts/stm32f429.dtsi | 110 ++
arch/arm/configs/stm32_defconfig | 1 +
drivers/pinctrl/Kconfig | 1 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/stm32/Kconfig | 16 +
drivers/pinctrl/stm32/Makefile | 5 +
drivers/pinctrl/stm32/pinctrl-stm32.c | 832 ++++++++++
drivers/pinctrl/stm32/pinctrl-stm32.h | 51 +
drivers/pinctrl/stm32/pinctrl-stm32f429.c | 1598 ++++++++++++++++++++
include/dt-bindings/pinctrl/stm32f429-pinfunc.h | 1239 +++++++++++++++
14 files changed, 4018 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt
create mode 100644 drivers/pinctrl/stm32/Kconfig
create mode 100644 drivers/pinctrl/stm32/Makefile
create mode 100644 drivers/pinctrl/stm32/pinctrl-stm32.c
create mode 100644 drivers/pinctrl/stm32/pinctrl-stm32.h
create mode 100644 drivers/pinctrl/stm32/pinctrl-stm32f429.c
create mode 100644 include/dt-bindings/pinctrl/stm32f429-pinfunc.h
--
1.9.1