pinctrl: exynos: bind GPIO driver along with pinctrl
authorKaustabh Chakraborty <kauschluss@disroot.org>
Fri, 17 Oct 2025 15:27:40 +0000 (20:57 +0530)
committerMinkyu Kang <mk7.kang@samsung.com>
Wed, 12 Nov 2025 04:57:51 +0000 (13:57 +0900)
commitb526ec6f3c805f0ad5e5a4f86360dbdc59989c79
treef4eb3608153842dd9f173f292748849171127a6b
parent07b8261d482549351dfd6f9a5e49b7d59e1fc3d9
pinctrl: exynos: bind GPIO driver along with pinctrl

The devicetree of Samsung devices typically have the pin controller and
GPIO bank descriptors under the same pinctrl node. In U-Boot, these are
handled by two separate drivers. It is not possible to invoke both
drivers from a single node compatible.

Bind the GPIO driver on pinctrl driver bind, with the same OF node as
the pinctrl driver. This solution is already being used in other pinctrl
drivers. The hierarchy, as represented in `dm tree`, is as follows:

  pinctrl@13750000
  |-- gpio-banks
  |   |-- gpr0-gpio-bank
  |   |-- gpr1-gpio-bank
  |   |-- gpr2-gpio-bank
  |   |-- gpr3-gpio-bank
  |   `-- gpr4-gpio-bank
  |-- sd0-bus-width1-pins
  |-- sd0-bus-width4-pins
  |-- sd0-bus-width8-pins
  `-- sd0-clk-pins

Since a bind function doesn't exist, create and add it to all pinctrl
drivers.

Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
drivers/pinctrl/exynos/pinctrl-exynos.c
drivers/pinctrl/exynos/pinctrl-exynos.h
drivers/pinctrl/exynos/pinctrl-exynos7420.c
drivers/pinctrl/exynos/pinctrl-exynos78x0.c
drivers/pinctrl/exynos/pinctrl-exynos850.c