On Mon, Jun 10, 2024 at 1:27 PM Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote: > > This is a sloppy logic analyzer using GPIOs. It comes with a script to > isolate a CPU for polling. While this is definitely 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 really dislike drivers being called in an ambiguous way like "simple" or - in this case "sloppy". I understand why it is - in fact - sloppy but can we call it anything else? Like "gpio-logic-analyzer.c"? > +Setup > +===== > + > +Your kernel must have CONFIG_DEBUG_FS and CONFIG_CPUSETS enabled. Ideally, your > +runtime environment does not utilize cpusets otherwise, then isolation of a CPU > +core is easiest. If you do need cpusets, check that helper script for the > +sloppy logic analyzer does not interfere with your other settings. > + > +Tell the kernel which GPIOs are used as probes. For a Device Tree based system, > +you need to use the following bindings. Because these bindings are only for > +debugging, there is no official schema:: > + > + i2c-analyzer { > + compatible = "gpio-sloppy-logic-analyzer"; > + probe-gpios = <&gpio6 21 GPIO_OPEN_DRAIN>, <&gpio6 4 GPIO_OPEN_DRAIN>; > + probe-names = "SCL", "SDA"; > + }; > + > +Note that you must provide a name for every GPIO specified. Currently a > +maximum of 8 probes are supported. 32 are likely possible but are not > +implemented yet. > + What happens on non-DT systems? Can you still create an analyzer in a different way? Can I maybe interest you in configfs for the purpose of device configuration like what gpio-sim and the upcoming gpio-virtuser does? Bart