linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/4] pinctrl: tegra: Separate Tegra194 instances
@ 2022-11-04 14:23 Thierry Reding
  2022-11-04 14:23 ` [PATCH v3 1/4] dt-bindings: pinctrl: tegra: Convert to json-schema Thierry Reding
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Thierry Reding @ 2022-11-04 14:23 UTC (permalink / raw)
  To: Linus Walleij, Rob Herring, Krzysztof Kozlowski, Thierry Reding
  Cc: Jon Hunter, Prathamesh Shete, Vidya Sagar, devicetree,
	linux-tegra, linux-gpio

From: Thierry Reding <treding@nvidia.com>

This patch series changes the pin controller DT description on Tegra194
in order to properly describe how the hardware works. Currently a
simplified description is used that merges two pin controller instances
(called AON and main) into a single DT node. This has some disadvantages
such as creating a complicated mapping between the pins in those pin
controllers and the corresponding GPIO controllers (which are already
separated).

As a prerequisite, the first patch in this series converts the device
tree bindings to json-schema. A second patch then adds an additional
compatible string for the AON instance (along with more details about
each controller's pins) and finally patch 3 converts the driver to
cope with these changes. A fourth patch makes the corresponding
changes in the Tegra194 DTS file.

Note that while this changes the DT node in an incompatible way, this
doesn't have any practical implications for backwards-compatibility. The
reason for this is that device trees have only reconfigured a very
narrow subset of pins of the main controller, so the new driver will
remain backwards-compatible with old device trees.

Changes in v3:
- address more review comments by Rob Herring and make validation work

Changes in v2[0]:
- address Rob's review comments on the DT bindings

Thierry

[0]: https://lore.kernel.org/all/20220704165802.129717-1-thierry.reding@gmail.com/

Thierry Reding (4):
  dt-bindings: pinctrl: tegra: Convert to json-schema
  dt-bindings: pinctrl: tegra194: Separate instances
  pinctrl: tegra: Separate Tegra194 instances
  arm64: tegra: Separate AON pinmux from main pinmux on Tegra194

 .../bindings/clock/nvidia,tegra124-dfll.yaml  |   2 +-
 .../pinctrl/nvidia,tegra-pinmux-common.yaml   | 178 +++++++++++
 .../pinctrl/nvidia,tegra114-pinmux.txt        | 131 --------
 .../pinctrl/nvidia,tegra114-pinmux.yaml       | 155 ++++++++++
 .../pinctrl/nvidia,tegra124-pinmux.txt        | 153 ----------
 .../pinctrl/nvidia,tegra124-pinmux.yaml       | 176 +++++++++++
 .../pinctrl/nvidia,tegra194-pinmux.txt        | 107 -------
 .../pinctrl/nvidia,tegra194-pinmux.yaml       | 284 +++++++++++++++++
 .../pinctrl/nvidia,tegra20-pinmux.txt         | 143 ---------
 .../pinctrl/nvidia,tegra20-pinmux.yaml        | 112 +++++++
 .../pinctrl/nvidia,tegra210-pinmux.txt        | 166 ----------
 .../pinctrl/nvidia,tegra210-pinmux.yaml       | 142 +++++++++
 .../pinctrl/nvidia,tegra30-pinmux.txt         | 144 ---------
 .../pinctrl/nvidia,tegra30-pinmux.yaml        | 176 +++++++++++
 arch/arm64/boot/dts/nvidia/tegra194.dtsi      |  13 +-
 drivers/pinctrl/tegra/pinctrl-tegra.c         |  33 +-
 drivers/pinctrl/tegra/pinctrl-tegra.h         |   2 +
 drivers/pinctrl/tegra/pinctrl-tegra194.c      | 286 ++++++++++--------
 18 files changed, 1407 insertions(+), 996 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra-pinmux-common.yaml
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.yaml
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.yaml
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra194-pinmux.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra194-pinmux.yaml
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.yaml
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.yaml
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.yaml

-- 
2.38.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-11-14 13:19 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-04 14:23 [PATCH v3 0/4] pinctrl: tegra: Separate Tegra194 instances Thierry Reding
2022-11-04 14:23 ` [PATCH v3 1/4] dt-bindings: pinctrl: tegra: Convert to json-schema Thierry Reding
2022-11-07 20:48   ` Rob Herring
2022-11-04 14:23 ` [PATCH v3 2/4] dt-bindings: pinctrl: tegra194: Separate instances Thierry Reding
2022-11-07 20:50   ` Rob Herring
2022-11-04 14:23 ` [PATCH v3 3/4] pinctrl: tegra: Separate Tegra194 instances Thierry Reding
2022-11-04 14:23 ` [PATCH v3 4/4] arm64: tegra: Separate AON pinmux from main pinmux on Tegra194 Thierry Reding
2022-11-08 14:11   ` Linus Walleij
2022-11-08 14:10 ` [PATCH v3 0/4] pinctrl: tegra: Separate Tegra194 instances Linus Walleij
2022-11-11 15:19   ` Thierry Reding
2022-11-14 13:18     ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).