[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKUZ0+Hy5suFg9VZ8-+cH7kGc5KLqUnf9hjnT+iaw+a1HF8x0A@mail.gmail.com>
Date: Mon, 14 Nov 2022 16:38:06 +0800
From: Jim Liu <jim.t90615@...il.com>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: JJLIU0@...oton.com, KWLIU@...oton.com, brgl@...ev.pl,
robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, openbmc@...ts.ozlabs.org
Subject: Re: [PATCH v2 3/3] dt-bindings: gpio: Add Nuvoton NPCM750 serial I/O
expansion interface(SGPIO)
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@...aro.org> wrote:
>
> On Fri, Nov 11, 2022 at 10:30 AM Jim Liu <jim.t90615@...il.com> 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
Powered by blists - more mailing lists