[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251112-lantern-sappy-bea86ff2a7f4@spud>
Date: Wed, 12 Nov 2025 14:31:11 +0000
From: Conor Dooley <conor@...nel.org>
To: linus.walleij@...aro.org
Cc: conor@...nel.org,
Conor Dooley <conor.dooley@...rochip.com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
linux-kernel@...r.kernel.org,
linux-gpio@...r.kernel.org,
devicetree@...r.kernel.org,
Valentina.FernandezAlanis@...rochip.com
Subject: [RFC v1 0/4] Microchip mpfs/pic64gx pinctrl part 2
From: Conor Dooley <conor.dooley@...rochip.com>
Hey Linus,
Got the other driver that I was talking about here for you...
It's in RFC state because I'd like to get some feedback on the approach
while I try to figure out a) what ibufmd is and b) how the bank voltage
interacts with the schmitt trigger setting. Although, I am pretty sure
for the latter that it is not forced on for low voltages and that the
commented code should be deleted.
There's some specific @Linus questions in the driver, mostly where I was
unsure about how config bits should be handled and looking around at
other drivers wasn't sufficient because they did different things.
Finally, on the dt side, this was using the pinmux property before the
other drivers were submitted, but I didn't really like it to begin with
(shoving two things into entries of the same property gives me the ick).
I moved to using pins + function which at least looks prettier in the
devicetree. I had been hoping that I could move to some sort of generic
dt_node_to_map function, but I couldn't figure out one that'd work
without creating groups in the driver. If there is, I'd love to get rid
of the custom dt_node_to_map stuff.
I want to avoid doing having set groups, because of the number of
possible configurations in the MSS Configurator FPGA tool is fairly
large, and I believe that MSS Configurator actually undersells the
number of possible combinations for ease of use. I haven't tested that
and the driver technically doesn't support it, but I feel like not trying
to define groups statically and using pins instead would permit those
combos in the future should that use case ever materialise.
Cheers,
Conor.
CC: Linus Walleij <linus.walleij@...aro.org>
CC: Rob Herring <robh@...nel.org>
CC: Krzysztof Kozlowski <krzk+dt@...nel.org>
CC: linux-kernel@...r.kernel.org
CC: linux-gpio@...r.kernel.org
CC: devicetree@...r.kernel.org
CC: Valentina.FernandezAlanis@...rochip.com
Conor Dooley (4):
dt-bindings: pinctrl: document polarfire soc mssio pin controller
pinctrl: add polarfire soc mssio pinctrl driver
MAINTAINERS: add Microchip mpfs mssio driver/bindings to entry
riscv: dts: microchip: add pinctrl nodes for mpfs/icicle kit
.../pinctrl/microchip,mpfs-pinctrl-mssio.yaml | 108 +++
.../microchip,mpfs-mss-top-sysreg.yaml | 4 +
MAINTAINERS | 2 +
.../dts/microchip/mpfs-icicle-kit-common.dtsi | 1 -
.../dts/microchip/mpfs-icicle-kit-fabric.dtsi | 63 ++
.../boot/dts/microchip/mpfs-pinctrl.dtsi | 165 ++++
arch/riscv/boot/dts/microchip/mpfs.dtsi | 16 +
drivers/pinctrl/Kconfig | 5 +-
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl-mpfs-mssio.c | 798 ++++++++++++++++++
10 files changed, 1161 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pinctrl/microchip,mpfs-pinctrl-mssio.yaml
create mode 100644 arch/riscv/boot/dts/microchip/mpfs-pinctrl.dtsi
create mode 100644 drivers/pinctrl/pinctrl-mpfs-mssio.c
--
2.51.0
Powered by blists - more mailing lists