Thread (4 messages) 4 messages, 1 author, 9d ago

[PATCH v2 0/3] Add Tegra268 pinmux support

flat view
COOLING9d

From: Prateek Agarwal <hidden>
Date: 2026-10-14 10:42:16
Also in: linux-gpio, linux-tegra, lkml

Revision v2 of 2 in this series.

Revisions (2)
  1. v1 [diff vs current]
  2. v2 current
This series adds pinctrl support for the three pin controllers (MAIN, UPHY
and AON) found on Tegra268. The pin, function and pin group data is
self-contained in the new driver.

Patch 1 adds the ARCH_TEGRA_268_SOC Kconfig symbol. This symbol gates the
Tegra268 specific support code, and PINCTRL_TEGRA268 in patch 3 uses it as
its default. It is kept as a separate patch because drivers/soc/tegra is
merged through the Tegra tree rather than the pinctrl tree.

Patch 2 documents the three compatible strings and describes the pins and
functions they provide. Patch 3 adds the driver and the PINCTRL_TEGRA268
Kconfig symbol.

Patches 2 and 3 build without patch 1. PINCTRL_TEGRA268 only references
ARCH_TEGRA_268_SOC in a "default m if" expression, and Kconfig treats an
unknown symbol in that position as false, so the driver simply defaults to
off if patch 1 is not present. Patches 2 and 3 can therefore be applied to
the pinctrl tree independently of patch 1, and no temporary build break
occurs if the trees are merged in either order.

There is no Tegra268 device tree in the tree yet. The device tree nodes for
these controllers will be posted together with the Tegra268 device tree
once that work is ready. If it is preferred that the bindings land
alongside their first consumer instead, patch 2 can be held back and
reposted with the device tree.

Changes in v2:
- pinctrl: Mark open-drain, io-reset and rcv-sel as unsupported (-1) in
  every pin group. They previously defaulted to 0, so setting one of these
  parameters wrote bit 0 of the mux register and changed the selected
  function instead of being rejected.
- pinctrl: Remove pin, drive group and function definitions for pads that
  do not exist on Tegra268.
- pinctrl: Return -ENODEV from probe if no match data is found.
- dt-bindings: Drop the functions that no Tegra268 pin group provides, and
  rename the example node to match the pin it configures.

v1: https://lore.kernel.org/all/20261004192921.2460405-1-praagarwal@nvidia.com/ (local)

Prathamesh Shete (3):
  soc/tegra: Add Tegra268 Kconfig symbol
  dt-bindings: pinctrl: Document Tegra268 pin controllers
  pinctrl: tegra: Add support for Tegra268

 .../pinctrl/nvidia,tegra268-pinmux-aon.yaml   |   78 +
 .../nvidia,tegra268-pinmux-common.yaml        |   72 +
 .../pinctrl/nvidia,tegra268-pinmux-main.yaml  |  136 ++
 .../pinctrl/nvidia,tegra268-pinmux-uphy.yaml  |   75 +
 drivers/pinctrl/tegra/Kconfig                 |   11 +
 drivers/pinctrl/tegra/Makefile                |    1 +
 drivers/pinctrl/tegra/pinctrl-tegra268.c      | 1742 +++++++++++++++++
 drivers/soc/tegra/Kconfig                     |    9 +
 8 files changed, 2124 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra268-pinmux-aon.yaml
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra268-pinmux-common.yaml
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra268-pinmux-main.yaml
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra268-pinmux-uphy.yaml
 create mode 100644 drivers/pinctrl/tegra/pinctrl-tegra268.c


base-commit: 72d3fcf802c45d00b300f25b848a93c3a2bd7c7e
-- 
2.17.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help