* [PATCH 01/14] dt-bindings: display: simple: add BOE AV101HDT-A10 panel
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (13 subsequent siblings)
14 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:50 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
add a compatible string for the BOE AV101HDT-A10 10.1" LVDS panel
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
Documentation/devicetree/bindings/display/panel/panel-simple.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
index e3ee3a332bb7e1736a8d44773b0aef4873153be1..b0de4fd6f3d4129d10e07b46533bb551784d8d53 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
@@ -63,6 +63,8 @@ properties:
- auo,t215hvn01
# Shanghai AVIC Optoelectronics 7" 1024x600 color TFT-LCD panel
- avic,tm070ddh03
+ # BOE AV101HDT-a10 10.1" 1280x720 LVDS panel
+ - boe,av101hdt-a10
# BOE BP082WX1-100 8.2" WXGA (1280x800) LVDS panel
- boe,bp082wx1-100
# BOE BP101WX1-100 10.1" WXGA (1280x800) LVDS panel
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 01/14] dt-bindings: display: simple: add BOE AV101HDT-A10 panel
2025-02-24 13:50 ` [PATCH 01/14] dt-bindings: display: simple: add BOE AV101HDT-A10 panel Maud Spierings via B4 Relay
@ 2025-02-24 20:32 ` Rob Herring (Arm)
0 siblings, 0 replies; 29+ messages in thread
From: Rob Herring (Arm) @ 2025-02-24 20:32 UTC (permalink / raw)
To: Maud Spierings
Cc: Maarten Lankhorst, Krzysztof Kozlowski, Fabio Estevam,
linux-arm-kernel, Jessica Zhang, Sascha Hauer, David Airlie,
Thomas Zimmermann, Liu Ying, Pengutronix Kernel Team,
linux-kernel, Thierry Reding, Sam Ravnborg, devicetree, imx,
dri-devel, Simona Vetter, Shawn Guo, Neil Armstrong, Conor Dooley,
Maxime Ripard
On Mon, 24 Feb 2025 14:50:51 +0100, Maud Spierings wrote:
> add a compatible string for the BOE AV101HDT-A10 10.1" LVDS panel
>
> Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
> ---
> Documentation/devicetree/bindings/display/panel/panel-simple.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 02/14] dt-bindings: display: simple: Add BOE AV123Z7M-N17 panel
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
2025-02-24 13:50 ` [PATCH 01/14] dt-bindings: display: simple: add BOE AV101HDT-A10 panel Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (12 subsequent siblings)
14 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:50 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
Add support for the BOE AV123Z7M-N17 12.3" LVDS panel.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
.../devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml
index e80fc7006984e052b4f7c0007679ee0e228d9989..548f5ac14500a7f8c3e0e5df7db9e19f5af40eb8 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml
@@ -40,6 +40,8 @@ properties:
- auo,g185han01
# AU Optronics Corporation 19.0" (1280x1024) TFT LCD panel
- auo,g190ean01
+ # BOE AV123Z7M-N17 12.3" (1920x720) LVDS TFT LCD panel
+ - boe,av123z7m-n17
# Kaohsiung Opto-Electronics Inc. 10.1" WUXGA (1920 x 1200) LVDS TFT LCD panel
- koe,tx26d202vm0bwa
# Lincoln Technology Solutions, LCD185-101CT 10.1" TFT 1920x1200
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 02/14] dt-bindings: display: simple: Add BOE AV123Z7M-N17 panel
2025-02-24 13:50 ` [PATCH 02/14] dt-bindings: display: simple: Add BOE AV123Z7M-N17 panel Maud Spierings via B4 Relay
@ 2025-02-24 20:32 ` Rob Herring (Arm)
0 siblings, 0 replies; 29+ messages in thread
From: Rob Herring (Arm) @ 2025-02-24 20:32 UTC (permalink / raw)
To: Maud Spierings
Cc: Neil Armstrong, Sascha Hauer, Thomas Zimmermann, Sam Ravnborg,
Thierry Reding, Maarten Lankhorst, Jessica Zhang, devicetree,
Simona Vetter, Fabio Estevam, Conor Dooley, imx, linux-arm-kernel,
dri-devel, Shawn Guo, Pengutronix Kernel Team, David Airlie,
Liu Ying, Maxime Ripard, Krzysztof Kozlowski, linux-kernel
On Mon, 24 Feb 2025 14:50:52 +0100, Maud Spierings wrote:
> Add support for the BOE AV123Z7M-N17 12.3" LVDS panel.
>
> Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
> ---
> .../devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 03/14] dt-bindings: arm: fsl: Add GOcontroll Moduline Display
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
2025-02-24 13:50 ` [PATCH 01/14] dt-bindings: display: simple: add BOE AV101HDT-A10 panel Maud Spierings via B4 Relay
2025-02-24 13:50 ` [PATCH 02/14] dt-bindings: display: simple: Add BOE AV123Z7M-N17 panel Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (11 subsequent siblings)
14 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:50 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
Document the compatible strings for the Moduline Display controller.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
Documentation/devicetree/bindings/arm/fsl.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index db781d31569811ca241b5bd9a32a0896f7d9c3b9..40b2734f0caf3c431f05d33637a6bed8312c9d10 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -1099,6 +1099,7 @@ properties:
- gateworks,imx8mp-gw74xx # i.MX8MP Gateworks Board
- gateworks,imx8mp-gw75xx-2x # i.MX8MP Gateworks Board
- gateworks,imx8mp-gw82xx-2x # i.MX8MP Gateworks Board
+ - gocontroll,moduline-display # GOcontroll Moduline Display controller
- skov,imx8mp-skov-revb-hdmi # SKOV i.MX8MP climate control without panel
- skov,imx8mp-skov-revb-lt6 # SKOV i.MX8MP climate control with 7” panel
- skov,imx8mp-skov-revb-mi1010ait-1cp1 # SKOV i.MX8MP climate control with 10.1" panel
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 03/14] dt-bindings: arm: fsl: Add GOcontroll Moduline Display
2025-02-24 13:50 ` [PATCH 03/14] dt-bindings: arm: fsl: Add GOcontroll Moduline Display Maud Spierings via B4 Relay
@ 2025-02-24 20:33 ` Rob Herring (Arm)
0 siblings, 0 replies; 29+ messages in thread
From: Rob Herring (Arm) @ 2025-02-24 20:33 UTC (permalink / raw)
To: Maud Spierings
Cc: Fabio Estevam, Liu Ying, David Airlie, Conor Dooley, Shawn Guo,
Krzysztof Kozlowski, devicetree, Simona Vetter, Thierry Reding,
Sam Ravnborg, linux-kernel, Thomas Zimmermann, linux-arm-kernel,
Maarten Lankhorst, imx, Neil Armstrong, Sascha Hauer, dri-devel,
Maxime Ripard, Pengutronix Kernel Team, Jessica Zhang
On Mon, 24 Feb 2025 14:50:53 +0100, Maud Spierings wrote:
> Document the compatible strings for the Moduline Display controller.
>
> Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
> ---
> Documentation/devicetree/bindings/arm/fsl.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 04/14] dt-bindings: vendor-prefixes: add GOcontroll
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (2 preceding siblings ...)
2025-02-24 13:50 ` [PATCH 03/14] dt-bindings: arm: fsl: Add GOcontroll Moduline Display Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (10 subsequent siblings)
14 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:50 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
GOcontroll produces embedded linux systems and IO modules to use in
these sytems, add its a prefix.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index dac80c62b742fec14cd7652d9d690acc4b4b1ee6..5dc61a05de0ce907caeb60bb92018569df0d19e3 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -597,6 +597,8 @@ patternProperties:
description: GlobalTop Technology, Inc.
"^gmt,.*":
description: Global Mixed-mode Technology, Inc.
+ "^gocontroll,.*":
+ description: GOcontroll Modular Embedded Electronics B.V.
"^goldelico,.*":
description: Golden Delicious Computers GmbH & Co. KG
"^goodix,.*":
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 04/14] dt-bindings: vendor-prefixes: add GOcontroll
2025-02-24 13:50 ` [PATCH 04/14] dt-bindings: vendor-prefixes: add GOcontroll Maud Spierings via B4 Relay
@ 2025-02-24 20:34 ` Rob Herring
0 siblings, 0 replies; 29+ messages in thread
From: Rob Herring @ 2025-02-24 20:34 UTC (permalink / raw)
To: Maud Spierings
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, dri-devel, devicetree, linux-kernel, imx,
linux-arm-kernel
On Mon, Feb 24, 2025 at 02:50:54PM +0100, Maud Spierings wrote:
> GOcontroll produces embedded linux systems and IO modules to use in
> these sytems, add its a prefix.
s/sytems/systems/
s/ a / /
>
> Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
> ---
> Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
> 1 file changed, 2 insertions(+)
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (3 preceding siblings ...)
2025-02-24 13:50 ` [PATCH 04/14] dt-bindings: vendor-prefixes: add GOcontroll Maud Spierings via B4 Relay
@ 2025-02-24 13:50 ` Maud Spierings via B4 Relay
2025-02-24 20:44 ` Rob Herring
2025-02-24 13:50 ` [PATCH 06/14] arm64: dts: imx8mp: Add pinctrl config definitions Maud Spierings via B4 Relay
` (9 subsequent siblings)
14 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:50 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
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
+ - gocontroll,moduline-module-slot
# Honeywell Humidicon HIH-6130 humidity/temperature sensor
- honeywell,hi6130
# IBM Common Form Factor Power Supply Versions (all versions)
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules
2025-02-24 13:50 ` [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules Maud Spierings via B4 Relay
@ 2025-02-24 20:44 ` Rob Herring
2025-02-25 7:39 ` Maud Spierings | GOcontroll
0 siblings, 1 reply; 29+ messages in thread
From: Rob Herring @ 2025-02-24 20:44 UTC (permalink / raw)
To: Maud Spierings
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, dri-devel, devicetree, linux-kernel, imx,
linux-arm-kernel
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.
> + - gocontroll,moduline-module-slot
> # Honeywell Humidicon HIH-6130 humidity/temperature sensor
> - honeywell,hi6130
> # IBM Common Form Factor Power Supply Versions (all versions)
>
> --
> 2.48.1
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules
2025-02-24 20:44 ` Rob Herring
@ 2025-02-25 7:39 ` Maud Spierings | GOcontroll
2025-02-25 11:52 ` Krzysztof Kozlowski
0 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings | GOcontroll @ 2025-02-25 7:39 UTC (permalink / raw)
To: Rob Herring
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org
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.
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
would love to know, I am always keen on learning more. As I said in the
commit message it would be nice to have an in kernel driver that would do
all the interrupt handling, firmware updating, probing but that is sadly
not in our capabilties right now.
We are hoping to eventually make this interface an open standard that
other people can integrate into their PCB's to make use of the various IO
modules. I have personally made a raspberry pi hat that can take 2 modules
for example, which I hope will in the future serve as an open source
reference design. It is not open right now though.
[1]: https://github.com/GOcontroll/go-modules
[2]: https://github.com/GOcontroll/node-red-gocontroll/tree/master/nodes/modules
[3]: https://github.com/GOcontroll/GOcontroll-Simulink/tree/2023b/blockset/code
>> + - gocontroll,moduline-module-slot
>> # Honeywell Humidicon HIH-6130 humidity/temperature sensor
>> - honeywell,hi6130
>> # IBM Common Form Factor Power Supply Versions (all versions)
>>
>> --
>> 2.48.1
>>
Kind regards,
Maud
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules
2025-02-25 7:39 ` Maud Spierings | GOcontroll
@ 2025-02-25 11:52 ` Krzysztof Kozlowski
2025-02-25 12:24 ` Maud Spierings | GOcontroll
0 siblings, 1 reply; 29+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-25 11:52 UTC (permalink / raw)
To: Maud Spierings | GOcontroll
Cc: Rob Herring, Neil Armstrong, Jessica Zhang, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org
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.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules
2025-02-25 11:52 ` Krzysztof Kozlowski
@ 2025-02-25 12:24 ` Maud Spierings | GOcontroll
2025-02-25 14:20 ` Rob Herring
0 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings | GOcontroll @ 2025-02-25 12:24 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Rob Herring, Neil Armstrong, Jessica Zhang, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org
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?
Kind regards,
Maud
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules
2025-02-25 12:24 ` Maud Spierings | GOcontroll
@ 2025-02-25 14:20 ` Rob Herring
2025-02-25 14:39 ` Maud Spierings | GOcontroll
0 siblings, 1 reply; 29+ messages in thread
From: Rob Herring @ 2025-02-25 14:20 UTC (permalink / raw)
To: Maud Spierings | GOcontroll
Cc: Krzysztof Kozlowski, Neil Armstrong, Jessica Zhang,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Sam Ravnborg, Liu Ying, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam,
dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org
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
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules
2025-02-25 14:20 ` Rob Herring
@ 2025-02-25 14:39 ` Maud Spierings | GOcontroll
0 siblings, 0 replies; 29+ messages in thread
From: Maud Spierings | GOcontroll @ 2025-02-25 14:39 UTC (permalink / raw)
To: Rob Herring
Cc: Krzysztof Kozlowski, Neil Armstrong, Jessica Zhang,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Sam Ravnborg, Liu Ying, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam,
dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org
From: Rob Herring <robh@kernel.org>
Sent: Tuesday, February 25, 2025 3:20 PM
>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.
Okay that is great to hear, I was afraid I was going to have to drop
support for the foreseeable future. I'll get to work on those for v2.
>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).
I don't envision overlays coming in to play here, everything should be
probed by the driver. Just needs the socket definition. The IO module
bootloader will communicate what type of module it is and what firmware
version it is running. Modules can be swapped very easily between boot
cycles if the lid is off, it would be very annoying to then have to mess
with the devicetrees. For most of our customers that might be too
complicated. I am still thinking on how to keep the ecosystem open for
others to develop their own IO modules, but I'll figure that out when we
get there.
Kind regards,
Maud
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 06/14] arm64: dts: imx8mp: Add pinctrl config definitions
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (4 preceding siblings ...)
2025-02-24 13:50 ` [PATCH 05/14] dt-bindings: trivial-devices: add GOcontroll Moduline IO modules Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (8 subsequent siblings)
14 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:50 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
Currently to configure each IOMUXC_SW_PAD_CTL_PAD the raw value of this
register is written in the dts, these values are not obvious. Add defines
which describe the fields of this register which can be or-ed together to
produce readable settings.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
This patch has already been sent in a different group of patches: [1]
It was requested there to submit it along with a user, this series also
includes some users for it.
[1]: https://lore.kernel.org/all/20250218-pinctrl_defines-v2-2-c554cad0e1d2@gocontroll.com/
---
arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h | 27 ++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h b/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h
index 0fef066471ba607be02d0ab15da5a048a8a213a7..0927ed11ec687d5b273c4a4a6455e8d81468f676 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h
+++ b/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h
@@ -6,6 +6,33 @@
#ifndef __DTS_IMX8MP_PINFUNC_H
#define __DTS_IMX8MP_PINFUNC_H
+//Drive Strength
+#define MX8MP_DSE_X1 0x0
+#define MX8MP_DSE_X2 0x4
+#define MX8MP_DSE_X4 0x2
+#define MX8MP_DSE_X6 0x6
+
+//Slew Rate
+#define MX8MP_FSEL_FAST 0x10
+#define MX8MP_FSEL_SLOW 0x0
+
+//Open Drain
+#define MX8MP_ODE_ENABLE 0x20
+#define MX8MP_ODE_DISABLE 0x0
+
+#define MX8MP_PULL_DOWN 0x0
+#define MX8MP_PULL_UP 0x40
+
+//Hysteresis
+#define MX8MP_HYS_CMOS 0x0
+#define MX8MP_HYS_SCHMITT 0x80
+
+#define MX8MP_PULL_ENABLE 0x100
+#define MX8MP_PULL_DISABLE 0x0
+
+//SION force input mode
+#define MX8MP_SION 0x40000000
+
/*
* The pin function ID is a tuple of
* <mux_reg conf_reg input_reg mux_mode input_val>
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 06/14] arm64: dts: imx8mp: Add pinctrl config definitions
2025-02-24 13:50 ` [PATCH 06/14] arm64: dts: imx8mp: Add pinctrl config definitions Maud Spierings via B4 Relay
@ 2025-02-24 20:45 ` Rob Herring (Arm)
0 siblings, 0 replies; 29+ messages in thread
From: Rob Herring (Arm) @ 2025-02-24 20:45 UTC (permalink / raw)
To: Maud Spierings
Cc: dri-devel, Liu Ying, Thierry Reding, linux-arm-kernel,
Maarten Lankhorst, Simona Vetter, Thomas Zimmermann, imx,
linux-kernel, Sam Ravnborg, David Airlie, Krzysztof Kozlowski,
Maxime Ripard, Pengutronix Kernel Team, Jessica Zhang,
Neil Armstrong, Sascha Hauer, Conor Dooley, Shawn Guo, devicetree,
Fabio Estevam
On Mon, 24 Feb 2025 14:50:56 +0100, Maud Spierings wrote:
> Currently to configure each IOMUXC_SW_PAD_CTL_PAD the raw value of this
> register is written in the dts, these values are not obvious. Add defines
> which describe the fields of this register which can be or-ed together to
> produce readable settings.
>
> Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
>
> ---
> This patch has already been sent in a different group of patches: [1]
> It was requested there to submit it along with a user, this series also
> includes some users for it.
>
> [1]: https://lore.kernel.org/all/20250218-pinctrl_defines-v2-2-c554cad0e1d2@gocontroll.com/
> ---
> arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h | 27 ++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 07/14] drm/panel: simple: add BOE AV101HDT-A10 panel
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (5 preceding siblings ...)
2025-02-24 13:50 ` [PATCH 06/14] arm64: dts: imx8mp: Add pinctrl config definitions Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (7 subsequent siblings)
14 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:50 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
add support for the BOE AV101HDT-A10 10.1" LVDS panel
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
drivers/gpu/drm/panel/panel-simple.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 9b2f128fd3094bfb6731fc348b91cc101f495a86..a52977ab73dc2edab0d1954c702fd797d6a5b969 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1374,6 +1374,35 @@ static const struct panel_desc bananapi_s070wv20_ct16 = {
},
};
+static const struct display_timing boe_av101hdt_a10_timing = {
+ .pixelclock = { 74210000, 75330000, 76780000, },
+ .hactive = { 1280, 1280, 1280, },
+ .hfront_porch = { 10, 42, 33, },
+ .hback_porch = { 10, 18, 33, },
+ .hsync_len = { 30, 10, 30, },
+ .vactive = { 720, 720, 720, },
+ .vfront_porch = { 200, 183, 200, },
+ .vback_porch = { 8, 8, 8, },
+ .vsync_len = { 2, 19, 2, },
+ .flags = DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
+};
+
+static const struct panel_desc boe_av101hdt_a10 = {
+ .timings = &boe_av101hdt_a10_timing,
+ .num_timings = 1,
+ .bpc = 8,
+ .size = {
+ .width = 224,
+ .height = 126,
+ },
+ .delay = {
+ .enable = 50,
+ .disable = 50,
+ },
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
+ .connector_type = DRM_MODE_CONNECTOR_LVDS,
+};
+
static const struct drm_display_mode boe_bp101wx1_100_mode = {
.clock = 78945,
.hdisplay = 1280,
@@ -4813,6 +4842,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "bananapi,s070wv20-ct16",
.data = &bananapi_s070wv20_ct16,
+ }, {
+ .compatible = "boe,av101hdt-a10",
+ .data = &boe_av101hdt_a10,
}, {
.compatible = "boe,bp082wx1-100",
.data = &boe_bp082wx1_100,
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 07/14] drm/panel: simple: add BOE AV101HDT-A10 panel
2025-02-24 13:50 ` [PATCH 07/14] drm/panel: simple: add BOE AV101HDT-A10 panel Maud Spierings via B4 Relay
@ 2025-02-25 10:13 ` Neil Armstrong
0 siblings, 0 replies; 29+ messages in thread
From: Neil Armstrong @ 2025-02-25 10:13 UTC (permalink / raw)
To: maudspierings, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel
On 24/02/2025 14:50, Maud Spierings via B4 Relay wrote:
> From: Maud Spierings <maudspierings@gocontroll.com>
>
> add support for the BOE AV101HDT-A10 10.1" LVDS panel
>
> Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
> ---
> drivers/gpu/drm/panel/panel-simple.c | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 9b2f128fd3094bfb6731fc348b91cc101f495a86..a52977ab73dc2edab0d1954c702fd797d6a5b969 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1374,6 +1374,35 @@ static const struct panel_desc bananapi_s070wv20_ct16 = {
> },
> };
>
> +static const struct display_timing boe_av101hdt_a10_timing = {
> + .pixelclock = { 74210000, 75330000, 76780000, },
> + .hactive = { 1280, 1280, 1280, },
> + .hfront_porch = { 10, 42, 33, },
> + .hback_porch = { 10, 18, 33, },
> + .hsync_len = { 30, 10, 30, },
> + .vactive = { 720, 720, 720, },
> + .vfront_porch = { 200, 183, 200, },
> + .vback_porch = { 8, 8, 8, },
> + .vsync_len = { 2, 19, 2, },
> + .flags = DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
> +};
> +
> +static const struct panel_desc boe_av101hdt_a10 = {
> + .timings = &boe_av101hdt_a10_timing,
> + .num_timings = 1,
> + .bpc = 8,
> + .size = {
> + .width = 224,
> + .height = 126,
> + },
> + .delay = {
> + .enable = 50,
> + .disable = 50,
> + },
> + .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> + .connector_type = DRM_MODE_CONNECTOR_LVDS,
> +};
> +
> static const struct drm_display_mode boe_bp101wx1_100_mode = {
> .clock = 78945,
> .hdisplay = 1280,
> @@ -4813,6 +4842,9 @@ static const struct of_device_id platform_of_match[] = {
> }, {
> .compatible = "bananapi,s070wv20-ct16",
> .data = &bananapi_s070wv20_ct16,
> + }, {
> + .compatible = "boe,av101hdt-a10",
> + .data = &boe_av101hdt_a10,
> }, {
> .compatible = "boe,bp082wx1-100",
> .data = &boe_bp082wx1_100,
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 08/14] drm/panel: simple: Add BOE AV123Z7M-N17 panel
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (6 preceding siblings ...)
2025-02-24 13:50 ` [PATCH 07/14] drm/panel: simple: add BOE AV101HDT-A10 panel Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (6 subsequent siblings)
14 siblings, 1 reply; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:50 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
Add support for the BOE AV123Z7M-N17 12.3" LVDS panel.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
drivers/gpu/drm/panel/panel-simple.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index a52977ab73dc2edab0d1954c702fd797d6a5b969..232b03c1a259eb15e423b9d452d28e2ff95c70f8 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1403,6 +1403,35 @@ static const struct panel_desc boe_av101hdt_a10 = {
.connector_type = DRM_MODE_CONNECTOR_LVDS,
};
+static const struct display_timing boe_av123z7m_n17_timing = {
+ .pixelclock = { 86600000, 88000000, 90800000, },
+ .hactive = { 1920, 1920, 1920, },
+ .hfront_porch = { 10, 10, 10, },
+ .hback_porch = { 10, 10, 10, },
+ .hsync_len = { 9, 12, 25, },
+ .vactive = { 720, 720, 720, },
+ .vfront_porch = { 7, 10, 13, },
+ .vback_porch = { 7, 10, 13, },
+ .vsync_len = { 7, 11, 14, },
+ .flags = DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
+};
+
+static const struct panel_desc boe_av123z7m_n17 = {
+ .timings = &boe_av123z7m_n17_timing,
+ .bpc = 8,
+ .num_timings = 1,
+ .size = {
+ .width = 292,
+ .height = 110,
+ },
+ .delay = {
+ .prepare = 50,
+ .disable = 50,
+ },
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
+ .connector_type = DRM_MODE_CONNECTOR_LVDS,
+};
+
static const struct drm_display_mode boe_bp101wx1_100_mode = {
.clock = 78945,
.hdisplay = 1280,
@@ -4845,6 +4874,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "boe,av101hdt-a10",
.data = &boe_av101hdt_a10,
+ }, {
+ .compatible = "boe,av123z7m-n17",
+ .data = &boe_av123z7m_n17,
}, {
.compatible = "boe,bp082wx1-100",
.data = &boe_bp082wx1_100,
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 08/14] drm/panel: simple: Add BOE AV123Z7M-N17 panel
2025-02-24 13:50 ` [PATCH 08/14] drm/panel: simple: Add BOE AV123Z7M-N17 panel Maud Spierings via B4 Relay
@ 2025-02-25 10:13 ` Neil Armstrong
0 siblings, 0 replies; 29+ messages in thread
From: Neil Armstrong @ 2025-02-25 10:13 UTC (permalink / raw)
To: maudspierings, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel
On 24/02/2025 14:50, Maud Spierings via B4 Relay wrote:
> From: Maud Spierings <maudspierings@gocontroll.com>
>
> Add support for the BOE AV123Z7M-N17 12.3" LVDS panel.
>
> Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
> ---
> drivers/gpu/drm/panel/panel-simple.c | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index a52977ab73dc2edab0d1954c702fd797d6a5b969..232b03c1a259eb15e423b9d452d28e2ff95c70f8 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1403,6 +1403,35 @@ static const struct panel_desc boe_av101hdt_a10 = {
> .connector_type = DRM_MODE_CONNECTOR_LVDS,
> };
>
> +static const struct display_timing boe_av123z7m_n17_timing = {
> + .pixelclock = { 86600000, 88000000, 90800000, },
> + .hactive = { 1920, 1920, 1920, },
> + .hfront_porch = { 10, 10, 10, },
> + .hback_porch = { 10, 10, 10, },
> + .hsync_len = { 9, 12, 25, },
> + .vactive = { 720, 720, 720, },
> + .vfront_porch = { 7, 10, 13, },
> + .vback_porch = { 7, 10, 13, },
> + .vsync_len = { 7, 11, 14, },
> + .flags = DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
> +};
> +
> +static const struct panel_desc boe_av123z7m_n17 = {
> + .timings = &boe_av123z7m_n17_timing,
> + .bpc = 8,
> + .num_timings = 1,
> + .size = {
> + .width = 292,
> + .height = 110,
> + },
> + .delay = {
> + .prepare = 50,
> + .disable = 50,
> + },
> + .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> + .connector_type = DRM_MODE_CONNECTOR_LVDS,
> +};
> +
> static const struct drm_display_mode boe_bp101wx1_100_mode = {
> .clock = 78945,
> .hdisplay = 1280,
> @@ -4845,6 +4874,9 @@ static const struct of_device_id platform_of_match[] = {
> }, {
> .compatible = "boe,av101hdt-a10",
> .data = &boe_av101hdt_a10,
> + }, {
> + .compatible = "boe,av123z7m-n17",
> + .data = &boe_av123z7m_n17,
> }, {
> .compatible = "boe,bp082wx1-100",
> .data = &boe_bp082wx1_100,
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 09/14] MAINTAINERS: add maintainer for the Ka-Ro tx8p-ml81 COM module
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (7 preceding siblings ...)
2025-02-24 13:50 ` [PATCH 08/14] drm/panel: simple: Add BOE AV123Z7M-N17 panel Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (5 subsequent siblings)
14 siblings, 0 replies; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:50 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
Add GOcontroll as unofficial maintainers of the Ka-Ro tx8p-ml81 COM
module bindings.
This support is not officially done by Ka-Ro electronics, if they at
some point will supporting mainline, this should be changed to them.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
MAINTAINERS | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index f076360ce3c60123e9afa61e6e5822326f72f244..b4c76d7ad890be0f618109918ad89328bc72e8cd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12510,6 +12510,12 @@ S: Maintained
F: Documentation/hwmon/k8temp.rst
F: drivers/hwmon/k8temp.c
+KA-RO TX8P COM MODULE
+M: Maud Spierings <maudspierings@gocontroll.com>
+L: devicetree@vger.kernel.org
+S: Maintained
+F: arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81.dtsi
+
KASAN
M: Andrey Ryabinin <ryabinin.a.a@gmail.com>
R: Alexander Potapenko <glider@google.com>
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* [PATCH 10/14] MAINTAINERS: add maintainer for the GOcontroll Moduline controllers
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (8 preceding siblings ...)
2025-02-24 13:50 ` [PATCH 09/14] MAINTAINERS: add maintainer for the Ka-Ro tx8p-ml81 COM module Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (4 subsequent siblings)
14 siblings, 0 replies; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:51 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
Add a maintainer for the GOcontroll Moduline series of controllers.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
MAINTAINERS | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index b4c76d7ad890be0f618109918ad89328bc72e8cd..d80688d833322d4dbece34226180875c6b10ae40 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9843,6 +9843,12 @@ L: linux-media@vger.kernel.org
S: Maintained
F: drivers/media/usb/go7007/
+GOCONTROLL MODULINE CONTROLLERS
+M: Maud Spierings <maudspierings@gocontroll.com>
+L: devicetree@vger.kernel.org
+S: Maintained
+F: arch/arm64/boot/dts/freescale/*moduline*.dts*
+
GOODIX TOUCHSCREEN
M: Bastien Nocera <hadess@hadess.net>
M: Hans de Goede <hdegoede@redhat.com>
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* [PATCH 11/14] arm64: dts: freescale: add Ka-Ro Electronics tx8p-ml81 COM
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (9 preceding siblings ...)
2025-02-24 13:51 ` [PATCH 10/14] MAINTAINERS: add maintainer for the GOcontroll Moduline controllers Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (3 subsequent siblings)
14 siblings, 0 replies; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:51 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
The Ka-Ro Electronics tx8p-ml81 is a COM based on the imx8mp SOC. It has
2 GB or ram and 8 GB of eMMC storage on board.
Add it to enable boards based on this Module
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
.../arm64/boot/dts/freescale/imx8mp-tx8p-ml81.dtsi | 547 +++++++++++++++++++++
1 file changed, 547 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81.dtsi
new file mode 100644
index 0000000000000000000000000000000000000000..3c29265c3f0db87c8315aedc7386d58eb6bec6b8
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81.dtsi
@@ -0,0 +1,547 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright (C) 2020 Lothar Waßmann <LW@KARO-electronics.de>
+ * 2025 Maud Spierings <maudspierings@gocontroll.com>
+ */
+
+#include "imx8mp.dtsi"
+
+/ {
+ /* PHY regulator */
+ regulator-3v3-etn {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_reg_3v3_etn>;
+ regulator-name = "3v3-etn";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <®_vdd_3v3>;
+ gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+};
+
+&A53_0 {
+ cpu-supply = <®_vdd_arm>;
+};
+
+&A53_1 {
+ cpu-supply = <®_vdd_arm>;
+};
+
+&A53_2 {
+ cpu-supply = <®_vdd_arm>;
+};
+
+&A53_3 {
+ cpu-supply = <®_vdd_arm>;
+};
+
+
+&eqos {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pinctrl_eqos>;
+ pinctrl-1 = <&pinctrl_eqos_sleep>;
+ assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>,
+ <&clk IMX8MP_CLK_ENET_QOS_TIMER>,
+ <&clk IMX8MP_CLK_ENET_QOS>;
+ assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>,
+ <&clk IMX8MP_SYS_PLL2_100M>,
+ <&clk IMX8MP_SYS_PLL2_50M>;
+ assigned-clock-rates = <0>, <100000000>, <50000000>;
+ phy-mode = "rmii";
+ phy-handle = <ðphy0>;
+ status = "okay";
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "snps,dwmac-mdio";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_ethphy_rst_b>;
+ reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
+ reset-delay-us = <25000>;
+
+ ethphy0: ethernet-phy@0 {
+ reg = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_ethphy_int_b>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
+ clocks = <&clk IMX8MP_CLK_ENET_QOS>;
+ smsc,disable-energy-detect;
+ };
+ };
+};
+
+&gpio1 {
+ gpio-line-names = "SODIMM_152",
+ "SODIMM_42",
+ "PMIC_WDOG_B SODIMM_153",
+ "PMIC_IRQ_B",
+ "SODIMM_154",
+ "SODIMM_155",
+ "SODIMM_156",
+ "SODIMM_157",
+ "SODIMM_158",
+ "SODIMM_159",
+ "SODIMM_161",
+ "SODIMM_162",
+ "SODIMM_34",
+ "SODIMM_36",
+ "SODIMM_27",
+ "SODIMM_28",
+ "ENET_MDC",
+ "ENET_MDIO",
+ "",
+ "ENET_XTAL1/CLKIN",
+ "ENET_TXD1",
+ "ENET_TXD0",
+ "ENET_TXEN",
+ "ENET_POWER",
+ "ENET_COL/CRS_DV",
+ "ENET_RXER",
+ "ENET_RXD0",
+ "ENET_RXD1",
+ "",
+ "",
+ "",
+ "";
+};
+
+&gpio2 {
+ gpio-line-names = "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "SODIMM_51",
+ "SODIMM_57",
+ "SODIMM_56",
+ "SODIMM_52",
+ "SODIMM_53",
+ "SODIMM_54",
+ "SODIMM_55",
+ "SODIMM_15",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "";
+};
+
+&gpio3 {
+ gpio-line-names = "",
+ "",
+ "EMMC_DS",
+ "EMMC_DAT5",
+ "EMMC_DAT6",
+ "EMMC_DAT7",
+ "",
+ "",
+ "",
+ "",
+ "EMMC_DAT0",
+ "EMMC_DAT1",
+ "EMMC_DAT2",
+ "EMMC_DAT3",
+ "",
+ "EMMC_DAT4",
+ "",
+ "EMMC_CLK",
+ "EMMC_CMD",
+ "SODIMM_75",
+ "SODIMM_145",
+ "SODIMM_163",
+ "SODIMM_164",
+ "SODIMM_165",
+ "SODIMM_143",
+ "SODIMM_144",
+ "SODIMM_72",
+ "SODIMM_73",
+ "SODIMM_74",
+ "SODIMM_93",
+ "",
+ "";
+};
+
+&gpio4 {
+ gpio-line-names = "SODIMM_98",
+ "SODIMM_99",
+ "SODIMM_100",
+ "SODIMM_101",
+ "SODIMM_45",
+ "SODIMM_43",
+ "SODIMM_105",
+ "SODIMM_106",
+ "SODIMM_107",
+ "SODIMM_108",
+ "SODIMM_104",
+ "SODIMM_103",
+ "SODIMM_115",
+ "SODIMM_114",
+ "SODIMM_113",
+ "SODIMM_112",
+ "SODIMM_109",
+ "SODIMM_110",
+ "SODIMM_95",
+ "SODIMM_96",
+ "SODIMM_97",
+ "ENET_nINT",
+ "ENET_nRST",
+ "SODIMM_84",
+ "SODIMM_87",
+ "SODIMM_86",
+ "SODIMM_85",
+ "SODIMM_83",
+ "",
+ "SODIMM_66",
+ "SODIMM_65",
+ "";
+};
+
+&gpio5 {
+ gpio-line-names = "",
+ "",
+ "",
+ "SODIMM_76",
+ "SODIMM_81",
+ "SODIMM_146",
+ "SODIMM_48",
+ "SODIMM_46",
+ "SODIMM_47",
+ "SODIMM_44",
+ "SODIMM_49",
+ "",
+ "SODIMM_70",
+ "SODIMM_69",
+ "PMIC_SCL",
+ "PMIC_SDA",
+ "SODIMM_41",
+ "SODIMM_40",
+ "SODIMM_148",
+ "SODIMM_149",
+ "SODIMM_150",
+ "SODIMM_151",
+ "SODIMM_60",
+ "SODIMM_59",
+ "SODIMM_64",
+ "SODIMM_63",
+ "SODIMM_62",
+ "SODIMM_61",
+ "SODIMM_68",
+ "SODIMM_67",
+ "",
+ "";
+};
+
+&i2c1 {
+ pinctrl-names = "default", "gpio";
+ pinctrl-0 = <&pinctrl_i2c1>;
+ pinctrl-1 = <&pinctrl_i2c1_gpio>;
+ clock-frequency = <400000>;
+ scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ status = "okay";
+
+ pmic@25 {
+ reg = <0x25>;
+ compatible = "nxp,pca9450c";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pmic>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+
+ regulators {
+ reg_vdd_soc: BUCK1 {
+ regulator-name = "vdd-soc";
+ regulator-min-microvolt = <805000>;
+ regulator-max-microvolt = <900000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-ramp-delay = <3125>;
+ };
+
+ reg_vdd_arm: BUCK2 {
+ regulator-name = "vdd-core";
+ regulator-min-microvolt = <805000>;
+ regulator-max-microvolt = <950000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-ramp-delay = <3125>;
+ nxp,dvs-run-voltage = <950000>;
+ nxp,dvs-standby-voltage = <850000>;
+ };
+
+ reg_vdd_3v3: BUCK4 {
+ regulator-name = "3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ reg_nvcc_nand: BUCK5 {
+ regulator-name = "nvcc-nand";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ reg_nvcc_dram: BUCK6 {
+ regulator-name = "nvcc-dram";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ reg_snvs_1v8: LDO1 {
+ regulator-name = "snvs-1v8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo2_reg: LDO2 {
+ regulator-name = "LDO2";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1150000>;
+ regulator-always-on;
+ };
+
+ reg_vdda_1v8: LDO3 {
+ regulator-name = "vdda-1v8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo4_reg: LDO4 {
+ regulator-name = "LDO4";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo5_reg: LDO5 {
+ regulator-name = "LDO5";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ };
+ };
+ };
+};
+
+&usdhc3 { /* eMMC */
+ max-frequency = <200000000>;
+ assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
+ assigned-clock-rates = <200000000>;
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
+ pinctrl-0 = <&pinctrl_usdhc3>;
+ pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
+ pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
+ bus-width = <8>;
+ vmmc-supply = <®_vdd_3v3>;
+ vqmmc-supply = <®_nvcc_nand>;
+ voltage-ranges = <3300 3300>;
+ non-removable;
+ status = "okay";
+};
+
+&iomuxc {
+ pinctrl_eqos: eqosgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ENET_TD2__CCM_ENET_QOS_CLOCK_GENERATE_REF_CLK
+ (MX8MP_DSE_X4 | MX8MP_PULL_UP | MX8MP_PULL_ENABLE | MX8MP_SION)
+ MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC
+ (MX8MP_DSE_X4 | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO
+ (MX8MP_DSE_X4 | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST)
+ MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST)
+ MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_RXC__ENET_QOS_RX_ER
+ (MX8MP_FSEL_FAST | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST)
+ >;
+ };
+
+ pinctrl_eqos_sleep: eqos-sleep-grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ENET_TD2__GPIO1_IO19
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_MDC__GPIO1_IO16
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_MDIO__GPIO1_IO17
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_TD0__GPIO1_IO21
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_TD1__GPIO1_IO20
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_RD0__GPIO1_IO26
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_RD1__GPIO1_IO27
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_RXC__GPIO1_IO25
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_RX_CTL__GPIO1_IO24
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_ENET_TX_CTL__GPIO1_IO22
+ (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_ethphy_int_b: ethphy-int-bgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21
+ (MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT)
+ >;
+ };
+
+ pinctrl_ethphy_rst_b: ethphy-rst-bgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22
+ (MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_i2c1: i2c1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ >;
+ };
+
+ pinctrl_i2c1_gpio: i2c1-gpiogrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ >;
+ };
+
+ pinctrl_pmic: pmicgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03
+ (MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_reg_3v3_etn: reg-3v3-etngrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ENET_TXC__GPIO1_IO23
+ (MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_usdhc3: usdhc3grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK
+ (MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7
+ (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE
+ (MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ >;
+ };
+};
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* [PATCH 12/14] arm64: dts: freescale: Add the GOcontroll Moduline Display baseboard
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (10 preceding siblings ...)
2025-02-24 13:51 ` [PATCH 11/14] arm64: dts: freescale: add Ka-Ro Electronics tx8p-ml81 COM Maud Spierings via B4 Relay
@ 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 via B4 Relay
` (2 subsequent siblings)
14 siblings, 0 replies; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:51 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
The Moduline Display platform is a part of the wider GOcontroll Moduline
ecosystem. These are embedded controllers that focus on modularity with
their swappable IO modules.
The base Moduline Display board includes a board-to-board connector with
various busses to enable adding new display types required by the
application. It includes 2 Moduline IO module slots, a simple mono
codec/amplifier, a four channel adc, 2 CAN busses, an RTC and optional
wifi/bluetooth.
busses to the display adapter include:
- 4 lane LVDS
- 4 lane MIPI-DSI
- 4 lane MIPI-CSI
- HDMI 2.0a
- USB 2.0
- I2S
- I2C
- SPI
Also a couple of GPIO and PWM pins for controlling various ICs on the
display adapter board.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
.../imx8mp-tx8p-ml81-moduline-display-106.dtsi | 530 +++++++++++++++++++++
1 file changed, 530 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106.dtsi
new file mode 100644
index 0000000000000000000000000000000000000000..fa8918e0754be3f3c7fc264d44aa2fc927a36afb
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106.dtsi
@@ -0,0 +1,530 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright 2025 GOcontroll B.V.
+ * Author: Maud Spierings <maudspierings@gocontroll.com>
+ */
+
+#include "imx8mp-tx8p-ml81.dtsi"
+
+/ {
+ chassis-type = "embedded";
+ compatible = "gocontroll,moduline-display", "fsl,imx8mp";
+ hardware = "Moduline Display V1.06";
+
+ aliases {
+ ethernet0 = &eqos;
+ mmc0 = &usdhc3;
+ mmc1 = &usdhc2;
+ spi0 = &ecspi2; /* spidev number compatibility */
+ spi1 = &ecspi1; /* spidev number compatibility */
+ can0 = &flexcan1;
+ can1 = &flexcan2;
+ rtc0 = &rtc_pcf; /* i2c rtc is the main rtc */
+ rtc1 = &snvs_rtc;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ external-sensor-supply {
+ compatible = "regulator-output";
+ vout-supply = <®_5v0_sensor>;
+ };
+
+ reg_can1_stby: regulator-can1-stby {
+ compatible = "regulator-fixed";
+ regulator-name = "can1-stby";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan1_reg>;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio4 3 GPIO_ACTIVE_LOW>;
+ };
+
+ reg_can2_stby: regulator-can2-stby {
+ compatible = "regulator-fixed";
+ regulator-name = "can2-stby";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan2_reg>;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio5 9 GPIO_ACTIVE_LOW>;
+ };
+
+ reg_1v8_per: regulator-1v8-per {
+ compatible = "regulator-fixed";
+ regulator-name = "1v8-per";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_reg_1v8>;
+ gpio = <&gpio3 25 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ power-supply = <®_3v3_per>;
+ };
+
+ reg_3v3_per: regulator-3v3-per {
+ compatible = "regulator-fixed";
+ regulator-name = "3v3-per";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ power-supply = <®_6v4>;
+ };
+
+ reg_5v0_sensor: regulator-5v0-sensor {
+ compatible = "regulator-fixed";
+ regulator-name = "5v0-supply-external-sensor";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_reg_5v0_sensor>;
+ gpio = <&gpio4 9 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ reg_5v0: regulator-5v0 {
+ compatible = "regulator-fixed";
+ regulator-name = "5v0";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ power-supply = <®_6v4>;
+ };
+
+ reg_6v4: regulator-6v4 {
+ compatible = "regulator-fixed";
+ regulator-name = "6v4";
+ regulator-min-microvolt = <6400000>;
+ regulator-max-microvolt = <6400000>;
+ regulator-always-on;
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "tas2505-audio";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,frame-master = <&cpudai>;
+ simple-audio-card,bitclock-master = <&cpudai>;
+ simple-audio-card,widgets =
+ "Speaker", "Speaker External";
+ simple-audio-card,routing =
+ "Speaker", "DAC";
+
+ cpudai: simple-audio-card,cpu {
+ sound-dai = <&sai6>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&tas2505>;
+ };
+ };
+
+ wifi_powerseq: wifi-powerseq {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_wl_reg>;
+ post-power-on-delay-ms = <100>;
+ power-off-delay-us = <500000>;
+ reset-gpios = <&gpio2 19 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&ecspi1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_ecspi1>;
+ cs-gpios = <
+ &gpio2 12 GPIO_ACTIVE_LOW
+ &gpio1 11 GPIO_ACTIVE_LOW
+ &gpio1 10 GPIO_ACTIVE_LOW
+ >;
+ status = "okay";
+
+ /* Module slot 1 */
+ spi@0 {
+ compatible = "gocontroll,moduline-module-slot";
+ reg = <0>;
+ spi-max-frequency = <54000000>;
+ };
+
+ /* Module slot 2 */
+ spi@1 {
+ compatible = "gocontroll,moduline-module-slot";
+ reg = <1>;
+ spi-max-frequency = <54000000>;
+ };
+
+ adc@2 {
+ compatible = "microchip,mcp3004";
+ reg = <2>;
+ spi-max-frequency = <2300000>;
+ vref-supply = <®_vdd_3v3>;
+ };
+};
+
+&flexcan1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan1>;
+ xceiver-supply = <®_can1_stby>;
+ status = "okay";
+};
+
+&flexcan2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan2>;
+ xceiver-supply = <®_can2_stby>;
+ status = "okay";
+};
+
+/* I2C2 bus to modules */
+&i2c2 {
+ clock-frequency = <400000>;
+ pinctrl-names = "default", "gpio";
+ pinctrl-0 = <&pinctrl_i2c2>;
+ pinctrl-1 = <&pinctrl_i2c2_gpio>;
+ sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ status = "okay";
+};
+
+&i2c4 {
+ clock-frequency = <400000>;
+ pinctrl-names = "default", "gpio";
+ pinctrl-0 = <&pinctrl_i2c4>;
+ pinctrl-1 = <&pinctrl_i2c4_gpio>;
+ sda-gpios = <&gpio5 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio5 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ status = "okay";
+
+ tas2505: tas2505@18 {
+ compatible = "ti,tas2505";
+ reg = <0x18>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_tas_reset>;
+ reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+
+ dv-supply = <®_1v8_per>;
+ iov-supply = <®_vdd_3v3>;
+ av-supply = <®_1v8_per>;
+
+ clocks = <&clk IMX8MP_CLK_AUDIOMIX_SAI6_MCLK1>;
+ clock-names = "mclk";
+ aic32x4-gpio-func= <
+ 0xff
+ 0xff
+ 0xff
+ 0xff
+ 0xff
+ >;
+ };
+
+ rtc_pcf: rtc@51 {
+ compatible = "nxp,pcf85063a";
+ reg = <0x51>;
+ quartz-load-femtofarads = <7000>;
+
+ clock {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ };
+ };
+};
+
+/* tas2505 */
+&sai6 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai6>;
+ status = "okay";
+ assigned-clocks = <&clk IMX8MP_CLK_SAI6>;
+ assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <12288000>;
+ fsl,sai-mclk-direction-output;
+};
+
+/* debug/external */
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart1>;
+ status = "okay";
+};
+
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart2>;
+ uart-has-rtscts;
+ status = "okay";
+
+ /* muRata 1YN/1DX */
+ bluetooth {
+ compatible = "infineon,cyw43439-bt", "brcm,bcm4329-bt";
+ max-speed = <921600>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_bt>;
+ device-wakeup-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
+ shutdown-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
+ interrupt-names = "host-wakeup";
+ vddio-supply = <®_3v3_per>;
+ vbat-supply = <®_3v3_per>;
+ };
+};
+
+&usb3_0 {
+ status = "okay";
+};
+
+&usb3_1 {
+ status = "okay";
+};
+
+&usb3_phy0 {
+ status = "okay";
+};
+
+&usb3_phy1 {
+ status = "okay";
+};
+
+&usb_dwc3_0 {
+ dr_mode = "peripheral";
+};
+
+&usb_dwc3_1 {
+ dr_mode = "host";
+};
+
+&usdhc2 {
+ max-frequency = <50000000>;
+ assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
+ assigned-clock-rates = <50000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usdhc2>;
+ mmc-pwrseq = <&wifi_powerseq>;
+ vmmc-supply = <®_3v3_per>;
+
+ cap-power-off-card;
+ keep-power-in-suspend;
+ non-removable;
+ sd-uhs-sdr25;
+
+ status = "okay";
+
+ /* muRata 1YN/1DX */
+ wifi@1 {
+ compatible = "infineon,cyw43439-fmac", "brcm,bcm4329-fmac";
+ reg = <1>;
+ brcm,board-type = "GOcontroll,moduline";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_wl_int>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-names = "host-wake";
+ };
+};
+
+&wdog1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_wdog>;
+ fsl,ext-reset-output;
+ status = "okay";
+};
+
+&iomuxc {
+ pinctrl_reg_1v8: reg-1v8-grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI5_MCLK__GPIO3_IO25 /* COM pin 144 */
+ MX8MP_DSE_X1
+ >;
+ };
+
+ pinctrl_reg_5v0_sensor: reg-5v0-sensorgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_RXD7__GPIO4_IO09 /* COM pin 108 */
+ MX8MP_DSE_X1
+ >;
+ };
+
+ pinctrl_tas_reset: tasresetgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI5_RXD3__GPIO3_IO24 /* COM pin 143 */
+ MX8MP_DSE_X1
+ >;
+ };
+
+ pinctrl_bt: btgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 /* COM pin 27 */
+ MX8MP_DSE_X1
+ MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 /* COM pin 34 */
+ (MX8MP_PULL_UP | MX8MP_PULL_ENABLE | MX8MP_HYS_SCHMITT)
+ MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15 /* COM pin 28 */
+ MX8MP_DSE_X1
+ >;
+ };
+
+ pinctrl_ecspi1: ecspi1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI /* COM pin 46 */
+ MX8MP_DSE_X4
+ MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO /* COM pin 47 */
+ (MX8MP_DSE_X4 | MX8MP_HYS_SCHMITT)
+ MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK /* COM pin 48 */
+ MX8MP_DSE_X4
+ MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 /* COM pin 51 */
+ MX8MP_DSE_X1
+ MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 /* COM pin 162 */
+ MX8MP_DSE_X1
+ MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 /* COM pin 161 */
+ MX8MP_DSE_X1
+ >;
+ };
+
+ pinctrl_flexcan1: flexcan1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SPDIF_RX__CAN1_RX /* COM pin 81 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_SPDIF_TX__CAN1_TX /* COM pin 76 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_flexcan1_reg: flexcan1reggrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03 /* COM pin 101 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_flexcan2: flexcan2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_UART3_TXD__CAN2_RX /* COM pin 61 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_UART3_RXD__CAN2_TX /* COM pin 62 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_flexcan2_reg: flexcan2reggrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 /* COM pin 44 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_i2c2: i2c2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL /* COM pin 41 */
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA /* COM pin 40 */
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ >;
+ };
+
+ pinctrl_i2c2_gpio: i2c2-gpiogrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16 /* COM pin 41 */
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17 /* COM pin 40 */
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ >;
+ };
+
+ pinctrl_i2c4: i2c4grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ECSPI2_MISO__I2C4_SCL /* COM pin 70 */
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ MX8MP_IOMUXC_ECSPI2_SS0__I2C4_SDA /* COM pin 69 */
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ >;
+ };
+
+ pinctrl_i2c4_gpio: i2c4-gpiogrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12 /* COM pin 70 */
+ (MX8MP_DSE_X4 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 /* COM pin 69 */
+ (MX8MP_DSE_X4 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE | MX8MP_SION)
+ >;
+ };
+
+ pinctrl_sai6: sai6grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_TXD6__AUDIOMIX_SAI6_TX_SYNC /* COM pin 95 */
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT)
+ MX8MP_IOMUXC_SAI1_RXD4__AUDIOMIX_SAI6_TX_BCLK /* COM pin 105 */
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT)
+ MX8MP_IOMUXC_SAI1_TXD5__AUDIOMIX_SAI6_TX_DATA00 /* COM pin 110 */
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT)
+ MX8MP_IOMUXC_SAI1_TXD7__AUDIOMIX_SAI6_MCLK /* COM pin 96 */
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT)
+ MX8MP_IOMUXC_SAI1_RXD5__AUDIOMIX_SAI6_RX_DATA00 /* COM pin 106 */
+ (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT)
+ >;
+ };
+
+ pinctrl_uart1: uart1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX /* COM pin 60 */
+ (MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX /* COM pin 59 */
+ (MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_uart2: uart2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX /* COM pin 64 */
+ (MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX /* COM pin 63 */
+ (MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_SAI3_RXD__UART2_DCE_RTS /* COM pin 65 */
+ (MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_SAI3_RXC__UART2_DCE_CTS /* COM pin 66 */
+ (MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_usdhc2: pinctrlusdhc2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK /* COM pin 57 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD /* COM pin 56 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 /* COM pin 52 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 /* COM pin 53 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 /* COM pin 54 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 /* COM pin 55 */
+ (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_wdog: wdoggrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B /* COM pin 153 */
+ (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT)
+ >;
+ };
+
+ pinctrl_wl_int: wlintgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO13__GPIO1_IO13 /* COM pin 36 */
+ (MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
+ >;
+ };
+
+ pinctrl_wl_reg: wlreggrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 /* COM pin 15 */
+ MX8MP_DSE_X1
+ >;
+ };
+};
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* [PATCH 13/14] arm64: dts: freescale: Add the BOE av101hdt-a10 variant of the Moduline Display
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (11 preceding siblings ...)
2025-02-24 13:51 ` [PATCH 12/14] arm64: dts: freescale: Add the GOcontroll Moduline Display baseboard Maud Spierings via B4 Relay
@ 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 via B4 Relay
2025-02-25 10:25 ` (subset) [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll " Neil Armstrong
14 siblings, 0 replies; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:51 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
Add the BOE av101hdt-a10 variant of the Moduline Display, this variant
comes with a 10.1 1280x720 display with a touchscreen (not working in
mainline).
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
Currently the backlight driver is not available, this will be upstreamed
in a future patch series. It is a Maxim max25014atg.
The touchscreen has a Cypress CYAT81658-64AS48 controller which as far as
I know is not supported upstream, the driver we currently use for this is
a mess and I doubt we will be able to get it in an upstreamable state.
---
...tx8p-ml81-moduline-display-106-av101hdt-a10.dts | 60 ++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106-av101hdt-a10.dts b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106-av101hdt-a10.dts
new file mode 100644
index 0000000000000000000000000000000000000000..ce735b2fabcff2f1f03671e271af08f874276a73
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106-av101hdt-a10.dts
@@ -0,0 +1,60 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright 2025 GOcontroll B.V.
+ * Author: Maud Spierings <maudspierings@gocontroll.com>
+ */
+
+/dts-v1/;
+
+#include "imx8mp-tx8p-ml81-moduline-display-106.dtsi"
+
+/ {
+ model = "GOcontroll Moduline Display with BOE av101hdt-a10 display";
+
+ panel {
+ compatible = "boe,av101hdt-a10";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_panel>;
+ enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ power-supply = <®_3v3_per>;
+
+ port {
+ panel_lvds_in: endpoint {
+ remote-endpoint = <&ldb_lvds_ch0>;
+ };
+ };
+ };
+};
+
+&lcdif2 {
+ status = "okay";
+};
+
+&lvds_bridge {
+ assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
+ <&clk IMX8MP_VIDEO_PLL1>;
+ assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
+ /* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_DISP2_PIX * 2 * 7 */
+ assigned-clock-rates = <0>, <1054620000>;
+ status = "okay";
+
+ ports {
+ port@1 {
+ ldb_lvds_ch0: endpoint {
+ remote-endpoint = <&panel_lvds_in>;
+ };
+ };
+ };
+};
+
+&iomuxc {
+ pinctrl_panel: panelgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 /* COM pin 157 */
+ MX8MP_DSE_X1
+ MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 /* COM pin 159 */
+ MX8MP_DSE_X1
+ >;
+ };
+};
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* [PATCH 14/14] arm64: dts: freescale: Add the BOE av123z7m-n17 variant of the Moduline Display
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (12 preceding siblings ...)
2025-02-24 13:51 ` [PATCH 13/14] arm64: dts: freescale: Add the BOE av101hdt-a10 variant of the Moduline Display Maud Spierings via B4 Relay
@ 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
14 siblings, 0 replies; 29+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-02-24 13:51 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel,
Maud Spierings
From: Maud Spierings <maudspierings@gocontroll.com>
Add the BOE av123z7m-n17 variant of the Moduline Display, this variant
comes with a 12.3" 1920x720 display.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
Currently the backlight driver is not available, this will be upstreamed
in a future patch series. It is a Maxim max25014atg.
---
...tx8p-ml81-moduline-display-106-av123z7m-n17.dts | 133 +++++++++++++++++++++
1 file changed, 133 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106-av123z7m-n17.dts b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106-av123z7m-n17.dts
new file mode 100644
index 0000000000000000000000000000000000000000..129c69598f38566460efb271628c1d1e10eb2a85
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106-av123z7m-n17.dts
@@ -0,0 +1,133 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/*
+ * Copyright 2025 GOcontroll B.V.
+ * Author: Maud Spierings <maudspierings@gocontroll.com>
+ */
+
+/dts-v1/;
+
+#include "imx8mp-tx8p-ml81-moduline-display-106.dtsi"
+
+/ {
+ model = "GOcontroll Moduline Display with BOE av123z7m-n17 display";
+
+ panel {
+ compatible = "boe,av123z7m-n17";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_panel>;
+ enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ power-supply = <®_3v3_per>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dual-lvds-odd-pixels;
+
+ panel_in0: endpoint {
+ remote-endpoint = <&lvds1_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ dual-lvds-even-pixels;
+
+ panel_in1: endpoint {
+ remote-endpoint = <&lvds0_out>;
+ };
+ };
+ };
+ };
+};
+
+&i2c4 {
+ bridge@2d { /* sn65dsi85 */
+ compatible = "ti,sn65dsi84";
+ reg = <0x2d>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_lvds_bridge>;
+ enable-gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
+ vcc-supply = <®_1v8_per>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi_lvds_bridge_in: endpoint {
+ remote-endpoint = <&mipi_dsi_out>;
+ data-lanes = <1 2 3 4>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ lvds0_out: endpoint {
+ remote-endpoint = <&panel_in1>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+
+ lvds1_out: endpoint {
+ remote-endpoint = <&panel_in0>;
+ };
+ };
+ };
+ };
+
+ /* max25014 @ 0x6f */
+};
+
+&lcdif1 {
+ status = "okay";
+};
+
+&mipi_dsi {
+ samsung,esc-clock-frequency = <12000000>;
+ /*
+ * burst has to be at least 2x dsi clock that the sn65dsi85 expects
+ * display pixelclock * bpp / lanes / 2 = dsi clock
+ * 88.000.000 * 24 / 4 / 2 = 264.000.000
+ * range gets rounded up to 265.000.000 - 270.000.000
+ * 267.500.000 * 2 = 535.000.000
+ */
+ samsung,burst-clock-frequency = <535000000>;
+ status = "okay";
+
+ ports {
+ port@1 {
+ mipi_dsi_out: endpoint {
+ remote-endpoint = < &dsi_lvds_bridge_in>;
+ data-lanes = <1 2 3 4>;
+ };
+ };
+ };
+};
+
+&iomuxc {
+ pinctrl_lvds_bridge: lvdsbridgegrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_TXD2__GPIO4_IO14 /* COM pin 113 */
+ MX8MP_DSE_X1
+ >;
+ };
+
+ pinctrl_panel: panelgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 /* COM pin 157 */
+ MX8MP_DSE_X1
+ MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 /* COM pin 159 */
+ MX8MP_DSE_X1
+ >;
+ };
+};
--
2.48.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: (subset) [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display
2025-02-24 13:50 [PATCH 00/14] arm64: dts: freescale: Add support for the GOcontroll Moduline Display Maud Spierings via B4 Relay
` (13 preceding siblings ...)
2025-02-24 13:51 ` [PATCH 14/14] arm64: dts: freescale: Add the BOE av123z7m-n17 " Maud Spierings via B4 Relay
@ 2025-02-25 10:25 ` Neil Armstrong
14 siblings, 0 replies; 29+ messages in thread
From: Neil Armstrong @ 2025-02-25 10:25 UTC (permalink / raw)
To: Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Sam Ravnborg,
Liu Ying, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Maud Spierings
Cc: dri-devel, devicetree, linux-kernel, imx, linux-arm-kernel
Hi,
On Mon, 24 Feb 2025 14:50:50 +0100, Maud Spierings wrote:
> Add inital support for 2 variants of the Moduline Display controller.
> This system is powered by the Ka-Ro Electronics tx8p-ml81 COM, which
> features an imx8mp SoC.
>
>
Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next)
[01/14] dt-bindings: display: simple: add BOE AV101HDT-A10 panel
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/761992a4b4deacb519f4a6089936b7fd22b4aa0a
[02/14] dt-bindings: display: simple: Add BOE AV123Z7M-N17 panel
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/1a4d1d9f068506f4f334c03514d2e93e21830f19
[07/14] drm/panel: simple: add BOE AV101HDT-A10 panel
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/b554c009da1c3c6cb8c4b5da2ac2f37fb527e927
[08/14] drm/panel: simple: Add BOE AV123Z7M-N17 panel
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/d34bd3c7cb84425dd6146a8d07af597b93ad4c4d
--
Neil
^ permalink raw reply [flat|nested] 29+ messages in thread