Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/2] pinctrl: qcom: Allow eGPIO ownership independent of the mux function
@ 2026-11-06  7:59 Pankaj Patil
  2026-11-06  7:59 ` [PATCH 1/2] dt-bindings: pinctrl: qcom: Add qcom,remote-owned for ownership update Pankaj Patil
  2026-11-06  7:59 ` [PATCH 2/2] pinctrl: qcom: Add qcom,remote-owned pin configuration support Pankaj Patil
  0 siblings, 2 replies; 4+ messages in thread
From: Pankaj Patil @ 2026-11-06  7:59 UTC (permalink / raw)
  To: Bartosz Golaszewski, Bjorn Andersson, Linus Walleij, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Prasad Sodagudi,
	Rajendra Nayak
  Cc: linux-arm-msm, linux-gpio, devicetree, linux-kernel, Pankaj Patil

eGPIO capable TLMM pins can be handed over to a remote subsystem,
which then drives the pin instead of the application processor. The
eGPIO present bit describes whether a pin is capable of being owned
remotely and the enable bit selects the owner; neither is tied to the
pin's mux function.

The only way to express this today is to select the virtual "egpio"
function which transfers the ownership to remote io whereas the 
single-valued "function" property e.g - gpio, qup0_se0 claim the
ownership for APPS. There is no way to describe both the pin's normal mux
function and enable remote ownership where as the hardware programming
guide(HPG) mentions no such exclusion. Boards that need a pin muxed to
it's real function while the remote subsystem drives it is permitted
behavior according to the HPG.

This series adds a "qcom,remote-owned" boolean flag to the TLMM pin
configuration, describing ownership on its own. Its presence
hands the listed pins to their remote owner, and its absence leaves the
ownership to APPS.

cam_sensor_suspend_rst4: cam-sensor-suspend-rst4 {
		/* RESET REAR */
		config {
			pins = "gpio239";
			bias-pull-down; /* PULL DOWN */
			drive-strength = <12>; /* 12 MA */
			output-low;
			qcom,remote-owned;
		};

		mux {
			pins = "gpio239";
			function = "gpio";
		};
	};

Pinconf-generic emits the mux mapping ahead of the config
mapping, the flag is applied after msm_pinmux_set_mux() has
claimed the pin, so the combination above ends up muxed to gpio and owned
remotely.

Signed-off-by: Pankaj Patil <pankaj.patil@oss.qualcomm.com>
---
Pankaj Patil (2):
      dt-bindings: pinctrl: qcom: Add qcom,remote-owned for ownership update
      pinctrl: qcom: Add qcom,remote-owned pin configuration support

 .../bindings/pinctrl/qcom,tlmm-common.yaml         |  7 ++
 drivers/pinctrl/qcom/pinctrl-msm.c                 | 81 +++++++++++++++++++---
 2 files changed, 80 insertions(+), 8 deletions(-)
---
base-commit: d6bcfc94eb4da6e089c5473970cd96727292fd97
change-id: 20261102-egpio_fix-ddf4c2a4f24e

Best regards,
-- 
Pankaj Patil <pankaj.patil@oss.qualcomm.com>


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

end of thread, other threads:[~2026-11-06  8:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-06  7:59 [PATCH 0/2] pinctrl: qcom: Allow eGPIO ownership independent of the mux function Pankaj Patil
2026-11-06  7:59 ` [PATCH 1/2] dt-bindings: pinctrl: qcom: Add qcom,remote-owned for ownership update Pankaj Patil
2026-11-06  7:59 ` [PATCH 2/2] pinctrl: qcom: Add qcom,remote-owned pin configuration support Pankaj Patil
2026-11-06  8:10   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox