Add Tegra238 and Tegra264 pinctrl support
Subsystems (4)
v3 cover Add Tegra238 and Tegra264 pinctrl support
From: Prathamesh Shete <[email protected]>
Add pinctrl driver support for Tegra238 and Tegra264 along with the corresponding device tree binding documentation. Additionally, export tegra_pinctrl_probe() to allow the drivers to be built as loadable modules.
Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- Drop the "arm64: defconfig: make Tegra238 and Tegra264 Pinctrl ..." patch and instead add 'default m if ARCH_TEGRA_{238,264}_SOC' to the PINCTRL_TEGRA238 / PINCTRL_TEGRA264 Kconfig entries so the drivers are auto-enabled as modules.
- New patch "arm64: tegra: Add pinctrl nodes for Tegra264" that describes the three Tegra264 pin controllers (pinmux_main, pinmux_aon, pinmux_uphy) in tegra264.dtsi.
- dt-bindings (Tegra238 and Tegra264 pinmux):
* Add 'required: compatible, reg' to the top-level schemas.
* Switch 'unevaluatedProperties: false' to 'additionalProperties: false' on the top-level schemas.
- Reword commit messages to use imperative mood.
Link to v1:
https://lore.kernel.org/linux-tegra/[email protected]/
Prathamesh Shete (6):
pinctrl: tegra: Export tegra_pinctrl_probe()
dt-bindings: pinctrl: Document Tegra238 pin controllers
pinctrl: tegra: Add Tegra238 pinmux driver
dt-bindings: pinctrl: Document Tegra264 pin controllers
pinctrl: tegra: Add Tegra264 pinmux driver
arm64: tegra: Add pinctrl nodes for Tegra264
.../pinctrl/nvidia,tegra238-pinmux-aon.yaml | 82 + .../nvidia,tegra238-pinmux-common.yaml | 73 + .../pinctrl/nvidia,tegra238-pinmux.yaml | 219 ++ .../pinctrl/nvidia,tegra264-pinmux-aon.yaml | 80 + .../nvidia,tegra264-pinmux-common.yaml | 84 + .../pinctrl/nvidia,tegra264-pinmux-main.yaml | 167 ++ .../pinctrl/nvidia,tegra264-pinmux-uphy.yaml | 78 + arch/arm64/boot/dts/nvidia/tegra264.dtsi | 15 + drivers/pinctrl/tegra/Kconfig | 20 + drivers/pinctrl/tegra/Makefile | 2 + drivers/pinctrl/tegra/pinctrl-tegra.c | 2 + drivers/pinctrl/tegra/pinctrl-tegra238.c | 2056 +++++++++++++++ drivers/pinctrl/tegra/pinctrl-tegra264.c | 2216 +++++++++++++++++ 13 files changed, 5094 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-aon.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-common.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-aon.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-common.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-main.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-uphy.yaml create mode 100644 drivers/pinctrl/tegra/pinctrl-tegra238.c create mode 100644 drivers/pinctrl/tegra/pinctrl-tegra264.c
Signature · 1 line
2.43.0
PATCH v3 1/6 pinctrl: tegra: Export tegra_pinctrl_probe()
From: Prathamesh Shete <[email protected]>
Export tegra_pinctrl_probe() to allow SoC-specific Tegra pinctrl drivers built as modules to use the common probe path.
---
Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- No Change
--- drivers/pinctrl/tegra/pinctrl-tegra.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/pinctrl/tegra/pinctrl-tegra.c +2 -0
@@ -13,6 +13,7 @@#include <linux/err.h> #include <linux/init.h> #include <linux/io.h> +#include <linux/module.h> #include <linux/of.h> #include <linux/platform_device.h> #include <linux/seq_file.h>
@@ -936,3 +937,4 @@ int tegra_pinctrl_probe(struct platform_device *pdev,return 0 ; } +EXPORT_SYMBOL_GPL (tegra_pinctrl_probe);
Signature · 1 line
2.43.0
PATCH v3 2/6 dt-bindings: pinctrl: Document Tegra238 pin controllers
In reply to [email protected]From: Prathamesh Shete <[email protected]>
Tegra238 contains two pin controllers. Document their compatible strings and describe the list of pins and functions that they provide.
---
Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- Add a 'required:' block listing 'compatible' and 'reg'.
- Switch top-level 'unevaluatedProperties: false' to 'additionalProperties: false'.
--- .../pinctrl/nvidia,tegra238-pinmux-aon.yaml | 82 +++++++ .../nvidia,tegra238-pinmux-common.yaml | 73 ++++++ .../pinctrl/nvidia,tegra238-pinmux.yaml | 219 ++++++++++++++++++ 3 files changed, 374 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-aon.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-common.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux.yaml
Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-aon.yaml new file +82 -0
@@ -0,0 +1,82 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/nvidia,tegra238-pinmux-aon.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NVIDIA Tegra238 AON Pinmux Controller + +maintainers: + - Thierry Reding <[email protected]> + - Jon Hunter <[email protected]> + +properties: + compatible: + const: nvidia,tegra238-pinmux-aon + + reg: + maxItems: 1 + +patternProperties: + "^pinmux(-[a-z0-9-]+)?$": + type: object + + # pin groups + additionalProperties: + $ref: nvidia,tegra238-pinmux-common.yaml + + properties: + nvidia,pins: + items: + enum: [ bootv_ctl_n_paa0, soc_gpio00_paa1, vcomp_alert_paa2, + pwm1_paa3, batt_oc_paa4, soc_gpio04_paa5, + soc_gpio25_paa6, soc_gpio26_paa7, + hdmi_cec_pbb0, + spi2_sck_pcc0, spi2_miso_pcc1, spi2_mosi_pcc2, + spi2_cs0_pcc3, spi2_cs1_pcc4, uart3_tx_pcc5, + uart3_rx_pcc6, gen2_i2c_scl_pcc7, + gen2_i2c_sda_pdd0, gen8_i2c_scl_pdd1, + gen8_i2c_sda_pdd2, touch_clk_pdd3, dmic1_clk_pdd4, + dmic1_dat_pdd5, soc_gpio19_pdd6, pwm2_pdd7, + pwm3_pee0, pwm7_pee1, + # drive groups (ordered PAA, PBB, PCC, PDD, PEE) + drive_bootv_ctl_n_paa0, drive_soc_gpio00_paa1, + drive_vcomp_alert_paa2, drive_pwm1_paa3, + drive_batt_oc_paa4, drive_soc_gpio04_paa5, + drive_soc_gpio25_paa6, drive_soc_gpio26_paa7, + drive_hdmi_cec_pbb0, + drive_spi2_sck_pcc0, drive_spi2_miso_pcc1, + drive_spi2_mosi_pcc2, drive_spi2_cs0_pcc3, + drive_spi2_cs1_pcc4, drive_uart3_tx_pcc5, + drive_uart3_rx_pcc6, drive_gen2_i2c_scl_pcc7, + drive_gen2_i2c_sda_pdd0, drive_gen8_i2c_scl_pdd1, + drive_gen8_i2c_sda_pdd2, drive_touch_clk_pdd3, + drive_dmic1_clk_pdd4, drive_dmic1_dat_pdd5, + drive_soc_gpio19_pdd6, drive_pwm2_pdd7, + drive_pwm3_pee0, drive_pwm7_pee1 ] + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + #include <dt-bindings/pinctrl/pinctrl-tegra.h> + + pinmux@c300000 { + compatible = "nvidia,tegra238-pinmux-aon"; + reg = <0x0c300000 0x4000>; + + pinctrl-names = "cec"; + pinctrl-0 = <&cec_state>; + + cec_state: pinmux-cec { + cec { + nvidia,pins = "hdmi_cec_pbb0"; + nvidia,function = "hdmi_cec"; + }; + }; + }; +...
Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-common.yaml new file +73 -0
73 lines not on this page · raw message
Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux.yaml new file +219 -0
219 lines not on this page · raw message
Signature · 1 line
2.43.0
Re: [PATCH v3 2/6] dt-bindings: pinctrl: Document Tegra238 pin controllers
Quoted 5 lines · On Mon, Apr 27, 2026 at 01:42:27PM +0000, [email protected] wrote:
From: Prathamesh Shete <[email protected]>
Tegra238 contains two pin controllers. Document their compatible strings and describe the list of pins and functions that they provide.
Quoted 8 lines
Signed-off-by Prathamesh Shete <[email protected]>---
Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- Add a 'required:' block listing 'compatible' and 'reg'.
- Switch top-level 'unevaluatedProperties: false' to 'additionalProperties: false'.
Best regards,
Krzysztof
PATCH v3 3/6 pinctrl: tegra: Add Tegra238 pinmux driver
In reply to [email protected]From: Prathamesh Shete <[email protected]>
Add support for the two pin controllers (MAIN and AON) found on Tegra238.
---
Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- Add 'default m if ARCH_TEGRA_238_SOC' to the PINCTRL_TEGRA238 Kconfig.
- Reword commit message to use imperative mood.
--- drivers/pinctrl/tegra/Kconfig | 10 + drivers/pinctrl/tegra/Makefile | 1 + drivers/pinctrl/tegra/pinctrl-tegra238.c | 2056 ++++++++++++++++++++++ 3 files changed, 2067 insertions(+) create mode 100644 drivers/pinctrl/tegra/pinctrl-tegra238.c
drivers/pinctrl/tegra/Kconfig +10 -0
@@ -36,6 +36,16 @@ config PINCTRL_TEGRA234 bool select PINCTRL_TEGRA +config PINCTRL_TEGRA238 + tristate "NVIDIA Tegra238 pinctrl driver" + default m if ARCH_TEGRA_238_SOC + select PINCTRL_TEGRA + help + Say Y or M here to enable support for the pinctrl driver for + NVIDIA Tegra238 SoC. This driver controls the pin multiplexing + and configuration for the MAIN and AON pin controllers found + on Tegra238. + config PINCTRL_TEGRA_XUSB def_bool y if ARCH_TEGRA select GENERIC_PHY
drivers/pinctrl/tegra/Makefile +1 -0
@@ -8,4 +8,5 @@ obj-$(CONFIG_PINCTRL_TEGRA210) += pinctrl-tegra210.o obj-$(CONFIG_PINCTRL_TEGRA186) += pinctrl-tegra186.o obj-$(CONFIG_PINCTRL_TEGRA194) += pinctrl-tegra194.o obj-$(CONFIG_PINCTRL_TEGRA234) += pinctrl-tegra234.o +obj-$(CONFIG_PINCTRL_TEGRA238) += pinctrl-tegra238.o obj-$(CONFIG_PINCTRL_TEGRA_XUSB) += pinctrl-tegra-xusb.o
drivers/pinctrl/tegra/pinctrl-tegra238.c new file +2056 -0
2,056 lines not on this page · raw message
Signature · 1 line
2.43.0
PATCH v3 4/6 dt-bindings: pinctrl: Document Tegra264 pin controllers
In reply to [email protected]From: Prathamesh Shete <[email protected]>
Tegra264 contains three pin controllers. Document their compatible strings and describe the list of pins and functions that they provide.
---
Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- Add a 'required:' block listing 'compatible' and 'reg'.
- Switch top-level 'unevaluatedProperties: false' to 'additionalProperties: false'.
--- .../pinctrl/nvidia,tegra264-pinmux-aon.yaml | 80 +++++++++ .../nvidia,tegra264-pinmux-common.yaml | 84 +++++++++ .../pinctrl/nvidia,tegra264-pinmux-main.yaml | 167 ++++++++++++++++++ .../pinctrl/nvidia,tegra264-pinmux-uphy.yaml | 78 ++++++++ 4 files changed, 409 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-aon.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-common.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-main.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-uphy.yaml
Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-aon.yaml new file +80 -0
@@ -0,0 +1,80 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/nvidia,tegra264-pinmux-aon.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NVIDIA Tegra264 AON Pinmux Controller + +maintainers: + - Thierry Reding <[email protected]> + - Jon Hunter <[email protected]> + +properties: + compatible: + const: nvidia,tegra264-pinmux-aon + + reg: + maxItems: 1 + +patternProperties: + "^pinmux(-[a-z0-9-]+)?$": + type: object + + # pin groups + additionalProperties: + $ref: nvidia,tegra264-pinmux-common.yaml + + properties: + nvidia,pins: + items: + enum: [ soc_gpio00_paa0, vcomp_alert_paa1, ao_retention_n_paa2, + batt_oc_paa3, bootv_ctl_n_paa4, power_on_paa5, + hdmi_cec_paa6, soc_gpio07_paa7, soc_gpio08_pbb0, + soc_gpio09_pbb1, gen2_i2c_scl_pcc0, gen2_i2c_sda_pcc1, + gen3_i2c_scl_pcc2, gen3_i2c_sda_pcc3, gp_pwm4_pcc4, + uart0_tx_pcc5, uart0_rx_pcc6, spi2_sck_pcc7, + spi2_miso_pdd0, spi2_mosi_pdd1, spi2_cs0_n_pdd2, + soc_gpio21_pdd3, soc_gpio22_pdd4, soc_gpio23_pdd5, + soc_gpio24_pdd6, soc_gpio25_pdd7, soc_gpio26_pee0, + soc_gpio27_pee1, soc_gpio28_pee2, soc_gpio29_pee3, + drive_ao_retention_n_paa2, drive_batt_oc_paa3, + drive_power_on_paa5, drive_vcomp_alert_paa1, + drive_bootv_ctl_n_paa4, drive_soc_gpio00_paa0, + drive_soc_gpio07_paa7, drive_soc_gpio08_pbb0, + drive_soc_gpio09_pbb1, drive_hdmi_cec_paa6, + drive_gen2_i2c_scl_pcc0, drive_gen2_i2c_sda_pcc1, + drive_gen3_i2c_scl_pcc2, drive_gen3_i2c_sda_pcc3, + drive_gp_pwm4_pcc4, drive_uart0_tx_pcc5, + drive_uart0_rx_pcc6, drive_spi2_sck_pcc7, + drive_spi2_miso_pdd0, drive_spi2_mosi_pdd1, + drive_spi2_cs0_n_pdd2, drive_soc_gpio21_pdd3, + drive_soc_gpio22_pdd4, drive_soc_gpio23_pdd5, + drive_soc_gpio24_pdd6, drive_soc_gpio25_pdd7, + drive_soc_gpio26_pee0, drive_soc_gpio27_pee1, + drive_soc_gpio28_pee2, drive_soc_gpio29_pee3 ] + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + #include <dt-bindings/pinctrl/pinctrl-tegra.h> + + pinmux@c7a2000 { + compatible = "nvidia,tegra264-pinmux-aon"; + reg = <0xc7a2000 0x2000>; + + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux-default { + uart0 { + nvidia,pins = "uart0_tx_pcc5"; + nvidia,function = "uarta_txd"; + }; + }; + };
Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-common.yaml new file +84 -0
84 lines not on this page · raw message
Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-main.yaml new file +167 -0
167 lines not on this page · raw message
Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-uphy.yaml new file +78 -0
78 lines not on this page · raw message
Signature · 1 line
2.43.0
Re: [PATCH v3 4/6] dt-bindings: pinctrl: Document Tegra264 pin controllers
Quoted 7 lines · On Mon, Apr 27, 2026 at 01:42:29PM +0000, [email protected] wrote:
From: Prathamesh Shete <[email protected]>
Tegra264 contains three pin controllers. Document their compatible strings and describe the list of pins and functions that they provide.
Signed-off-by Prathamesh Shete <[email protected]>Reviewed-by Krzysztof Kozlowski <[email protected]>
Quoted 7 lines
---
Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- Add a 'required:' block listing 'compatible' and 'reg'.
- Switch top-level 'unevaluatedProperties: false' to 'additionalProperties: false'.
Best regards,
Krzysztof
PATCH v3 5/6 pinctrl: tegra: Add Tegra264 pinmux driver
In reply to [email protected]From: Prathamesh Shete <[email protected]>
Add support for the three pin controllers (MAIN, UPHY and AON) found on Tegra264.
---
Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- Add 'default m if ARCH_TEGRA_264_SOC' to the PINCTRL_TEGRA264 Kconfig.
--- drivers/pinctrl/tegra/Kconfig | 10 + drivers/pinctrl/tegra/Makefile | 1 + drivers/pinctrl/tegra/pinctrl-tegra264.c | 2216 ++++++++++++++++++++++ 3 files changed, 2227 insertions(+) create mode 100644 drivers/pinctrl/tegra/pinctrl-tegra264.c
drivers/pinctrl/tegra/Kconfig +10 -0
@@ -46,6 +46,16 @@ config PINCTRL_TEGRA238 and configuration for the MAIN and AON pin controllers found on Tegra238. +config PINCTRL_TEGRA264 + tristate "NVIDIA Tegra264 pinctrl driver" + default m if ARCH_TEGRA_264_SOC + select PINCTRL_TEGRA + help + Say Y or M here to enable support for the pinctrl driver for + NVIDIA Tegra264 SoC. This driver controls the pin multiplexing + and configuration for the MAIN, AON and UPHY pin controllers found + on Tegra264. + config PINCTRL_TEGRA_XUSB def_bool y if ARCH_TEGRA select GENERIC_PHY
drivers/pinctrl/tegra/Makefile +1 -0
@@ -9,4 +9,5 @@ obj-$(CONFIG_PINCTRL_TEGRA186) += pinctrl-tegra186.o obj-$(CONFIG_PINCTRL_TEGRA194) += pinctrl-tegra194.o obj-$(CONFIG_PINCTRL_TEGRA234) += pinctrl-tegra234.o obj-$(CONFIG_PINCTRL_TEGRA238) += pinctrl-tegra238.o +obj-$(CONFIG_PINCTRL_TEGRA264) += pinctrl-tegra264.o obj-$(CONFIG_PINCTRL_TEGRA_XUSB) += pinctrl-tegra-xusb.o
drivers/pinctrl/tegra/pinctrl-tegra264.c new file +2216 -0
2,216 lines not on this page · raw message
Signature · 1 line
2.43.0
PATCH v3 6/6 arm64: tegra: Add pinctrl nodes for Tegra264
In reply to [email protected]From: Prathamesh Shete <[email protected]>
Add the three pin controller (MAIN, UPHY, AON) device-tree nodes found on Tegra264.
---
Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- This patch is added as part of v2.
--- arch/arm64/boot/dts/nvidia/tegra264.dtsi | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
arch/arm64/boot/dts/nvidia/tegra264.dtsi +15 -0
@@ -3380,6 +3380,11 @@ i2c3: i2c@c610000 { status = "disabled"; }; + pinmux_aon: pinmux@c7a2000 { + compatible = "nvidia,tegra264-pinmux-aon"; + reg = <0x0 0x0c7a2000 0x0 0x2000>; + }; + pmc: pmc@c800000 { compatible = "nvidia,tegra264-pmc"; reg = <0x0 0x0c800000 0x0 0x100000>,
@@ -3586,6 +3591,11 @@ pci@c000000 { status = "disabled"; }; + pinmux_main: pinmux@c281000 { + compatible = "nvidia,tegra264-pinmux-main"; + reg = <0x00 0x0c281000 0x0 0xc000>; + }; + i2c14: i2c@c410000 { compatible = "nvidia,tegra264-i2c"; reg = <0x00 0x0c410000 0x0 0x10000>;
@@ -3862,6 +3872,11 @@ bus@a800000000 { <0x00 0x20000000 0x00 0x20000000 0x00 0x60000000>, /* non-prefetchable memory (32-bit, 1536 GiB) */ <0xa8 0x80000000 0xa8 0x80000000 0x57 0x80000000>; /* I/O, ECAM, prefetchable memory (64-bit) */ + pinmux_uphy: pinmux@82e0000 { + compatible = "nvidia,tegra264-pinmux-uphy"; + reg = <0x00 0x082e0000 0x0 0x4000>; + }; + gpio_uphy: gpio@8300000 { compatible = "nvidia,tegra264-gpio-uphy"; reg = <0x00 0x08300000 0x0 0x2000>,
Signature · 1 line
2.43.0
Quoted 8 lines · On Mon, Apr 27, 2026 at 01:42:25PM +0000, [email protected] wrote:
From: Prathamesh Shete <[email protected]>
Add pinctrl driver support for Tegra238 and Tegra264 along with the corresponding device tree binding documentation. Additionally, export
tegra_pinctrl_probe()to allow the drivers to be built as loadable modules.Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
For the record:
b4 diff [email protected]
Looking up https://lore.kernel.org/all/[email protected]/
Grabbing thread from lore.kernel.org/all/[email protected]/t.mbox.gz Checking for older revisions
Grabbing search results from lore.kernel.org
Added from v2: 6 patches
---
Analyzing 27 messages in the thread
Preparing fake-am for v2: pinctrl: tegra: Export tegra_pinctrl_probe()
ERROR: v2 series incomplete; unable to create a fake-am range
---
Could not create fake-am range for lower series v2
When we ask to use standard process to send patches, we ask for this for a reason.
Best regards,
Krzysztof
Quoted 48 lines · On 27/04/2026 14:42, [email protected] wrote:
From: Prathamesh Shete <[email protected]>
Add pinctrl driver support for Tegra238 and Tegra264 along with the corresponding device tree binding documentation. Additionally, export
tegra_pinctrl_probe()to allow the drivers to be built as loadable modules.Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short).
Changes in v2:
- Drop the "arm64: defconfig: make Tegra238 and Tegra264 Pinctrl ..." patch and instead add 'default m if ARCH_TEGRA_{238,264}_SOC' to thePINCTRL_TEGRA238/PINCTRL_TEGRA264Kconfigentries so the drivers are auto-enabled as modules.
- New patch "arm64: tegra: Add pinctrl nodes for Tegra264" that describes the three Tegra264 pin controllers (pinmux_main,pinmux_aon,pinmux_uphy) integra264.dtsi.
- dt-bindings (Tegra238 and Tegra264 pinmux):
* Add 'required: compatible, reg' to the top-level schemas.
* Switch 'unevaluatedProperties: false' to 'additionalProperties: false' on the top-level schemas.
- Reword commit messages to use imperative mood.Link to v1:
https://lore.kernel.org/linux-tegra/[email protected]/Prathamesh Shete (6):
pinctrl: tegra: Exporttegra_pinctrl_probe()
dt-bindings: pinctrl: Document Tegra238 pin controllers
pinctrl: tegra: Add Tegra238 pinmux driver
dt-bindings: pinctrl: Document Tegra264 pin controllers
pinctrl: tegra: Add Tegra264 pinmux driver
arm64: tegra: Add pinctrl nodes for Tegra264.../pinctrl/nvidia,tegra238-pinmux-aon.yaml | 82 + .../nvidia,tegra238-pinmux-common.yaml | 73 + .../pinctrl/nvidia,tegra238-pinmux.yaml | 219 ++ .../pinctrl/nvidia,tegra264-pinmux-aon.yaml | 80 + .../nvidia,tegra264-pinmux-common.yaml | 84 + .../pinctrl/nvidia,tegra264-pinmux-main.yaml | 167 ++ .../pinctrl/nvidia,tegra264-pinmux-uphy.yaml | 78 + arch/arm64/boot/dts/nvidia/tegra264.dtsi | 15 + drivers/pinctrl/tegra/Kconfig | 20 + drivers/pinctrl/tegra/Makefile | 2 + drivers/pinctrl/tegra/pinctrl-tegra.c | 2 + drivers/pinctrl/tegra/pinctrl-tegra238.c | 2056 +++++++++++++++ drivers/pinctrl/tegra/pinctrl-tegra264.c | 2216 +++++++++++++++++ 13 files changed, 5094 insertions(+)
Quoted 10 lines
create mode 100644
Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-aon.yamlcreate mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-common.yamlcreate mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux.yamlcreate mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-aon.yamlcreate mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-common.yamlcreate mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-main.yamlcreate mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-uphy.yamlcreate mode 100644drivers/pinctrl/tegra/pinctrl-tegra238.c
create mode 100644drivers/pinctrl/tegra/pinctrl-tegra264.c
For the series ...
Thanks!
Jon
Signature · 1 line
nvpublic
Jon Hunter
maintainerHi Linus,
Quoted 62 lines · Jon Hunter
Quoted 48 lines · On 27/04/2026 14:42, [email protected] wrote:
From: Prathamesh Shete <[email protected]>
Add pinctrl driver support for Tegra238 and Tegra264 along with the corresponding device tree binding documentation. Additionally, export
tegra_pinctrl_probe()to allow the drivers to be built as loadable modules.Changes in v3:
- Wrap commit message to 75 chars per line (v2 was too short). Changes in v2:
- Drop the "arm64: defconfig: make Tegra238 and Tegra264 Pinctrl ..." patch and instead add 'default m if ARCH_TEGRA_{238,264}_SOC' to thePINCTRL_TEGRA238/PINCTRL_TEGRA264Kconfigentries so the drivers are auto-enabled as modules.
- New patch "arm64: tegra: Add pinctrl nodes for Tegra264" that describes the three Tegra264 pin controllers (pinmux_main,pinmux_aon,pinmux_uphy) integra264.dtsi.
- dt-bindings (Tegra238 and Tegra264 pinmux):
* Add 'required: compatible, reg' to the top-level schemas.
* Switch 'unevaluatedProperties: false' to 'additionalProperties: false' on the top-level schemas.
- Reword commit messages to use imperative mood.Link to v1:
https://lore.kernel.org/linux-tegra/20260409131340.168556-1- [email protected]/Prathamesh Shete (6):
pinctrl: tegra: Exporttegra_pinctrl_probe()
dt-bindings: pinctrl: Document Tegra238 pin controllers
pinctrl: tegra: Add Tegra238 pinmux driver
dt-bindings: pinctrl: Document Tegra264 pin controllers
pinctrl: tegra: Add Tegra264 pinmux driver
arm64: tegra: Add pinctrl nodes for Tegra264.../pinctrl/nvidia,tegra238-pinmux-aon.yaml | 82 + .../nvidia,tegra238-pinmux-common.yaml | 73 + .../pinctrl/nvidia,tegra238-pinmux.yaml | 219 ++ .../pinctrl/nvidia,tegra264-pinmux-aon.yaml | 80 + .../nvidia,tegra264-pinmux-common.yaml | 84 + .../pinctrl/nvidia,tegra264-pinmux-main.yaml | 167 ++ .../pinctrl/nvidia,tegra264-pinmux-uphy.yaml | 78 + arch/arm64/boot/dts/nvidia/tegra264.dtsi | 15 + drivers/pinctrl/tegra/Kconfig | 20 + drivers/pinctrl/tegra/Makefile | 2 + drivers/pinctrl/tegra/pinctrl-tegra.c | 2 + drivers/pinctrl/tegra/pinctrl-tegra238.c | 2056 +++++++++++++++ drivers/pinctrl/tegra/pinctrl-tegra264.c | 2216 +++++++++++++++++
13 files changed, 5094 insertions(+)Quoted 10 lines
create mode 100644
Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-aon.yaml create mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux-common.yaml create mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra238-pinmux.yaml create mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-aon.yaml create mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-common.yaml create mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-main.yaml create mode 100644Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-uphy.yaml create mode 100644drivers/pinctrl/tegra/pinctrl-tegra238.c
create mode 100644drivers/pinctrl/tegra/pinctrl-tegra264.c
Quoted 3 lines
For the series ...
Reviewed-by Jon Hunter <[email protected]>
Please can you let us know if you are OK to pick these up? Would be good to get them into -next if there are no objections.
Thanks!
Jon
Signature · 1 line
nvpublic
Linus Walleij
maintainerQuoted 2 lines · Jon Hunter
Please can you let us know if you are OK to pick these up? Would be good to get them into -next if there are no objections.
Applied now, sorry for the long delay from my side :(
Yours,
Linus Walleij
Linus Walleij
maintainerQuoted 5 lines · On Mon, Apr 27, 2026 at 3:43 PM <[email protected]> wrote:
From: Prathamesh Shete <[email protected]>
Add pinctrl driver support for Tegra238 and Tegra264 along with the corresponding device tree binding documentation. Additionally, export
tegra_pinctrl_probe()to allow the drivers to be built as loadable modules.
(...)
Quoted 6 lines
Prathamesh Shete (6):
pinctrl: tegra: Exporttegra_pinctrl_probe()
dt-bindings: pinctrl: Document Tegra238 pin controllers
pinctrl: tegra: Add Tegra238 pinmux driver
dt-bindings: pinctrl: Document Tegra264 pin controllers
pinctrl: tegra: Add Tegra264 pinmux driver
These 5 patches applied to the pinctrl tree.
Quoted 1 line
arm64: tegra: Add pinctrl nodes for Tegra264
Please funnel this through the SoC tree.
Sorry for taking so long, trying to use korgalore
and manage to screw things up for myself...
Yours,
Linus Walleij