[PATCH v1 11/20] dt-bindings: pinctrl: Add starfive,jhb100-per1-pinctrl
Changhuang Liang
changhuang.liang at starfivetech.com
Tue May 5 23:27:38 PDT 2026
Hi, linus
Thanks for the review.
> Hi Changhuang,
>
> thanks for your patch!
>
> On Fri, Apr 24, 2026 at 1:14 PM Changhuang Liang
> <changhuang.liang at starfivetech.com> wrote:
>
> > Add pinctrl bindings for StarFive JHB100 SoC Peripheral-1(per1)
> > pinctrl controller.
> >
> > Signed-off-by: Changhuang Liang <changhuang.liang at starfivetech.com>
> (...)
>
> > + This domain contains 4 IO groups which support voltage levels 1.8V
> > + and 3.3V gpioe-spi - comprises PAD_GPIO_C0 through PAD_GPIO_C4.
> > + gpioe-qspi0 - comprises PAD_GPIO_C5 through PAD_GPIO_C11.
> > + gpioe-qspi1 - comprises PAD_GPIO_C12 through PAD_GPIO_C19.
> > + gpioe-qspi2 - comprises PAD_GPIO_C20 through PAD_GPIO_C27.
> > +
> > + Each of the above IO groups must be configured with a voltage
> > + setting that matches the external voltage level provided to the IO group.
>
> So your hardware has groups and support some properties on the group level.
>
> So expose these groups and make these properties configurable per group
> instead of inventing per-group properties.
>
> > + gpioe-spi-vref:
> > + gpioe-qspi0-vref:
> > + gpioe-qspi1-vref:
> > + gpioe-qspi2-vref:
>
> Create proper groups in the pin controller then use the standard pincfg
> property power-source = <...>; for this.
>
> Example for a simple default hog:
>
> pinctrl {
> /* Hog the QSPI pins */
> pinctrl-names = "default";
> pinctrl-0 = <&qspi_default>;
>
> qspi_default: pinctrl-qspi {
> config {
> groups = "gpioe-qspi-pins";
> power-source = <2>;
> };
> };
> };
>
> The groups can be orthogonal to other pin handling, that's fine.
> Implement .pin_config_group_set in struct pinconf_ops.
We will try this. Thanks.
Best Regards,
Changhuang
More information about the linux-riscv
mailing list