ARM: dts: imx6q-dhcom: Rework of the DHCOM GPIO pinctrls
authorChristoph Niedermaier <cniedermaier@dh-electronics.com>
Mon, 2 Aug 2021 14:10:33 +0000 (16:10 +0200)
committerShawn Guo <shawnguo@kernel.org>
Mon, 9 Aug 2021 07:30:35 +0000 (15:30 +0800)
commit00342c631eecd55b324f3acfc41a5925e5ff3986
tree5ae77f5a23f24b5a0bd72dc9707237e8b240ebe6
parent298591bf725afe066f487cf7d58eeddfdd2a0a33
ARM: dts: imx6q-dhcom: Rework of the DHCOM GPIO pinctrls

The function of each SoM pins is defined in the DHCOM standard [1] and
subset of them is defined as GPIOs (pins A-W). To ensure the interchange-
ability of the DHCOM SoMs, the function of the pins are fixed and cannot
be changed. On board level the DHCOM GPIOs can be used associated with
different blocks e.g. for interrupt or reset, but the function is always
GPIO. If not used, they can be freely used in the user space.

Therefore the whole configuration of SoM pins is made in the SoM DT.
Defining the DHCOM GPIO pins as a separate pinctrl nodes makes moving a
subset of them to an appropriate block pinctrl group easier on board level,
since it is not necessary to have a large pinctrl hog group containing
unrelated pinmux entries on board level. This also makes it easy to update
the SoM DT without having to update all the board DTs too. If necessary it
is also possible to change the electrical properties of the DHCOM GPIOs by
overwriting the pinctrl on board level.

[1] https://wiki.dh-electronics.com/images/2/2e/DOC_DHCOM-Standard-Specification_R01_2016-11-17.pdf

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Fabio Estevam <festevam@denx.de>
Cc: Marek Vasut <marex@denx.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: kernel@dh-electronics.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6q-dhcom-pdk2.dts
arch/arm/boot/dts/imx6q-dhcom-som.dtsi