[PATCH v5 0/9] Add STM32 pinctrl/GPIO driver

Maxime Coquelin mcoquelin.stm32 at gmail.com
Wed Feb 3 03:04:36 PST 2016


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




More information about the linux-arm-kernel mailing list