[PATCH v3 0/3] pinctrl: qcom: Introduce Pinctrl/GPIO for SM8650

From: Neil Armstrong
Date: Mon Nov 06 2023 - 03:32:41 EST


The SM8650 Top Level Mode Multiplexer supports 211 GPIOs,
and the usual UFS Reset, SDC Clk/Cmd/Data special pins.

An handful of pins can have their IRQ generated by the PDC
module, and for this support for the new wakeup_present &
wakeup_enable_bit is required to allow the "wakeup" event
to be passed to PDC and generate an interrupt or a wakeup
system event.

As SM8550, it also supports the i2c_pull_bit bit to enable the
on-SoC load resistor for I2C busses.

Dependencies: None

For convenience, a regularly refreshed linux-next based git tree containing
all the SM8650 related work is available at:
https://git.codelinaro.org/neil.armstrong/linux/-/tree/topic/sm8650/upstream/integ

Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
---
Changes in v3:
- Correctly squashed intr_wakeup_ change protection with the spinlock
- Collected bindings reviewed-by
- Link to v2: https://lore.kernel.org/r/20231030-topic-sm8650-upstream-tlmm-v2-0-9d4d4386452d@xxxxxxxxxx

Changes in v2:
- Collect reviewed-bys
- Fixed unevaluatedProperties handling, and dropped the true properties
- Link to v1: https://lore.kernel.org/r/20231025-topic-sm8650-upstream-tlmm-v1-0-4e3d84a3a46b@xxxxxxxxxx

---
Neil Armstrong (3):
dt-bindings: pinctrl: document the SM8650 Top Level Mode Multiplexer
pinctrl: qcom: handle intr_target_reg wakeup_present/enable bits
pinctrl: qcom: Introduce the SM8650 Top Level Mode Multiplexer driver

.../bindings/pinctrl/qcom,sm8650-tlmm.yaml | 147 ++
drivers/pinctrl/qcom/Kconfig.msm | 8 +
drivers/pinctrl/qcom/Makefile | 1 +
drivers/pinctrl/qcom/pinctrl-msm.c | 42 +
drivers/pinctrl/qcom/pinctrl-msm.h | 5 +
drivers/pinctrl/qcom/pinctrl-sm8650.c | 1762 ++++++++++++++++++++
6 files changed, 1965 insertions(+)
---
base-commit: ed75ce58b3a55d2cd95b68a06fdb010e1e18d825
change-id: 20231016-topic-sm8650-upstream-tlmm-4ece354ef319

Best regards,
--
Neil Armstrong <neil.armstrong@xxxxxxxxxx>