From: Maud Spierings via B4 Relay <devnull+maudspierings.gocontroll.com@kernel.org>
To: Neil Armstrong <neil.armstrong@linaro.org>,
Jessica Zhang <quic_jesszhan@quicinc.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>,
Simona Vetter <simona@ffwll.ch>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Thierry Reding <thierry.reding@gmail.com>,
Sam Ravnborg <sam@ravnborg.org>, Liu Ying <victor.liu@nxp.com>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Mark Brown <broonie@kernel.org>
Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org,
Maud Spierings <maudspierings@gocontroll.com>
Subject: [PATCH v2 03/12] dt-bindings: connector: Add the GOcontroll Moduline module slot bindings
Date: Wed, 26 Feb 2025 15:19:14 +0100 [thread overview]
Message-ID: <20250226-initial_display-v2-3-23fafa130817@gocontroll.com> (raw)
In-Reply-To: <20250226-initial_display-v2-0-23fafa130817@gocontroll.com>
From: Maud Spierings <maudspierings@gocontroll.com>
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>
---
.../connector/gocontroll,moduline-module-slot.yaml | 88 ++++++++++++++++++++++
1 file changed, 88 insertions(+)
diff --git a/Documentation/devicetree/bindings/connector/gocontroll,moduline-module-slot.yaml b/Documentation/devicetree/bindings/connector/gocontroll,moduline-module-slot.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a16ae2762d160180d5b163e20f5294235e65053b
--- /dev/null
+++ b/Documentation/devicetree/bindings/connector/gocontroll,moduline-module-slot.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/connector/gocontroll,moduline-module-slot.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: GOcontroll Moduline Module slot
+
+maintainers:
+ - Maud Spierings <maudspierings@gocontroll.com>
+
+description:
+ The GOcontroll Moduline module slot represents a connector that fullfills the
+ Moduline slot specification, and can thus house any IO module that is also
+ built to this spec.
+
+properties:
+ compatible:
+ const: gocontroll,moduline-module-slot
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ description: indicates readiness, high means busy.
+ maxItems: 1
+ reset-gpios:
+ description: resets the module, active low.
+ maxItems: 1
+ sync-gpios:
+ description: sync line between all module slots.
+ maxItems: 1
+
+ vdd-supply:
+ description: low power 3v3 supply generally for the microcontroller.
+ vddp-supply:
+ description: medium power 5v0 supply for on module low power peripherals.
+ vddhpp-supply:
+ description: high power 6v-8v supply for on module high power peripherals.
+ power-supply:
+ description: high power 6v-30v supply for high power module circuits.
+
+ i2c-bus:
+ description: i2c bus shared between module slots and the SoC
+ $ref: /schemas/types.yaml#/definitions/phandle
+
+ slot-number:
+ description:
+ The number of the module slot representing the location of on the pcb.
+ This enables access to the modules based on slot location.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ spi-max-frequency: true
+
+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 {
+ reg = <0>;
+ compatible = "gocontroll,moduline-module-slot";
+ reset-gpios = <&gpio5 10 GPIO_ACTIVE_LOW>;
+ sync-gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
+ vdd-supply = <®_3v3_per>;
+ vddp-supply = <®_5v0>;
+ vddhpp-supply = <®_6v4>;
+ i2c-bus = <&i2c2>;
+ slot-number = <1>;
+ };
+ };
--
2.48.1
next prev parent reply other threads:[~2025-02-26 14:19 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-26 14:19 [PATCH v2 00/12] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
2025-02-26 14:19 ` [PATCH v2 01/12] dt-bindings: arm: fsl: Add " Maud Spierings via B4 Relay
2025-02-26 14:19 ` [PATCH v2 02/12] dt-bindings: vendor-prefixes: add GOcontroll Maud Spierings via B4 Relay
2025-02-26 14:19 ` Maud Spierings via B4 Relay [this message]
2025-03-14 21:06 ` [PATCH v2 03/12] dt-bindings: connector: Add the GOcontroll Moduline module slot bindings Rob Herring
2025-03-15 7:33 ` Maud Spierings | GOcontroll
[not found] ` <PA4PR04MB7630094413C8E1F3D715EE23C5DD2@PA4PR04MB7630.eurprd04.prod.outlook.com>
2025-03-17 10:34 ` Krzysztof Kozlowski
2025-03-17 10:42 ` Maud Spierings | GOcontroll
2025-03-18 15:37 ` Rob Herring
2025-03-18 16:03 ` Maud Spierings | GOcontroll
2025-02-26 14:19 ` [PATCH v2 04/12] arm64: dts: imx8mp: Add pinctrl config definitions Maud Spierings via B4 Relay
2025-02-26 15:32 ` Daniel Baluta
2025-02-26 14:19 ` [PATCH v2 05/12] MAINTAINERS: add maintainer for the Ka-Ro tx8p-ml81 COM module Maud Spierings via B4 Relay
2025-02-26 14:19 ` [PATCH v2 06/12] MAINTAINERS: add maintainer for the GOcontroll Moduline module slot Maud Spierings via B4 Relay
2025-02-26 14:19 ` [PATCH v2 07/12] MAINTAINERS: add maintainer for the GOcontroll Moduline controllers Maud Spierings via B4 Relay
2025-02-26 14:19 ` [PATCH v2 08/12] arm64: dts: freescale: add Ka-Ro Electronics tx8p-ml81 COM Maud Spierings via B4 Relay
2025-02-26 14:19 ` [PATCH v2 09/12] arm64: dts: freescale: Add the GOcontroll Moduline Display baseboard Maud Spierings via B4 Relay
2025-02-26 14:19 ` [PATCH v2 10/12] arm64: dts: freescale: Add the BOE av101hdt-a10 variant of the Moduline Display Maud Spierings via B4 Relay
2025-02-26 14:19 ` [PATCH v2 11/12] arm64: dts: freescale: Add the BOE av123z7m-n17 " Maud Spierings via B4 Relay
2025-02-26 14:19 ` [PATCH v2 12/12] spi: spidev: Add an entry for the gocontroll moduline module slot Maud Spierings via B4 Relay
2025-02-26 22:27 ` [PATCH v2 00/12] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Rob Herring (Arm)
2025-03-14 15:53 ` (subset) " Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250226-initial_display-v2-3-23fafa130817@gocontroll.com \
--to=devnull+maudspierings.gocontroll.com@kernel.org \
--cc=airlied@gmail.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=maudspierings@gocontroll.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=quic_jesszhan@quicinc.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=sam@ravnborg.org \
--cc=shawnguo@kernel.org \
--cc=simona@ffwll.ch \
--cc=thierry.reding@gmail.com \
--cc=tzimmermann@suse.de \
--cc=victor.liu@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).