]> www.infradead.org Git - users/jedix/linux-maple.git/commit
dt-bindings: connector: Add the GOcontroll Moduline module slot bindings
authorMaud Spierings <maudspierings@gocontroll.com>
Wed, 26 Feb 2025 14:19:14 +0000 (15:19 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 13 Mar 2025 22:43:16 +0000 (22:43 +0000)
commit43fd4d2f4f9df4ae1f6493d51cdd2687f325a225
tree85fac918be9eb6ab7a3f904bd11c94045cb4eb0b
parent5f0d2de417166698c8eba433b696037ce04730da
dt-bindings: connector: Add the GOcontroll Moduline module slot bindings

Add the bindings that describe a GOcontroll Moduline module slot. This
slot provides all the interfaces to interface with a Moduline compatible
IO module. The actual module is not reasonable to describe as it can be
swapped at will, with this connector the driver will be able to probe
for a module on boot.

The connector consists of 2 parts, one part for interfacing with the SoC
and main board, the other part has 13 IO channels for the module to
interact with the outside world. The functions of these IO channels are
determined by the type of module in the slot. The IO on the SoC side is
as follows:

 - a 3v3 supply, this tends to be the logic level of the module and its
   microcontroller
 - a 5v0 supply, this can be used to power low power peripherals on the
   module
 - a 6v-8v supply, this can be used for high power peripherals on the
   module
 - a 6v-30v supply, this tends to be a dirty supply that comes from the
   controller supply after some circuit protection, or is the same as
   the 6v-8v supply.
 - an SPI bus which carries the communication between the SoC and the
   microcontroller on the module.
 - an I2C bus shared between the SoC and all module slots which can
   carry direct module-to-module communication.
 - a reset line
 - an interrupt line that indicates a clear to transmit signal
 - a sync line shared between the SoC and all module slots which could
   be used to synchronize modules for time sensitive IO spread across
   modules.
 - a SMBus alert line that is shared between the modules but is not
   connected to the SoC so that is ignored.

A slot-number property is used to identify the physical location of a
module slot. Without it, it would be impossible to identify which module
to control if there are multiple of one type, to address the desired IO.

Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
Link: https://patch.msgid.link/20250226-initial_display-v2-3-23fafa130817@gocontroll.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/connector/gocontroll,moduline-module-slot.yaml [new file with mode: 0644]