From: Rob Herring <robh@kernel.org>
To: Maud Spierings | GOcontroll <maudspierings@gocontroll.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
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>,
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>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"imx@lists.linux.dev" <imx@lists.linux.dev>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules
Date: Tue, 25 Feb 2025 08:20:43 -0600 [thread overview]
Message-ID: <20250225142043.GA2173114-robh@kernel.org> (raw)
In-Reply-To: <PA4PR04MB76306D77C93FF2C51524BD95C5C32@PA4PR04MB7630.eurprd04.prod.outlook.com>
On Tue, Feb 25, 2025 at 12:24:09PM +0000, Maud Spierings | GOcontroll wrote:
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: Tuesday, February 25, 2025 12:52 PM
>
> >On Tue, Feb 25, 2025 at 07:39:52AM +0000, Maud Spierings | GOcontroll wrote:
> >> From: Rob Herring <robh@kernel.org>
> >> Sent: Monday, February 24, 2025 9:44 PM
> >>
> >> >On Mon, Feb 24, 2025 at 02:50:55PM +0100, Maud Spierings wrote:
> >> >> The main point of the Moduline series of embedded controllers is its
> >> >> ecosystem of IO modules, these currently are operated through the spidev
> >> >> interface. Ideally there will be a full dedicated driver in the future.
> >> >>
> >> >> Add the gocontroll moduline-module-slot device to enable the required
> >> >> spidev interface.
> >> >>
> >> >> Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
> >> >> ---
> >> >> Documentation/devicetree/bindings/trivial-devices.yaml | 2 ++
> >> >> 1 file changed, 2 insertions(+)
> >> >>
> >> >> diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
> >> >> index 8255bb590c0cc619d15b27dcbfd3aa85389c0a54..24ba810f91b73efdc615c7fb46f771a300926f05 100644
> >> >> --- a/Documentation/devicetree/bindings/trivial-devices.yaml
> >> >> +++ b/Documentation/devicetree/bindings/trivial-devices.yaml
> >> >> @@ -107,6 +107,8 @@ properties:
> >> >> - fsl,mpl3115
> >> >> # MPR121: Proximity Capacitive Touch Sensor Controller
> >> >> - fsl,mpr121
> >> >> + # GOcontroll Moduline module slot for spi based IO modules
> >> >
> >> >I couldn't find anything about SPI for GOcontroll Moduline. Can you
> >> >point me to what this hardware looks like. Based on what I did find,
> >> >this seems incomplete and not likely a trivial device.
> >>
> >> I'll give some more details, if there is a v2 of this patch I will also
> >> add more information in the commit message.
> >>
> >> The module slots have a number of pins, a lot of them currently unused as
> >> they have not found a function yet, this is very much still a developing
> >> product. The currently used interfaces to the SoC are:
> >> 1. SPI bus as a spidev to ease developing new modules and quickly
> >> integrate them. This is the main communication interface for control and
> >> firmware updates.
> >> 2. A reset pin, this is/was driven with the gpio-led driver but I doubt
> >> that would get accepted upstream so I intend to switch to the much better
> >> suited libgpio.
> >
> >reset-gpios is not in trivial devices, so that's already a hint you
> >cannot use this binding.
> >
> >> 3. An interrupt pin, this is currently only used in the firmware update
> >> utility [2] to speed up the update process. Other communication is done at
> >> a regular interval.
> >>
> >> What is unused:
> >> 1. A potentially multi-master i2c bus between all the module slots and
> >> the SoC
> >> 2. An SMBus alert line is shared between the modules, but not the SoC.
> >> 3. A shared line designated as a clock line, intended to in the future
> >> aid with synchronizing modules to each other for time critical control.
> >>
> >> current software that is used to work with the modules can be found at
> >> [2] and [3], one of them is a Node-RED module the other is a blockset for
> >> Matlab/Simulink generated code.
> >>
> >> If you know a better way I could describe this in the devicetree then I
> >
> >You need dedicated binding where you describe entire device, entire
> >hardware, not what your driver supports in current release.
>
> I see now that I also forgot the patch that adds this compatible to the
> spidev driver. Didn't check for the spidevs in testing I guess.
>
> Could I write bindings for this device, and then add the compatible to the
> spidev driver for now? So it probes that driver, and then later when there
> is a driver remove the compatible there and keep it only in the purpose
> built driver?
>
> So I'll write gocontroll,moduline-module-slot.yaml, don't quite know where
> that would go. Define all these attributes in there and then add the
> compatible to drivers/spi/spidev.c
>
> Is that okay?
Yes. Bindings are forever, but drivers change. ;)
Perhaps put it in connector/ as this looks a bit like a connector. Do
you envision DT overlays for the IO modules? Or modules don't have
sub-devices you need to describe? There's some effort to on connector
bindings (for mikrobus in particular) in order to de-couple host
buses/signals from the modules (i.e. so a DT overlay can be applied to
any DT defining the connector).
Rob
next prev parent reply other threads:[~2025-02-25 14:20 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-24 13:50 ` [PATCH 01/14] dt-bindings: display: simple: add BOE AV101HDT-A10 panel Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-24 20:32 ` Rob Herring (Arm)
2025-02-24 13:50 ` [PATCH 02/14] dt-bindings: display: simple: Add BOE AV123Z7M-N17 panel Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-24 20:32 ` Rob Herring (Arm)
2025-02-24 13:50 ` [PATCH 03/14] dt-bindings: arm: fsl: Add GOcontroll Moduline Display Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-24 20:33 ` Rob Herring (Arm)
2025-02-24 13:50 ` [PATCH 04/14] dt-bindings: vendor-prefixes: add GOcontroll Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-24 20:34 ` Rob Herring
2025-02-24 13:50 ` [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-24 20:44 ` Rob Herring
2025-02-25 7:39 ` Maud Spierings | GOcontroll
2025-02-25 11:52 ` Krzysztof Kozlowski
2025-02-25 12:24 ` Maud Spierings | GOcontroll
2025-02-25 14:20 ` Rob Herring [this message]
2025-02-25 14:39 ` Maud Spierings | GOcontroll
2025-02-24 13:50 ` [PATCH 06/14] arm64: dts: imx8mp: Add pinctrl config definitions Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-24 20:45 ` Rob Herring (Arm)
2025-02-24 13:50 ` [PATCH 07/14] drm/panel: simple: add BOE AV101HDT-A10 panel Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-25 10:13 ` Neil Armstrong
2025-02-24 13:50 ` [PATCH 08/14] drm/panel: simple: Add BOE AV123Z7M-N17 panel Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-25 10:13 ` Neil Armstrong
2025-02-24 13:50 ` [PATCH 09/14] MAINTAINERS: add maintainer for the Ka-Ro tx8p-ml81 COM module Maud Spierings
2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-24 13:51 ` [PATCH 10/14] MAINTAINERS: add maintainer for the GOcontroll Moduline controllers Maud Spierings
2025-02-24 13:51 ` Maud Spierings via B4 Relay
2025-02-24 13:51 ` [PATCH 11/14] arm64: dts: freescale: add Ka-Ro Electronics tx8p-ml81 COM Maud Spierings
2025-02-24 13:51 ` Maud Spierings via B4 Relay
2025-02-24 13:51 ` [PATCH 12/14] arm64: dts: freescale: Add the GOcontroll Moduline Display baseboard Maud Spierings
2025-02-24 13:51 ` Maud Spierings via B4 Relay
2025-02-24 13:51 ` [PATCH 13/14] arm64: dts: freescale: Add the BOE av101hdt-a10 variant of the Moduline Display Maud Spierings
2025-02-24 13:51 ` Maud Spierings via B4 Relay
2025-02-24 13:51 ` [PATCH 14/14] arm64: dts: freescale: Add the BOE av123z7m-n17 " Maud Spierings
2025-02-24 13:51 ` Maud Spierings via B4 Relay
2025-02-25 10:25 ` (subset) [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll " Neil Armstrong
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=20250225142043.GA2173114-robh@kernel.org \
--to=robh@kernel.org \
--cc=airlied@gmail.com \
--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=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@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=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.