Hi Linus Thanks for your reply. let me explain the gpio pin as below: Our sgpio module has 64 pins output and 64 pins input. Soc have 8 reg to control 64 output pins and 8 reg to control 64 input pins. so the pin is only for gpi or gpo. The common property ngpio can be out or in. so i need to create d_out and d_in to control it. customers can set the number of output or input pins to use. the driver will open the ports to use. ex: if i set d_out=9 and d_in=20 driver will open two output ports and three input ports. Another method is the driver default opens all ports , in this situation the driver doesn't need d_out and d_in. Best regards, Jim On Fri, Nov 11, 2022 at 10:20 PM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > On Fri, Nov 11, 2022 at 10:30 AM Jim Liu <jim.t90615@xxxxxxxxx> wrote: > > > -D_out: > > the output data is the serial data needed to connect to hc595 and the > > data will output to hc595 parallel pins. > > you can use dts nout_gpios to create the number of pins. > > > > -D_in > > this pin need to connect to hc165 and get the serial data from hc165. > > you can use dts nin_gpios to create the number of pins. > > In the example it seems you enable d_out and d_in for *all* 64 > pins, correct? So they are all either input or output. > > That in effect turns them into GPIOs, so I don't see the problem > with simply always doing this? > > Just that things are configurable doesn't mean we always need > to provide means to configure them. > > If you have a use case where the user wants to control this, then > that is another thing. Otherwise just make all pins input and output > and wait for a usecase that needs more control, maybe it will > never appear. > > Yours, > Linus Walleij