[PATCH v6 03/21] dt-bindings: pinctrl: Add starfive,jhb100-sys0-pinctrl

Changhuang Liang changhuang.liang at starfivetech.com
Sun Aug 30 01:42:34 PDT 2026


Hi, Krzysztof

Thanks for the review.

> On 30/08/2026 03:29, Changhuang Liang wrote:
> > Hi, Krzysztof
> >
> > Thanks for the review.
> >
> >> On 29/08/2026 04:57, Changhuang Liang wrote:
> >>> +#ifndef __DT_BINDINGS_PINCTRL_STARFIVE_JHB100_H__
> >>> +#define __DT_BINDINGS_PINCTRL_STARFIVE_JHB100_H__
> >>> +
> >>> +/* sys0 pad numbers */
> >>> +#define PADNUM_SYS0_GPIO_A0				0
> >>> +#define PADNUM_SYS0_GPIO_A1				1
> >>> +#define PADNUM_SYS0_GPIO_A2				2
> >>> +#define PADNUM_SYS0_GPIO_A3				3
> >>
> >> I could not find how your driver uses these, so are you sure it's a
> >> binding constant for the SW?
> >
> > Yes, these are not used in the driver, but in PATCH 6/8/10/12, etc.,
> > some definitions for other GPIOs are still used. Therefore, I have
> > uniformly defined them in the binding, and they will be provided to the
> device tree for use later.
> 
> I am confused. The driver in these patches 6/8/10/12 does include the header
> but does not use them. Why do you include unused headers? Or what is
> exactly the use?

I'm sorry, I missed one thing. Actually, the current patches 4/6/8/10/12/14/16/18/20 all use this:

For example, in patch 4:

static const struct jhb100_pinctrl_func_maps jhb100_func_maps_sys0[] = {
	{ .func = "auxpwrgood",		.val = 1 },
	{ .func = "gpio",		.val = 0,
	  .max_pin = JHB100_FUNC_MAPS_MAX_PIN(PADNUM_SYS0_GPIO_A2) },
	{ .func = "gpio",		.val = 1,
	  .max_pin = JHB100_FUNC_MAPS_MAX_PIN(PADNUM_SYS0_GPIO_A3) },
	{ .func = "hbled",		.val = 1 },
	{ .func = "pe2rst_out",		.val = 0 },
};

These definitions are used in `struct jhb100_pinctrl_func_maps` or `struct pinvref_desc`.

Best Regards,
Changhuang



More information about the linux-riscv mailing list