On Tue, Mar 30, 2021 at 10:58 AM Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote: > This is a simple logic analyzer using GPIO polling. It comes with a > script to isolate a CPU for polling. While this is definately not a > production level analyzer, it can be a helpful first view when remote > debugging. Read the documentation for details. > > Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> I am a great supporter of this idea. When we created gpiod_get_array_value() and friends, the idea was exactly to be able to do things like this. It's a good way to utilize the fact that several GPIO lines can often be read from a single register read. > + i2c-analyzer { > + compatible = "gpio-logic-analyzer"; > + probe-gpios = <&gpio6 21 GPIO_OPEN_DRAIN>, <&gpio6 4 GPIO_OPEN_DRAIN>; > + probe-names = "SCL", "SDA"; > + }; > + > +The binding documentation is in the ``misc`` folder of the Kernel binding > +documentation. (...) > +++ b/Documentation/devicetree/bindings/misc/gpio-logic-analyzer.yaml When other debugging tools for GPIO got DT bindings it was concluded that it is possible to create bindings like this for debugging without even specifying any formal bindings. They are just for debugging after all. Personally I like the bindings anyway. > diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig I would consider housing this tool under drivers/gpio actually. We have other funky things like gpio-sim and gpio-aggregator so why not. I would create a Kconfig menu with "GPIO hardware hacking tools". But Bartosz would need to agree on that idea. > +config GPIO_LOGIC_ANALYZER > + tristate "Simple GPIO logic analyzer" > + depends on GPIOLIB || COMPILE_TEST > + help depends on EXPERT I would say. Definitely not something for the average user. Yours, Linus Walleij