[PATCH RFC 2/3] pinctrl: spacemit: k3: add initial pin support

Troy Mitchell troy.mitchell at linux.spacemit.com
Sun Dec 21 22:59:57 PST 2025


On Sat, Dec 20, 2025 at 06:14:54PM +0800, Yixun Lan wrote:
> For the pinctrl IP of SpacemiT's K3 SoC, it has different register offset
> comparing with previous SoC generation, so introduce a function to do the
> pin to offset mapping. Also add all the pinctrl data.
> 
> Signed-off-by: Yixun Lan <dlan at gentoo.org>
> ---
>  drivers/pinctrl/spacemit/Kconfig      |   4 +-
>  drivers/pinctrl/spacemit/pinctrl-k1.c | 354 +++++++++++++++++++++++++++++++++-
>  2 files changed, 352 insertions(+), 6 deletions(-)
> 
[...]
> diff --git a/drivers/pinctrl/spacemit/pinctrl-k1.c b/drivers/pinctrl/spacemit/pinctrl-k1.c
[...]
> +static unsigned int spacemit_k3_pin_to_offset(unsigned int pin)
> +{
> +	unsigned int offset = pin > 130 ? (pin + 2) : pin;
Is this necessary? I think it's hard to read. Why not:
```
if (pin > 130)
  pin += 2;

return pin << 2;
```
This avoids the extra variable and makes the code clearer.
> +
> +	return offset << 2;
> +}
> +
>
                      - Troy



More information about the linux-riscv mailing list