Re: [PATCH v2 03/12] dt-bindings: connector: Add the GOcontroll Moduline module slot bindings

From: Rob Herring
Date: Tue Mar 18 2025 - 11:39:32 EST


On Mon, Mar 17, 2025 at 5:42 AM Maud Spierings | GOcontroll
<maudspierings@xxxxxxxxxxxxxx> wrote:
>
> From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> Sent: Monday, March 17, 2025 11:34 AM
>
> >On Sat, Mar 15, 2025 at 07:32:28AM +0000, Maud Spierings | GOcontroll wrote:
> >> >> +required:
> >> >> + - compatible
> >> >> + - reg
> >> >> + - reset-gpios
> >> >> + - interrupts
> >> >> + - sync-gpios
> >> >> + - i2c-bus
> >> >> + - slot-number
> >> >> +
> >> >> +additionalProperties: false
> >> >> +
> >> >> +examples:
> >> >> + - |
> >> >> + #include <dt-bindings/gpio/gpio.h>
> >> >> + #include <dt-bindings/interrupt-controller/irq.h>
> >> >> +
> >> >> + spi {
> >> >> + #address-cells = <1>;
> >> >> + #size-cells = <0>;
> >> >> +
> >> >> + connector@0 {
> >> >
> >> >I find this being a SPI device a bit strange. Is there a defined SPI
> >> >device that every slot is going to have? Or the connector has SPI
> >> >interface and *anything* could be attached on it?
> >>
> >> So a module slot is like a pcie slot, it can be occupied or not, and when
> >
> >But which buses...
>
> I don't think I am fully understanding what you are asking of me. The
> module will always be an spi device, that is the main communication bus.

Okay, that clears up whether it should be a SPI device or not, and I
think it should as SPI is always used. The 2nd question is what does
"gocontroll,moduline-module-slot" mean exactly. Normally, the
compatible implies how you interact with the device (or what is the
programming model). For SPI, that's what do the SPI transactions look
like to begin with. Does the slot spec define that such that every
module is the same? Then when it comes to different module types, are
those discoverable (e.g. PCI has vendor and device ID) or will you
need "compatible" to make that distinction?

Rob