[PATCH v4] ARM: dts: stm32: change pinctrl bindings definition

Alexandre Torgue alexandre.torgue at st.com
Wed Aug 30 07:50:52 PDT 2017


Initially each pin was declared in "include/dt-bindings/stm32<SOC>-pinfunc.h"
and each definition contained SOC names (ex: STM32F429_PA9_FUNC_USART1_TX).
Since this approach was approved, the number of supported MCU has
increased (STM32F429/STM32F469/STM32f746/STM32H743). To avoid to add a new
file in "include/dt-bindings" each time a new STM32 SOC arrives I propose
a new approach which consist to use a macro to define pin muxing in device
tree. All STM32 DT will use the common macro to define pinmux. Furthermore, it
will make maintenance and integration of new SOC easier.

I made only one patch to avoid dependencies. Let me know if you prefer that I
split it.

To check that patch generate same dtb than befrore I used dtc binary to (re)generate dts files
(before and after apply the series).

Example on stm32f469-disco:

./scripts/dtc/dtc -I dtb -O dts -o stm32f469-disco-after.dts
stm32f469-disco-after.dtb

./scripts/dtc/dtc -I dtb -O dts -o stm32f469-disco-before.dts
stm32f469-disco-before.dtb

Then diff -u stm32f469-disco-before.dts stm32f469-disco-after.dts

Changes since v3:
 -Rewrite documentation part
 -Simplify macro

Changes since v2:
 -Drop RFC tag
 -Add reviewers
 -Enhance modifications to all STM32 (F4/F7/H7)

Changes since v1:
 -According to Vikas Manocha review, use generic macro to define port.


Regards
Alex

Alexandre Torgue (1):
  ARM: dts: stm32: change pinctrl bindings definition

 .../bindings/pinctrl/st,stm32-pinctrl.txt          |   22 +-
 arch/arm/boot/dts/stm32f429.dtsi                   |  176 +--
 arch/arm/boot/dts/stm32f746.dtsi                   |   10 +-
 arch/arm/boot/dts/stm32h743-pinctrl.dtsi           |   10 +-
 include/dt-bindings/pinctrl/stm32-pinfunc.h        |   30 +
 include/dt-bindings/pinctrl/stm32f429-pinfunc.h    | 1239 ---------------
 include/dt-bindings/pinctrl/stm32f746-pinfunc.h    | 1324 ----------------
 include/dt-bindings/pinctrl/stm32h7-pinfunc.h      | 1612 --------------------
 8 files changed, 148 insertions(+), 4275 deletions(-)
 create mode 100644 include/dt-bindings/pinctrl/stm32-pinfunc.h
 delete mode 100644 include/dt-bindings/pinctrl/stm32f429-pinfunc.h
 delete mode 100644 include/dt-bindings/pinctrl/stm32f746-pinfunc.h
 delete mode 100644 include/dt-bindings/pinctrl/stm32h7-pinfunc.h

-- 
2.7.4




More information about the linux-arm-kernel mailing list