Hi Marek, > Subject: Re: [PATCH 09/16] pinctrl: renesas: Add RZ/G2L PFC driver > > On 10/4/23 14:56, Biju Das wrote: > > [...] > > >>>>> + return -EINVAL; > >>>>> + } > >>>>> + > >>>>> + uc_priv->gpio_count = args.args[2]; > >>>>> + return rzg2l_pfc_enable(dev); > >>>>> +} > >>>>> + > >>>>> +U_BOOT_DRIVER(rzg2l_pfc_gpio) = { > >>>>> + .name = "rzg2l-pfc-gpio", > >>>>> + .id = UCLASS_GPIO, > >>>>> + .ops = &rzg2l_gpio_ops, > >>>>> + .probe = rzg2l_gpio_probe, > >>>>> +}; > >>>> > >>>> Can you please split the GPIO and PFC drivers into separate files ? > >>> > >>> I assume you mean gpio and pinctrl here - the PFC handles both. I > >>> can move the gpio driver out to drivers/gpio. > >> > >> Thanks. R-Car already does it that way. > > > > RCar has separate GPIO block and Pin control block So we have separate > > drivers. > > > > On RZ/G2L we have only pinctrl block, ie, the reason it is integrated > > driver in linux. > > > > If you make separate driver, how do you plan to share resources in u- > boot. For eg: register/clock/reset?? > > Clock and reset are easy, just grab them twice, once in each driver. > > Registers, well ... have a look at gen3_cpg_bind() in > drivers/clk/renesas/clk-rcar-gen3.c . Specifically, see > device_bind_with_driver_data() and how one common "superdriver" can get > bound to an IP, and then instantiate and bind two "subdrivers" which each > obtain resources claimed by the "superdriver" via (in this case) the 'info' > parameter. That should work, right ?
Yes, it should work. Thanks for the explanation. Cheers, Biju