Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Vignesh Raghavendra <vigneshr@ti.com>
To: Akashdeep Kaur <a-kaur@ti.com>, <nm@ti.com>, <kristo@kernel.org>,
	<robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Cc: <sebin.francis@ti.com>
Subject: Re: [PATCH] arm64: dts: ti: k3-pinctrl: Add virtual GPIO select mux macros
Date: Fri, 18 Sep 2026 13:57:18 +0530	[thread overview]
Message-ID: <39d5525a-1276-47af-8659-70a86cda8a1b@ti.com> (raw)
In-Reply-To: <20260917111539.3844577-1-a-kaur@ti.com>



On 17/09/26 16:45, Akashdeep Kaur wrote:
> Add virtual GPIO select mux macros to allow users to select GPIO
> controller bank for pins. The two GPIO controller instances in the
> MAIN domain share physical pins, and the vgpio_sel field routes each
> pin to either bank 0 or bank 2, enabling GPIO partitioning between
> software domains as documented in Technical Reference Manual[1]. The
> pad configuration register field description can be referenced at [2].
> 
> [1] AM62L TRM (section 10.6): https://www.ti.com/lit/ug/sprujb4a/sprujb4a.pdf
> [2] AM62L TRM (section 14.2.1.2.1): https://www.ti.com/lit/ug/sprujb4a/sprujb4a.pdf
> 
> Signed-off-by: Akashdeep Kaur <a-kaur@ti.com>
> ---
>  arch/arm64/boot/dts/ti/k3-pinctrl.h | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-pinctrl.h b/arch/arm64/boot/dts/ti/k3-pinctrl.h
> index 4491898d8294..d42c466fcc7b 100644
> --- a/arch/arm64/boot/dts/ti/k3-pinctrl.h
> +++ b/arch/arm64/boot/dts/ti/k3-pinctrl.h
> @@ -3,11 +3,12 @@
>   * This header provides constants for pinctrl bindings for TI's K3 SoC
>   * family.
>   *
> - * Copyright (C) 2018-2025 Texas Instruments Incorporated - https://www.ti.com/
> + * Copyright (C) 2018-2026 Texas Instruments Incorporated - https://www.ti.com/
>   */
>  #ifndef DTS_ARM64_TI_K3_PINCTRL_H
>  #define DTS_ARM64_TI_K3_PINCTRL_H
>  
> +#define VGPIO_SEL_SHIFT         (4)
>  #define WKUP_LVL_EN_SHIFT	(7)
>  #define WKUP_LVL_POL_SHIFT	(8)
>  #define DEBOUNCE_SHIFT		(11)
> @@ -111,6 +112,9 @@
>  #define PIN_WKUP_EN_LEVEL_HIGH		(WKUP_ENABLE | WKUP_ON_LEVEL | WKUP_LEVEL_HIGH)
>  #define PIN_WKUP_EN			(WKUP_ENABLE | WKUP_ON_EDGE)
>  
> +#define PIN_VGPIO_SEL0                  (0 << VGPIO_SEL_SHIFT)
> +#define PIN_VGPIO_SEL2                  (1 << VGPIO_SEL_SHIFT)
> +

Unfortunately, this field has different meaning in different SoCs. Here
is the definition from J784s4:

Note this field  is irrelevant when Muxmode is not 7.
for MAIN GPIO
00 = GPIO0 or 1 depending on the specific pin (meaning if mode 7 has
GPIO0.x then it is GPIO0 and if GPIO1.x then GPIO1)
01 - GPIO2 or 3 depending on the specific pin (meaning if mode 7 has
GPIO0.x then it is GPIO2 and if GPIO1.x then GPIO3)
10 - GPIO4 or 5 depending on the specific pin (meaning if mode 7 has
GPIO0.x then it is GPIO4 and if GPIO1.x then GPIO5)
11 - GPIO6 or 7 depending on the specific pin (meaning if mode 7 has
GPIO0.x then it is GPIO6 and if GPIO1.x then GPIO7)
Note this field  is irrelevant when Muxmode is not 7.

Thus, macros need to be generic or it should just open code the constant.

>  /* Default mux configuration for gpio-ranges to use with pinctrl */
>  #define PIN_GPIO_RANGE_IOPAD	(PIN_INPUT | 7)
>  

-- 
Regards
Vignesh
https://ti.com/opensource



  parent reply	other threads:[~2026-09-18  8:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-17 11:15 [PATCH] arm64: dts: ti: k3-pinctrl: Add virtual GPIO select mux macros Akashdeep Kaur
2026-09-17 18:58 ` Kendall Willis
2026-09-18  8:27 ` Vignesh Raghavendra [this message]
2026-09-21  6:40   ` Akashdeep Kaur

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=39d5525a-1276-47af-8659-70a86cda8a1b@ti.com \
    --to=vigneshr@ti.com \
    --cc=a-kaur@ti.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kristo@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=robh@kernel.org \
    --cc=sebin.francis@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox