* [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC
@ 2023-06-14 12:32 Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add prefix for ShineWorld Innovations Leonard Göhrs
` (9 more replies)
0 siblings, 10 replies; 18+ messages in thread
From: Leonard Göhrs @ 2023-06-14 12:32 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
linux-kernel
Cc: kernel, Leonard Göhrs
The Linux Automation Test Automation Controller (LXA TAC)[1] is an embedded
software development tool built around the Octavo Systems OSD32MP15x SiP.
The device contains an eMMC for storage, a DSA-capable on board ethernet
switch with two external ports, dual CAN busses, a power switch to turn
a device under test on or off and some other I/O.
As of now there are two STM32MP157 based hardware generations (Gen 1 and
Gen 2) that have most of their hardware config in common.
In the future there will also be a STM32MP153 based hardware generation.
[1]: https://www.linux-automation.com/en/products/lxa-tac.html
V1: https://lore.kernel.org/lkml/20230607115508.2964574-1-l.goehrs@pengutronix.de/
Changes since V1:
- Rebase on top of stm32-next as requested by Alexandre Torgue.
- Split addition of shineworld lh133k compatible into separate
vendor-prefix patch and panel-mipi-dbi-spi.yaml patch as suggested
by Conor Dooley.
Did not carry over the Reviewed-by: Rob Herring <robh@kernel.org>
from the original patch due to the split.
- Drop "dt-bindings: gpio: pca9570: add gpio-line-names property"
as it is already in gpio/for-next.
- Replace "dt-bindings: can: m_can: add termination-{gpios,ohms}
properties" with a patch that replaces additionalProperties with
unevaluatedProperties in bosch,m_can.yaml, as suggested by
Rob Herring.
- Drop "dt-bindings: net: dsa: microchip: add missing spi-{cpha,cpol}
properties" as setting the correct SPI mode is the responsibility of the
driver (suggested by Rob Herring).
- Rename ethernet0_rgmii_pins_d pinctrl group to ethernet0_rgmii_pins_e
as the former is already taken in stm32-next, as suggested by
Alexandre Torgue.
Leonard Göhrs (8):
dt-bindings: vendor-prefixes: Add prefix for ShineWorld Innovations
dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k
compatible
dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property
dt-bindings: can: m_can: change from additional- to
unevaluatedProperties
dt-bindings: net: dsa: microchip: add interrupts property for ksz
switches
ARM: dts: stm32: Add pinmux groups for Linux Automation GmbH TAC
dt-bindings: arm: stm32: Add compatible string for Linux Automation
LXA TAC
ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC
.../devicetree/bindings/arm/stm32/stm32.yaml | 4 +-
.../display/panel/panel-mipi-dbi-spi.yaml | 3 +
.../bindings/net/can/bosch,m_can.yaml | 2 +-
.../bindings/net/dsa/microchip,ksz.yaml | 3 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 129 ++++
.../arm/boot/dts/stm32mp157c-lxa-tac-gen1.dts | 93 +++
.../arm/boot/dts/stm32mp157c-lxa-tac-gen2.dts | 172 +++++
arch/arm/boot/dts/stm32mp15xc-lxa-tac.dtsi | 610 ++++++++++++++++++
10 files changed, 1018 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/boot/dts/stm32mp157c-lxa-tac-gen1.dts
create mode 100644 arch/arm/boot/dts/stm32mp157c-lxa-tac-gen2.dts
create mode 100644 arch/arm/boot/dts/stm32mp15xc-lxa-tac.dtsi
base-commit: c9cb7e72e293141d0d6c1d74c26788d3a0605172
--
2.39.2
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add prefix for ShineWorld Innovations
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
@ 2023-06-14 12:32 ` Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 2/8] dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k compatible Leonard Göhrs
` (8 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Leonard Göhrs @ 2023-06-14 12:32 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: kernel, Leonard Göhrs, Conor Dooley, devicetree, linux-kernel
Add a vendor prefix for ShineWorld Innovations, a manufacturer of
display panels https://www.swicn.com/.
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
Acked-by: Conor Dooley <conor.dooley@microchip.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 82d39ab0231b0..b0afa421bc4a5 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1189,6 +1189,8 @@ patternProperties:
description: SHIFT GmbH
"^shimafuji,.*":
description: Shimafuji Electric, Inc.
+ "^shineworld,.*":
+ description: ShineWorld Innovations
"^shiratech,.*":
description: Shiratech Solutions
"^si-en,.*":
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 2/8] dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k compatible
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add prefix for ShineWorld Innovations Leonard Göhrs
@ 2023-06-14 12:32 ` Leonard Göhrs
2023-06-15 10:35 ` Noralf Trønnes
2023-06-14 12:32 ` [PATCH v2 3/8] dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property Leonard Göhrs
` (7 subsequent siblings)
9 siblings, 1 reply; 18+ messages in thread
From: Leonard Göhrs @ 2023-06-14 12:32 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
Noralf Trønnes, Neil Armstrong, Sam Ravnborg, David Airlie,
Daniel Vetter
Cc: kernel, Leonard Göhrs, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, dri-devel, devicetree,
linux-kernel
The Shineworld LH133K is a 1.3" 240x240px RGB LCD with a MIPI DBI
compatible SPI interface.
The initialization procedure is quite basic with the exception of
requiring inverted colors.
A basic mipi-dbi-cmd[1] script to get the display running thus looks
like this:
$ cat shineworld,lh133k.txt
command 0x11 # exit sleep mode
delay 120
# The display seems to require display color inversion, so enable it.
command 0x21 # INVON
# Enable normal display mode (in contrast to partial display mode).
command 0x13 # NORON
command 0x29 # MIPI_DCS_SET_DISPLAY_ON
$ mipi-dbi-cmd shineworld,lh133k.bin shineworld,lh133k.txt
[1]: https://github.com/notro/panel-mipi-dbi
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
.../devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
index 9b701df5e9d28..c07da1a9e6288 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
@@ -67,6 +67,7 @@ properties:
items:
- enum:
- sainsmart18
+ - shineworld,lh133k
- const: panel-mipi-dbi-spi
write-only:
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 3/8] dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add prefix for ShineWorld Innovations Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 2/8] dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k compatible Leonard Göhrs
@ 2023-06-14 12:32 ` Leonard Göhrs
2023-06-15 10:35 ` Noralf Trønnes
2023-06-14 12:32 ` [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties Leonard Göhrs
` (6 subsequent siblings)
9 siblings, 1 reply; 18+ messages in thread
From: Leonard Göhrs @ 2023-06-14 12:32 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
Noralf Trønnes, Neil Armstrong, Sam Ravnborg, David Airlie,
Daniel Vetter
Cc: kernel, Leonard Göhrs, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, dri-devel, devicetree,
linux-kernel
Some MIPI DBI panels support a three wire mode (clock, chip select,
bidirectional data) that can be used to ask the panel if it is already set
up by e.g. the bootloader and can thus skip the initialization.
This enables a flicker-free boot.
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
.../devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
index c07da1a9e6288..2f0238b770eba 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
@@ -87,6 +87,8 @@ properties:
Logic level supply for interface signals (Vddi).
No need to set if this is the same as power-supply.
+ spi-3wire: true
+
required:
- compatible
- reg
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
` (2 preceding siblings ...)
2023-06-14 12:32 ` [PATCH v2 3/8] dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property Leonard Göhrs
@ 2023-06-14 12:32 ` Leonard Göhrs
2023-06-14 17:16 ` Conor Dooley
` (2 more replies)
2023-06-14 12:32 ` [PATCH v2 5/8] dt-bindings: net: dsa: microchip: add interrupts property for ksz switches Leonard Göhrs
` (5 subsequent siblings)
9 siblings, 3 replies; 18+ messages in thread
From: Leonard Göhrs @ 2023-06-14 12:32 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
Chandrasekar Ramakrishnan, Wolfgang Grandegger,
Marc Kleine-Budde, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni
Cc: kernel, Leonard Göhrs, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-can, netdev, devicetree, linux-kernel
This allows the usage of properties like termination-gpios and
termination-ohms, which are specified in can-controller.yaml
but were previously not usable due to additionalProperties: false.
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
Suggested-by: Rob Herring <robh@kernel.org>
---
Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
index 67879aab623b5..76c5024b6423e 100644
--- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
+++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
@@ -128,7 +128,7 @@ required:
- clock-names
- bosch,mram-cfg
-additionalProperties: false
+unevaluatedProperties: false
examples:
- |
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 5/8] dt-bindings: net: dsa: microchip: add interrupts property for ksz switches
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
` (3 preceding siblings ...)
2023-06-14 12:32 ` [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties Leonard Göhrs
@ 2023-06-14 12:32 ` Leonard Göhrs
2023-06-14 17:17 ` Conor Dooley
2023-06-14 12:32 ` [PATCH v2 6/8] ARM: dts: stm32: Add pinmux groups for Linux Automation GmbH TAC Leonard Göhrs
` (4 subsequent siblings)
9 siblings, 1 reply; 18+ messages in thread
From: Leonard Göhrs @ 2023-06-14 12:32 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
Woojung Huh, UNGLinuxDriver, Andrew Lunn, Florian Fainelli,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Marek Vasut
Cc: kernel, Leonard Göhrs, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, netdev, devicetree, linux-kernel
The ksz switch driver allows specifying an interrupt line to prevent
having to periodically poll the switch for link ups/downs and other
asynchronous events.
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
---
Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
index e51be1ac03623..03b5567be3897 100644
--- a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
@@ -49,6 +49,9 @@ properties:
Set if the output SYNCLKO clock should be disabled. Do not mix with
microchip,synclko-125.
+ interrupts:
+ maxItems: 1
+
required:
- compatible
- reg
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 6/8] ARM: dts: stm32: Add pinmux groups for Linux Automation GmbH TAC
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
` (4 preceding siblings ...)
2023-06-14 12:32 ` [PATCH v2 5/8] dt-bindings: net: dsa: microchip: add interrupts property for ksz switches Leonard Göhrs
@ 2023-06-14 12:32 ` Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 7/8] dt-bindings: arm: stm32: Add compatible string for Linux Automation LXA TAC Leonard Göhrs
` (3 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Leonard Göhrs @ 2023-06-14 12:32 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin
Cc: kernel, Leonard Göhrs, devicetree, linux-stm32,
linux-arm-kernel, linux-kernel
Add pinmux groups required for the Linux Automation GmbH TAC.
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
---
arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 129 +++++++++++++++++++++++
1 file changed, 129 insertions(+)
diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
index 06e969aa5fdb9..01e1e13408644 100644
--- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
@@ -6,6 +6,17 @@
#include <dt-bindings/pinctrl/stm32-pinfunc.h>
&pinctrl {
+ adc1_ain_pins_a: adc1-ain-0 {
+ pins {
+ pinmux = <STM32_PINMUX('F', 11, ANALOG)>, /* ADC1_INP2 */
+ <STM32_PINMUX('B', 1, ANALOG)>, /* ADC1_INP5 */
+ <STM32_PINMUX('B', 0, ANALOG)>, /* ADC1_INP9 */
+ <STM32_PINMUX('C', 0, ANALOG)>, /* ADC1_INP10 */
+ <STM32_PINMUX('C', 3, ANALOG)>, /* ADC1_INP13 */
+ <STM32_PINMUX('A', 3, ANALOG)>; /* ADC1_INP15 */
+ };
+ };
+
adc1_in6_pins_a: adc1-in6-0 {
pins {
pinmux = <STM32_PINMUX('F', 12, ANALOG)>;
@@ -391,6 +402,46 @@ pins1 {
};
};
+ ethernet0_rgmii_pins_e: rgmii-4 {
+ pins1 {
+ pinmux = <STM32_PINMUX('G', 4, AF11)>, /* ETH_RGMII_GTX_CLK */
+ <STM32_PINMUX('G', 13, AF11)>, /* ETH_RGMII_TXD0 */
+ <STM32_PINMUX('G', 14, AF11)>, /* ETH_RGMII_TXD1 */
+ <STM32_PINMUX('C', 2, AF11)>, /* ETH_RGMII_TXD2 */
+ <STM32_PINMUX('E', 2, AF11)>, /* ETH_RGMII_TXD3 */
+ <STM32_PINMUX('B', 11, AF11)>; /* ETH_RGMII_TX_CTL */
+ bias-disable;
+ drive-push-pull;
+ slew-rate = <2>;
+ };
+ pins2 {
+ pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH_RGMII_RXD0 */
+ <STM32_PINMUX('C', 5, AF11)>, /* ETH_RGMII_RXD1 */
+ <STM32_PINMUX('H', 6, AF11)>, /* ETH_RGMII_RXD2 */
+ <STM32_PINMUX('H', 7, AF11)>, /* ETH_RGMII_RXD3 */
+ <STM32_PINMUX('A', 1, AF11)>, /* ETH_RGMII_RX_CLK */
+ <STM32_PINMUX('A', 7, AF11)>; /* ETH_RGMII_RX_CTL */
+ bias-disable;
+ };
+ };
+
+ ethernet0_rgmii_sleep_pins_e: rgmii-sleep-4 {
+ pins1 {
+ pinmux = <STM32_PINMUX('G', 4, ANALOG)>, /* ETH_RGMII_GTX_CLK */
+ <STM32_PINMUX('G', 13, ANALOG)>, /* ETH_RGMII_TXD0 */
+ <STM32_PINMUX('G', 14, ANALOG)>, /* ETH_RGMII_TXD1 */
+ <STM32_PINMUX('C', 2, ANALOG)>, /* ETH_RGMII_TXD2 */
+ <STM32_PINMUX('E', 2, ANALOG)>, /* ETH_RGMII_TXD3 */
+ <STM32_PINMUX('B', 11, ANALOG)>, /* ETH_RGMII_TX_CTL */
+ <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_RXD0 */
+ <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_RGMII_RXD1 */
+ <STM32_PINMUX('H', 6, ANALOG)>, /* ETH_RGMII_RXD2 */
+ <STM32_PINMUX('H', 7, ANALOG)>, /* ETH_RGMII_RXD3 */
+ <STM32_PINMUX('A', 1, ANALOG)>, /* ETH_RGMII_RX_CLK */
+ <STM32_PINMUX('A', 7, ANALOG)>; /* ETH_RGMII_RX_CTL */
+ };
+ };
+
ethernet0_rmii_pins_a: rmii-0 {
pins1 {
pinmux = <STM32_PINMUX('G', 13, AF11)>, /* ETH1_RMII_TXD0 */
@@ -1154,6 +1205,20 @@ pins {
};
};
+ pwm1_pins_c: pwm1-2 {
+ pins {
+ pinmux = <STM32_PINMUX('E', 11, AF1)>; /* TIM1_CH2 */
+ drive-push-pull;
+ slew-rate = <0>;
+ };
+ };
+
+ pwm1_sleep_pins_c: pwm1-sleep-2 {
+ pins {
+ pinmux = <STM32_PINMUX('E', 11, ANALOG)>; /* TIM1_CH2 */
+ };
+ };
+
pwm2_pins_a: pwm2-0 {
pins {
pinmux = <STM32_PINMUX('A', 3, AF1)>; /* TIM2_CH4 */
@@ -1280,6 +1345,26 @@ pins {
};
};
+ pwm8_pins_b: pwm8-1 {
+ pins {
+ pinmux = <STM32_PINMUX('I', 5, AF3)>, /* TIM8_CH1 */
+ <STM32_PINMUX('I', 6, AF3)>, /* TIM8_CH2 */
+ <STM32_PINMUX('I', 7, AF3)>, /* TIM8_CH3 */
+ <STM32_PINMUX('C', 9, AF3)>; /* TIM8_CH4 */
+ drive-push-pull;
+ slew-rate = <0>;
+ };
+ };
+
+ pwm8_sleep_pins_b: pwm8-sleep-1 {
+ pins {
+ pinmux = <STM32_PINMUX('I', 5, ANALOG)>, /* TIM8_CH1 */
+ <STM32_PINMUX('I', 6, ANALOG)>, /* TIM8_CH2 */
+ <STM32_PINMUX('I', 7, ANALOG)>, /* TIM8_CH3 */
+ <STM32_PINMUX('C', 9, ANALOG)>; /* TIM8_CH4 */
+ };
+ };
+
pwm12_pins_a: pwm12-0 {
pins {
pinmux = <STM32_PINMUX('H', 6, AF2)>; /* TIM12_CH1 */
@@ -2074,6 +2159,20 @@ pins2 {
};
};
+ spi2_pins_c: spi2-2 {
+ pins1 {
+ pinmux = <STM32_PINMUX('I', 1, AF5)>, /* SPI2_SCK */
+ <STM32_PINMUX('I', 3, AF5)>; /* SPI2_MOSI */
+ bias-disable;
+ drive-push-pull;
+ };
+
+ pins2 {
+ pinmux = <STM32_PINMUX('I', 2, AF5)>; /* SPI2_MISO */
+ bias-pull-down;
+ };
+ };
+
spi4_pins_a: spi4-0 {
pins {
pinmux = <STM32_PINMUX('E', 12, AF5)>, /* SPI4_SCK */
@@ -2088,6 +2187,21 @@ pins2 {
};
};
+ spi5_pins_a: spi5-0 {
+ pins1 {
+ pinmux = <STM32_PINMUX('F', 7, AF5)>, /* SPI5_SCK */
+ <STM32_PINMUX('F', 9, AF5)>; /* SPI5_MOSI */
+ bias-disable;
+ drive-push-pull;
+ slew-rate = <1>;
+ };
+
+ pins2 {
+ pinmux = <STM32_PINMUX('F', 8, AF5)>; /* SPI5_MISO */
+ bias-disable;
+ };
+ };
+
stusb1600_pins_a: stusb1600-0 {
pins {
pinmux = <STM32_PINMUX('I', 11, GPIO)>;
@@ -2578,6 +2692,21 @@ pins {
};
};
+ usart3_pins_f: usart3-5 {
+ pins1 {
+ pinmux = <STM32_PINMUX('B', 10, AF7)>, /* USART3_TX */
+ <STM32_PINMUX('D', 12, AF7)>; /* USART3_RTS */
+ bias-disable;
+ drive-push-pull;
+ slew-rate = <0>;
+ };
+ pins2 {
+ pinmux = <STM32_PINMUX('B', 12, AF8)>, /* USART3_RX */
+ <STM32_PINMUX('D', 11, AF7)>; /* USART3_CTS_NSS */
+ bias-disable;
+ };
+ };
+
usbotg_hs_pins_a: usbotg-hs-0 {
pins {
pinmux = <STM32_PINMUX('A', 10, ANALOG)>; /* OTG_ID */
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 7/8] dt-bindings: arm: stm32: Add compatible string for Linux Automation LXA TAC
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
` (5 preceding siblings ...)
2023-06-14 12:32 ` [PATCH v2 6/8] ARM: dts: stm32: Add pinmux groups for Linux Automation GmbH TAC Leonard Göhrs
@ 2023-06-14 12:32 ` Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 8/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
` (2 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Leonard Göhrs @ 2023-06-14 12:32 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
Maxime Coquelin
Cc: kernel, Leonard Göhrs, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, linux-stm32,
linux-arm-kernel, linux-kernel
Add DT compatible string for Linux Automation GmbH Test Automation
Controllers (LXA TAC).
LXA TACs are a development tool for embedded devices with a focus on
embedded Linux devices.
As of now there are two STM32MP157 based hardware generations (Gen 1 and
Gen 2) that have most of their hardware config in common.
In the future there will also be a STM32MP153 based hardware generation.
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Documentation/devicetree/bindings/arm/stm32/stm32.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml
index 4466b455bffad..4bf28e717a56f 100644
--- a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml
+++ b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml
@@ -143,7 +143,9 @@ properties:
- description: Octavo OSD32MP15x System-in-Package based boards
items:
- enum:
- - lxa,stm32mp157c-mc1 # Linux Automation MC-1
+ - lxa,stm32mp157c-mc1 # Linux Automation MC-1
+ - lxa,stm32mp157c-tac-gen1 # Linux Automation TAC (Generation 1)
+ - lxa,stm32mp157c-tac-gen2 # Linux Automation TAC (Generation 2)
- const: oct,stm32mp15xx-osd32
- enum:
- st,stm32mp157
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 8/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
` (6 preceding siblings ...)
2023-06-14 12:32 ` [PATCH v2 7/8] dt-bindings: arm: stm32: Add compatible string for Linux Automation LXA TAC Leonard Göhrs
@ 2023-06-14 12:32 ` Leonard Göhrs
2023-06-14 17:19 ` [PATCH v2 0/8] " Conor Dooley
2023-07-11 7:57 ` Alexandre TORGUE
9 siblings, 0 replies; 18+ messages in thread
From: Leonard Göhrs @ 2023-06-14 12:32 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
Arnd Bergmann, Olof Johansson, soc, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin
Cc: kernel, Leonard Göhrs, linux-arm-kernel, devicetree,
linux-kernel, linux-stm32
The Linux Automation Test Automation Controller (LXA TAC)[1] is an embedded
software development tool built around the Octavo Systems OSD32MP15x SiP.
The device contains an eMMC for storage, a DSA-capable on board ethernet
switch with two external ports, dual CAN busses, a power switch to turn
a device under test on or off and some other I/O.
As of now there are two STM32MP157 based hardware generations (Gen 1 and
Gen 2) that have most of their hardware config in common.
In the future there will also be a STM32MP153 based hardware generation.
[1]: https://www.linux-automation.com/en/products/lxa-tac.html
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
---
arch/arm/boot/dts/Makefile | 2 +
.../arm/boot/dts/stm32mp157c-lxa-tac-gen1.dts | 93 +++
.../arm/boot/dts/stm32mp157c-lxa-tac-gen2.dts | 172 +++++
arch/arm/boot/dts/stm32mp15xc-lxa-tac.dtsi | 610 ++++++++++++++++++
4 files changed, 877 insertions(+)
create mode 100644 arch/arm/boot/dts/stm32mp157c-lxa-tac-gen1.dts
create mode 100644 arch/arm/boot/dts/stm32mp157c-lxa-tac-gen2.dts
create mode 100644 arch/arm/boot/dts/stm32mp15xc-lxa-tac.dtsi
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4c1c96000f3bf..d73c3534506a1 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1266,6 +1266,8 @@ dtb-$(CONFIG_ARCH_STM32) += \
stm32mp157c-ev1.dtb \
stm32mp157c-ev1-scmi.dtb \
stm32mp157c-lxa-mc1.dtb \
+ stm32mp157c-lxa-tac-gen1.dtb \
+ stm32mp157c-lxa-tac-gen2.dtb \
stm32mp157c-odyssey.dtb \
stm32mp157c-phycore-stm32mp1-3.dtb
dtb-$(CONFIG_MACH_SUN4I) += \
diff --git a/arch/arm/boot/dts/stm32mp157c-lxa-tac-gen1.dts b/arch/arm/boot/dts/stm32mp157c-lxa-tac-gen1.dts
new file mode 100644
index 0000000000000..81f254fb88b0a
--- /dev/null
+++ b/arch/arm/boot/dts/stm32mp157c-lxa-tac-gen1.dts
@@ -0,0 +1,93 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
+/*
+ * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
+ * Copyright (C) 2021 Rouven Czerwinski, Pengutronix
+ * Copyright (C) 2023 Leonard Göhrs, Pengutronix
+ */
+
+/dts-v1/;
+
+#include "stm32mp157.dtsi"
+#include "stm32mp15xc-lxa-tac.dtsi"
+
+/ {
+ model = "Linux Automation Test Automation Controller (TAC) Gen 1";
+ compatible = "lxa,stm32mp157c-tac-gen1", "oct,stm32mp15xx-osd32", "st,stm32mp157";
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ power-supply = <&v3v3>;
+
+ brightness-levels = <0 31 63 95 127 159 191 223 255>;
+ default-brightness-level = <7>;
+ pwms = <&backlight_pwm 1 1000000 0>;
+ };
+
+ reg_iobus_12v: regulator-iobus-12v {
+ compatible = "regulator-fixed";
+ vin-supply = <®_12v>;
+
+ gpio = <&gpioh 13 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-max-microvolt = <12000000>;
+ regulator-min-microvolt = <12000000>;
+ regulator-name = "12V_IOBUS";
+ };
+};
+
+&gpioa {
+ gpio-line-names = "", "", "STACK_CS2", "", "STACK_CS3", /* 0 */
+ "ETH_GPIO1", "ETH_INT", "", "", "", /* 5 */
+ "", "", "", "BOOTROM_LED", "ETH_LAB_LEDRP", /* 10 */
+ ""; /* 15 */
+};
+
+&gpioc {
+ gpio-line-names = "", "STACK_CS1", "", "", "", /* 0 */
+ "", "", "", "", "", /* 5 */
+ "", ""; /* 10 */
+};
+
+&gpu {
+ status = "disabled";
+};
+
+&i2c1 {
+ powerboard_gpio: gpio@24 {
+ compatible = "nxp,pca9570";
+ reg = <0x24>;
+
+ #gpio-cells = <2>;
+ gpio-controller;
+ gpio-line-names = "DUT_PWR_EN", "DUT_PWR_DISCH", "DUT_PWR_ADCRST", "";
+ };
+};
+
+&spi2 {
+ adc@0 {
+ compatible = "ti,lmp92064";
+ reg = <0>;
+ spi-max-frequency = <5000000>;
+ vdd-supply = <®_pb_3v3>;
+ vdig-supply = <®_pb_3v3>;
+ reset-gpios = <&powerboard_gpio 2 GPIO_ACTIVE_HIGH>;
+
+ shunt-resistor-micro-ohms = <15000>;
+ };
+};
+
+&timers1 {
+ /* spare dmas for other usage */
+ /delete-property/dmas;
+ /delete-property/dma-names;
+
+ status = "okay";
+
+ backlight_pwm: pwm {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pwm1_pins_c>;
+ pinctrl-1 = <&pwm1_sleep_pins_c>;
+
+ status = "okay";
+ };
+};
diff --git a/arch/arm/boot/dts/stm32mp157c-lxa-tac-gen2.dts b/arch/arm/boot/dts/stm32mp157c-lxa-tac-gen2.dts
new file mode 100644
index 0000000000000..8a34d15e9005f
--- /dev/null
+++ b/arch/arm/boot/dts/stm32mp157c-lxa-tac-gen2.dts
@@ -0,0 +1,172 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
+/*
+ * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
+ * Copyright (C) 2021 Rouven Czerwinski, Pengutronix
+ * Copyright (C) 2023 Leonard Göhrs, Pengutronix
+ */
+
+/dts-v1/;
+
+#include "stm32mp157.dtsi"
+#include "stm32mp15xc-lxa-tac.dtsi"
+
+/ {
+ model = "Linux Automation Test Automation Controller (TAC) Gen 2";
+ compatible = "lxa,stm32mp157c-tac-gen2", "oct,stm32mp15xx-osd32", "st,stm32mp157";
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ power-supply = <&v3v3>;
+
+ brightness-levels = <0 31 63 95 127 159 191 223 255>;
+ default-brightness-level = <7>;
+ pwms = <&led_pwm 3 1000000 0>;
+ };
+
+ reg_iobus_12v: regulator-iobus-12v {
+ compatible = "regulator-fixed";
+ vin-supply = <®_12v>;
+ gpio = <&gpioh 13 GPIO_ACTIVE_LOW>;
+ regulator-max-microvolt = <12000000>;
+ regulator-min-microvolt = <12000000>;
+ regulator-name = "12V_IOBUS";
+ };
+
+ led-controller-1 {
+ compatible = "pwm-leds-multicolor";
+
+ multi-led {
+ color = <LED_COLOR_ID_RGB>;
+ function = LED_FUNCTION_STATUS;
+ max-brightness = <65535>;
+
+ led-red {
+ active-low;
+ color = <LED_COLOR_ID_RED>;
+ pwms = <&led_pwm 0 1000000 0>;
+ };
+
+ led-green {
+ active-low;
+ color = <LED_COLOR_ID_GREEN>;
+ pwms = <&led_pwm 2 1000000 0>;
+ };
+
+ led-blue {
+ active-low;
+ color = <LED_COLOR_ID_BLUE>;
+ pwms = <&led_pwm 1 1000000 0>;
+ };
+ };
+ };
+
+ led-controller-2 {
+ compatible = "gpio-leds";
+
+ led-5 {
+ label = "tac:green:iobus";
+ gpios = <&gpiog 1 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-6 {
+ label = "tac:green:can";
+ gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-7 {
+ label = "tac:green:out0";
+ gpios = <&gpiob 8 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-8 {
+ label = "tac:green:out1";
+ gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-9 {
+ label = "tac:green:uarttx";
+ gpios = <&gpiod 3 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-10 {
+ label = "tac:green:uartrx";
+ gpios = <&gpiof 6 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-11 {
+ label = "tac:green:usbh1";
+ gpios = <&gpioc 8 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-12 {
+ label = "tac:green:usbh2";
+ gpios = <&gpiod 6 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-13 {
+ label = "tac:green:usbh3";
+ gpios = <&gpiob 9 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-14 {
+ label = "tac:green:usbg";
+ gpios = <&gpiod 14 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "usb-gadget";
+ };
+
+ led-15 {
+ label = "tac:green:dutpwr";
+ gpios = <&gpioa 15 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&gpioa {
+ gpio-line-names = "", "", "DUT_PWR_EN", "", "STACK_CS3", /* 0 */
+ "ETH_GPIO1", "ETH_INT", "", "", "", /* 5 */
+ "", "", "", "BOOTROM_LED", "ETH_LAB_LEDRP", /* 10 */
+ ""; /* 15 */
+};
+
+&gpioc {
+ gpio-line-names = "", "DUT_PWR_DISCH", "", "", "", /* 0 */
+ "", "", "", "", "", /* 5 */
+ "", ""; /* 10 */
+};
+
+&gpu {
+ status = "disabled";
+};
+
+&m_can2 {
+ termination-gpios = <&gpioe 4 GPIO_ACTIVE_HIGH>;
+ termination-ohms = <120>;
+};
+
+&spi2 {
+ adc@0 {
+ compatible = "ti,lmp92064";
+ reg = <0>;
+
+ reset-gpios = <&gpioa 4 GPIO_ACTIVE_HIGH>;
+ shunt-resistor-micro-ohms = <15000>;
+ spi-max-frequency = <5000000>;
+ vdd-supply = <®_pb_3v3>;
+ vdig-supply = <®_pb_3v3>;
+ };
+};
+
+&timers8 {
+ /* spare dmas for other usage */
+ /delete-property/dmas;
+ /delete-property/dma-names;
+
+ status = "okay";
+
+ led_pwm: pwm {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pwm8_pins_b>;
+ pinctrl-1 = <&pwm8_sleep_pins_b>;
+ status = "okay";
+ };
+};
diff --git a/arch/arm/boot/dts/stm32mp15xc-lxa-tac.dtsi b/arch/arm/boot/dts/stm32mp15xc-lxa-tac.dtsi
new file mode 100644
index 0000000000000..184b8bb4ebbf6
--- /dev/null
+++ b/arch/arm/boot/dts/stm32mp15xc-lxa-tac.dtsi
@@ -0,0 +1,610 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
+/*
+ * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
+ * Copyright (C) 2021 Rouven Czerwinski, Pengutronix
+ * Copyright (C) 2023 Leonard Göhrs, Pengutronix
+ */
+
+#include "stm32mp15xc.dtsi"
+#include "stm32mp15xx-osd32.dtsi"
+#include "stm32mp15xxac-pinctrl.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pwm/pwm.h>
+
+/ {
+ aliases {
+ ethernet0 = ðernet0;
+ ethernet1 = &port_uplink;
+ ethernet2 = &port_dut;
+ mmc1 = &sdmmc2;
+ serial0 = &uart4;
+ serial1 = &usart3;
+ };
+
+ chosen {
+ stdout-path = &uart4;
+ };
+
+ led-controller-0 {
+ compatible = "gpio-leds";
+
+ led-0 {
+ label = "tac:green:user1";
+ gpios = <&gpiof 10 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "heartbeat";
+ };
+
+ led-1 {
+ label = "tac:green:user2";
+ gpios = <&gpiog 7 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-2 {
+ label = "tac:green:statusdut";
+ gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
+ };
+
+ /* led-3 and led-4 are internally connected antiparallel to one
+ * another inside the ethernet jack like this:
+ * GPIOA14 ---+---|led-3|>--+--- GPIOD15
+ * +--<|led-4|---+
+ * E.g. only one of the LEDs can be illuminated at a time while
+ * the other output must be driven low.
+ * This should likely be implemented using a multi color LED
+ * driver for antiparallel LEDs.
+ */
+ led-3 {
+ label = "tac:green:statuslab";
+ gpios = <&gpioa 14 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-4 {
+ label = "tac:orange:statuslab";
+ gpios = <&gpiod 15 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-lower {
+ label = "USER_BTN2";
+ linux,code = <KEY_ESC>;
+ gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+ };
+
+ button-upper {
+ label = "USER_BTN";
+ linux,code = <KEY_HOME>;
+ gpios = <&gpioi 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+ };
+ };
+
+ /* supplied by either barrel connector or PoE */
+ reg_12v: regulator-12v {
+ compatible = "regulator-fixed";
+ regulator-name = "12V";
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+ regulator-always-on;
+ };
+
+ reg_5v: regulator-5v {
+ compatible = "regulator-fixed";
+ regulator-name = "5V";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ vin-supply = <®_12v>;
+ };
+
+ reg_1v2: regulator-1v2 {
+ compatible = "regulator-fixed";
+ regulator-name = "1V2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ vin-supply = <®_5v>;
+ };
+
+ reg_pb_5v: regulator-pb-5v {
+ compatible = "regulator-fixed";
+ regulator-name = "5V_POWERBOARD";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ vin-supply = <®_5v>;
+ };
+
+ reg_pb_3v3: regulator-pb-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "3V3_POWERBOARD";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ vin-supply = <®_pb_5v>;
+ };
+
+ output-iobus-12v {
+ compatible = "regulator-output";
+ vout-supply = <®_iobus_12v>;
+ };
+
+ output-vuart {
+ compatible = "regulator-output";
+ vout-supply = <&v3v3_hdmi>;
+ };
+};
+
+baseboard_eeprom: &sip_eeprom {
+};
+
+&adc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&adc1_ain_pins_a>;
+ vdd-supply = <&vdd>;
+ vdda-supply = <&vdda>;
+ vref-supply = <&vrefbuf>;
+ status = "okay";
+
+ adc1: adc@0 {
+ st,adc-channels = <0 1 2 5 9 10 13 15>;
+ st,min-sample-time-nsecs = <5000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ channel@0 {
+ reg = <0>;
+ label = "HOST_2_CURR_FB";
+ };
+
+ channel@1 {
+ reg = <1>;
+ label = "HOST_3_CURR_FB";
+ };
+
+ channel@2 {
+ reg = <2>;
+ label = "OUT_0_FB";
+ };
+
+ channel@5 {
+ reg = <5>;
+ label = "IOBUS_CURR_FB";
+ };
+
+ channel@9 {
+ reg = <9>;
+ label = "IOBUS_VOLT_FB";
+ };
+
+ channel@10 {
+ reg = <10>;
+ label = "OUT_1_FB";
+ };
+
+ channel@13 {
+ reg = <13>;
+ label = "HOST_CURR_FB";
+ };
+
+ channel@15 {
+ reg = <15>;
+ label = "HOST_1_CURR_FB";
+ };
+ };
+
+ adc2: adc@100 {
+ st,adc-channels = <12>;
+ st,min-sample-time-nsecs = <500000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ channel@12 {
+ reg = <12>;
+ label = "TEMP_INTERNAL";
+ };
+ };
+};
+
+&crc1 {
+ status = "okay";
+};
+
+&cryp1 {
+ status = "okay";
+};
+
+&dts {
+ status = "okay";
+};
+
+ðernet0 {
+ assigned-clocks = <&rcc ETHCK_K>, <&rcc PLL4_P>;
+ assigned-clock-parents = <&rcc PLL4_P>;
+ assigned-clock-rates = <125000000>; /* Clock PLL4 to 750Mhz in ATF */
+
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <ðernet0_rgmii_pins_e>;
+ pinctrl-1 = <ðernet0_rgmii_sleep_pins_e>;
+
+ st,eth-clk-sel;
+ phy-mode = "rgmii-id";
+
+ status = "okay";
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+};
+
+ðernet0_rgmii_pins_e {
+ pins1 {
+ /* Reduce EMI emission by reducing RGMII drive strength */
+ slew-rate = <1>;
+ };
+};
+
+&gpiob {
+ gpio-line-names = "", "", "", "", "", /* 0 */
+ "", "USB_RESET", "", "", "", /* 5 */
+ "", "", "", "", "", /* 10 */
+ ""; /* 15 */
+};
+
+&gpiod {
+ gpio-line-names = "", "", "", "", "TP38", /* 0 */
+ "TP39", "", "", "TP41", "TP42", /* 5 */
+ "OLED_DC", "", "", "ETH_CS", "", /* 10 */
+ "ETH_LAB_LEDRN"; /* 15 */
+};
+
+&gpioe {
+ gpio-line-names = "TP35", "", "", "", "CAN_1_120R", /* 0 */
+ "", "", "USER_BTN2", "TP48", "UART_TX_EN", /* 5 */
+ "UART_RX_EN", "TP24", "", "TP25", "TP26", /* 10 */
+ "TP27"; /* 15 */
+};
+
+&gpiof {
+ gpio-line-names = "TP36", "TP37", "", "", "OLED_CS", /* 0 */
+ "", "", "", "", "", /* 5 */
+ "USER_LED1", "", "STACK_CS0", "", "", /* 10 */
+ ""; /* 15 */
+};
+
+&gpiog {
+ gpio-line-names = "ETH_RESET", "", "", "", "", /* 0 */
+ "IOBUS_FLT_FB", "", "USER_LED2", "ETH1_PPS_A", "CAN_0_120R", /* 5 */
+ "TP49", "", "", "", "", /* 10 */
+ ""; /* 15 */
+};
+
+&gpioh {
+ gpio-line-names = "", "", "OUT_1", "OUT_0", "OLED_RESET", /* 0 */
+ "", "", "", "", "", /* 5 */
+ "ETH1_PPS_B", "ETH_GPIO2", "", "IOBUS_PWR_EN", "", /* 10 */
+ "TP33"; /* 15 */
+};
+
+&gpioi {
+ gpio-line-names = "TIM_RTS", "", "", "", "DEVICE_DATA_EN", /* 0 */
+ "", "", "", "ETH_WOL", "TP43", /* 5 */
+ "", "USER_BTN"; /* 10 */
+};
+
+&gpioz {
+ gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", /* 0 */
+ "", "HWID4", "HWID5"; /* 5 */
+};
+
+&hash1 {
+ status = "okay";
+};
+
+&i2c1 {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&i2c1_pins_b>;
+ pinctrl-1 = <&i2c1_sleep_pins_b>;
+ status = "okay";
+
+ powerboard_eeprom: eeprom@50 {
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+ vcc-supply = <&v3v3>;
+ };
+
+ temperature-sensor@48 {
+ compatible = "national,lm75a";
+ reg = <0x48>;
+ status = "disabled";
+ };
+};
+
+&i2c5 {
+ /delete-property/dmas;
+ /delete-property/dma-names;
+
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&i2c5_pins_b>;
+ pinctrl-1 = <&i2c5_sleep_pins_b>;
+
+ status = "okay";
+
+ usbhub: usbhub@2c {
+ compatible ="microchip,usb2514b";
+ reg = <0x2c>;
+ vdd-supply = <&v3v3>;
+ reset-gpios = <&gpiob 6 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&iwdg2 {
+ timeout-sec = <8>;
+ status = "okay";
+};
+
+&m_can1 {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&m_can1_pins_b>;
+ pinctrl-1 = <&m_can1_sleep_pins_b>;
+ status = "okay";
+};
+
+&m_can2 {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&m_can2_pins_a>;
+ pinctrl-1 = <&m_can2_sleep_pins_a>;
+ status = "okay";
+};
+
+&pmic {
+ regulators {
+ buck1-supply = <®_5v>; /* VIN */
+ buck2-supply = <®_5v>; /* VIN */
+ buck3-supply = <®_5v>; /* VIN */
+ buck4-supply = <®_5v>; /* VIN */
+ ldo2-supply = <®_5v>; /* PMIC_LDO25IN */
+ ldo4-supply = <®_5v>; /* VIN */
+ ldo5-supply = <®_5v>; /* PMIC_LDO25IN */
+ vref_ddr-supply = <®_5v>; /* VIN */
+ boost-supply = <®_5v>; /* PMIC_BSTIN */
+ pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */
+ };
+};
+
+&pwr_regulators {
+ vdd-supply = <&vdd>;
+ vdd_3v3_usbfs-supply = <&vdd_usb>;
+};
+
+&rtc {
+ status = "okay";
+};
+
+&sdmmc2 {
+ pinctrl-names = "default", "opendrain", "sleep";
+ pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>;
+ pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>;
+ pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>;
+ vmmc-supply = <&v3v3>;
+
+ bus-width = <8>;
+ mmc-ddr-3_3v;
+ no-1-8-v;
+ non-removable;
+ no-sd;
+ no-sdio;
+ st,neg-edge;
+
+ status = "okay";
+};
+
+&spi2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi2_pins_c>;
+ cs-gpios = <&gpiof 12 GPIO_ACTIVE_LOW>;
+ status = "okay";
+};
+
+&spi4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi4_pins_a>;
+ cs-gpios = <&gpiof 4 GPIO_ACTIVE_LOW>;
+ status = "okay";
+
+ lcd: display@0 {
+ compatible = "shineworld,lh133k", "panel-mipi-dbi-spi";
+ reg = <0>;
+ power-supply = <&v3v3>;
+ io-supply = <&v3v3>;
+ backlight = <&backlight>;
+ dc-gpios = <&gpiod 10 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpioh 4 GPIO_ACTIVE_HIGH>;
+ spi-3wire;
+ spi-max-frequency = <32000000>;
+
+ width-mm = <23>;
+ height-mm = <23>;
+ rotation = <180>;
+
+ panel-timing {
+ hactive = <240>;
+ vactive = <240>;
+ hback-porch = <0>;
+ vback-porch = <0>;
+
+ clock-frequency = <0>;
+ hfront-porch = <0>;
+ hsync-len = <0>;
+ vfront-porch = <0>;
+ vsync-len = <0>;
+ };
+ };
+};
+
+&spi5 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi5_pins_a>;
+
+ /* spare dmas for other usage */
+ /delete-property/dmas;
+ /delete-property/dma-names;
+
+ cs-gpios = <&gpiod 13 GPIO_ACTIVE_LOW>;
+
+ status = "okay";
+
+ switch: switch@0 {
+ compatible = "microchip,ksz9563";
+ reg = <0>;
+
+ reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>;
+ spi-max-frequency = <44000000>;
+
+ interrupt-parent = <&gpioa>;
+ interrupts = <6 IRQ_TYPE_EDGE_RISING>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port_dut: port@0 {
+ reg = <0>;
+ label = "dut";
+ };
+
+ port_uplink: port@1 {
+ reg = <1>;
+ label = "uplink";
+ };
+
+ port_cpu: port@2 {
+ reg = <2>;
+ label = "cpu";
+
+ ethernet = <ðernet0>;
+
+ phy-mode = "rgmii-id";
+ rx-internal-delay-ps = <2000>;
+ tx-internal-delay-ps = <2000>;
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
+};
+
+&timers2 {
+ /* spare dmas for other usage */
+ /delete-property/dmas;
+ /delete-property/dma-names;
+
+ status = "okay";
+
+ timer@1 {
+ status = "okay";
+ };
+};
+
+&timers3 {
+ /* spare dmas for other usage */
+ /delete-property/dmas;
+ /delete-property/dma-names;
+
+ status = "okay";
+
+ timer@2 {
+ status = "okay";
+ };
+};
+
+&timers4 {
+ /* spare dmas for other usage */
+ /delete-property/dmas;
+ /delete-property/dma-names;
+
+ status = "okay";
+
+ timer@3 {
+ status = "okay";
+ };
+};
+
+&uart4 {
+ label = "debug";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart4_pins_a>;
+
+ /* spare dmas for other usage */
+ /delete-property/dmas;
+ /delete-property/dma-names;
+
+ status = "okay";
+};
+
+&usart3 {
+ label = "dut";
+ uart-has-rtscts;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&usart3_pins_f>;
+
+ /* spare dmas for other usage */
+ /delete-property/dmas;
+ /delete-property/dma-names;
+
+ status = "okay";
+};
+
+&usbh_ehci {
+ phys = <&usbphyc_port0>;
+ phy-names = "usb";
+
+ status = "okay";
+};
+
+&usbotg_hs {
+ phys = <&usbphyc_port1 0>;
+ phy-names = "usb2-phy";
+
+ vusb_d-supply = <&vdd_usb>;
+ vusb_a-supply = <®18>;
+
+ dr_mode = "peripheral";
+
+ status = "okay";
+};
+
+&usbphyc {
+ status = "okay";
+};
+
+&usbphyc_port0 {
+ phy-supply = <&vdd_usb>;
+};
+
+&usbphyc_port1 {
+ phy-supply = <&vdd_usb>;
+};
+
+&v3v3_hdmi {
+ /delete-property/regulator-always-on;
+};
+
+&vrefbuf {
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <2500000>;
+ vdda-supply = <&vdda>;
+
+ status = "okay";
+};
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties
2023-06-14 12:32 ` [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties Leonard Göhrs
@ 2023-06-14 17:16 ` Conor Dooley
2023-06-14 18:40 ` Rob Herring
2023-06-15 6:54 ` Chandrasekar R
2 siblings, 0 replies; 18+ messages in thread
From: Conor Dooley @ 2023-06-14 17:16 UTC (permalink / raw)
To: Leonard Göhrs
Cc: Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski,
Chandrasekar Ramakrishnan, Wolfgang Grandegger,
Marc Kleine-Budde, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, kernel, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-can, netdev, devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 450 bytes --]
On Wed, Jun 14, 2023 at 02:32:18PM +0200, Leonard Göhrs wrote:
> This allows the usage of properties like termination-gpios and
> termination-ohms, which are specified in can-controller.yaml
> but were previously not usable due to additionalProperties: false.
>
> Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
> Suggested-by: Rob Herring <robh@kernel.org>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Cheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 5/8] dt-bindings: net: dsa: microchip: add interrupts property for ksz switches
2023-06-14 12:32 ` [PATCH v2 5/8] dt-bindings: net: dsa: microchip: add interrupts property for ksz switches Leonard Göhrs
@ 2023-06-14 17:17 ` Conor Dooley
0 siblings, 0 replies; 18+ messages in thread
From: Conor Dooley @ 2023-06-14 17:17 UTC (permalink / raw)
To: Leonard Göhrs
Cc: Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski, Woojung Huh,
UNGLinuxDriver, Andrew Lunn, Florian Fainelli, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Marek Vasut, kernel, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, netdev, devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 348 bytes --]
On Wed, Jun 14, 2023 at 02:32:19PM +0200, Leonard Göhrs wrote:
> The ksz switch driver allows specifying an interrupt line to prevent
> having to periodically poll the switch for link ups/downs and other
> asynchronous events.
>
> Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
` (7 preceding siblings ...)
2023-06-14 12:32 ` [PATCH v2 8/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
@ 2023-06-14 17:19 ` Conor Dooley
2023-07-11 7:57 ` Alexandre TORGUE
9 siblings, 0 replies; 18+ messages in thread
From: Conor Dooley @ 2023-06-14 17:19 UTC (permalink / raw)
To: Leonard Göhrs
Cc: Rob Herring, Alexandre TORGUE, Krzysztof Kozlowski, linux-kernel, kernel
[-- Attachment #1: Type: text/plain, Size: 485 bytes --]
On Wed, Jun 14, 2023 at 02:32:14PM +0200, Leonard Göhrs wrote:
> - Split addition of shineworld lh133k compatible into separate
> vendor-prefix patch and panel-mipi-dbi-spi.yaml patch as suggested
> by Conor Dooley.
> Did not carry over the Reviewed-by: Rob Herring <robh@kernel.org>
> from the original patch due to the split.
FWIW, if Rob was happy with it as-was, he probably overrules me!
Although, clearly no reason to revert back to how it was now.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties
2023-06-14 12:32 ` [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties Leonard Göhrs
2023-06-14 17:16 ` Conor Dooley
@ 2023-06-14 18:40 ` Rob Herring
2023-06-15 6:54 ` Chandrasekar R
2 siblings, 0 replies; 18+ messages in thread
From: Rob Herring @ 2023-06-14 18:40 UTC (permalink / raw)
To: Leonard Göhrs
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Chandrasekar Ramakrishnan, Marc Kleine-Budde, Jakub Kicinski,
Krzysztof Kozlowski, Conor Dooley, netdev, Alexandre TORGUE,
devicetree, Wolfgang Grandegger, Paolo Abeni, Eric Dumazet,
David S. Miller, linux-can, kernel, linux-kernel
On Wed, 14 Jun 2023 14:32:18 +0200, Leonard Göhrs wrote:
> This allows the usage of properties like termination-gpios and
> termination-ohms, which are specified in can-controller.yaml
> but were previously not usable due to additionalProperties: false.
>
> Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
> Suggested-by: Rob Herring <robh@kernel.org>
> ---
> Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* RE: [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties
2023-06-14 12:32 ` [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties Leonard Göhrs
2023-06-14 17:16 ` Conor Dooley
2023-06-14 18:40 ` Rob Herring
@ 2023-06-15 6:54 ` Chandrasekar R
2 siblings, 0 replies; 18+ messages in thread
From: Chandrasekar R @ 2023-06-15 6:54 UTC (permalink / raw)
To: 'Leonard Göhrs', 'Conor Dooley',
'Rob Herring', 'Alexandre TORGUE',
'Krzysztof Kozlowski', 'Wolfgang Grandegger',
'Marc Kleine-Budde', 'David S. Miller',
'Eric Dumazet', 'Jakub Kicinski',
'Paolo Abeni'
Cc: kernel, 'Rob Herring', 'Krzysztof Kozlowski',
'Conor Dooley',
linux-can, netdev, devicetree, linux-kernel
> This allows the usage of properties like termination-gpios and termination-
> ohms, which are specified in can-controller.yaml but were previously not
> usable due to additionalProperties: false.
>
> Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
> Suggested-by: Rob Herring <robh@kernel.org>
Looks good to me,
Reviewed-by: Chandrasekar Ramakrishnan <rcsekar@samsung.com>
> ---
> Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> index 67879aab623b5..76c5024b6423e 100644
> --- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> +++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> @@ -128,7 +128,7 @@ required:
> - clock-names
> - bosch,mram-cfg
>
> -additionalProperties: false
> +unevaluatedProperties: false
>
> examples:
> - |
> --
> 2.39.2
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 2/8] dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k compatible
2023-06-14 12:32 ` [PATCH v2 2/8] dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k compatible Leonard Göhrs
@ 2023-06-15 10:35 ` Noralf Trønnes
2023-06-15 20:20 ` Rob Herring
0 siblings, 1 reply; 18+ messages in thread
From: Noralf Trønnes @ 2023-06-15 10:35 UTC (permalink / raw)
To: Leonard Göhrs, Conor Dooley, Rob Herring, Alexandre TORGUE,
Krzysztof Kozlowski, Neil Armstrong, Sam Ravnborg, David Airlie,
Daniel Vetter
Cc: kernel, Conor Dooley, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, dri-devel, devicetree, linux-kernel, noralf
On 6/14/23 14:32, Leonard Göhrs wrote:
> The Shineworld LH133K is a 1.3" 240x240px RGB LCD with a MIPI DBI
> compatible SPI interface.
> The initialization procedure is quite basic with the exception of
> requiring inverted colors.
> A basic mipi-dbi-cmd[1] script to get the display running thus looks
> like this:
>
> $ cat shineworld,lh133k.txt
> command 0x11 # exit sleep mode
> delay 120
>
> # The display seems to require display color inversion, so enable it.
> command 0x21 # INVON
>
> # Enable normal display mode (in contrast to partial display mode).
> command 0x13 # NORON
> command 0x29 # MIPI_DCS_SET_DISPLAY_ON
>
> $ mipi-dbi-cmd shineworld,lh133k.bin shineworld,lh133k.txt
>
> [1]: https://github.com/notro/panel-mipi-dbi
>
> Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> ---
Normally I would take this trough drm-misc-next but -rc6 is the cutoff
so if I do that it won't make it to 6.5. If the other patches make it to
6.5 the dtb checks will fail. I'm okay with the patches going through
another tree if that's preferred. Let me know if I should apply the
mipi-dbi-spi patches.
Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
> .../devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
> index 9b701df5e9d28..c07da1a9e6288 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
> @@ -67,6 +67,7 @@ properties:
> items:
> - enum:
> - sainsmart18
> + - shineworld,lh133k
> - const: panel-mipi-dbi-spi
>
> write-only:
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 3/8] dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property
2023-06-14 12:32 ` [PATCH v2 3/8] dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property Leonard Göhrs
@ 2023-06-15 10:35 ` Noralf Trønnes
0 siblings, 0 replies; 18+ messages in thread
From: Noralf Trønnes @ 2023-06-15 10:35 UTC (permalink / raw)
To: Leonard Göhrs, Conor Dooley, Rob Herring, Alexandre TORGUE,
Krzysztof Kozlowski, Neil Armstrong, Sam Ravnborg, David Airlie,
Daniel Vetter
Cc: kernel, Conor Dooley, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, dri-devel, devicetree, linux-kernel, noralf
On 6/14/23 14:32, Leonard Göhrs wrote:
> Some MIPI DBI panels support a three wire mode (clock, chip select,
> bidirectional data) that can be used to ask the panel if it is already set
> up by e.g. the bootloader and can thus skip the initialization.
> This enables a flicker-free boot.
>
> Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> ---
Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
> .../devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
> index c07da1a9e6288..2f0238b770eba 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
> @@ -87,6 +87,8 @@ properties:
> Logic level supply for interface signals (Vddi).
> No need to set if this is the same as power-supply.
>
> + spi-3wire: true
> +
> required:
> - compatible
> - reg
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 2/8] dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k compatible
2023-06-15 10:35 ` Noralf Trønnes
@ 2023-06-15 20:20 ` Rob Herring
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring @ 2023-06-15 20:20 UTC (permalink / raw)
To: Noralf Trønnes
Cc: Leonard Göhrs, Conor Dooley, Alexandre TORGUE,
Krzysztof Kozlowski, Neil Armstrong, Sam Ravnborg, David Airlie,
Daniel Vetter, kernel, Conor Dooley, Krzysztof Kozlowski,
Conor Dooley, dri-devel, devicetree, linux-kernel
On Thu, Jun 15, 2023 at 12:35:25PM +0200, Noralf Trønnes wrote:
>
>
> On 6/14/23 14:32, Leonard Göhrs wrote:
> > The Shineworld LH133K is a 1.3" 240x240px RGB LCD with a MIPI DBI
> > compatible SPI interface.
> > The initialization procedure is quite basic with the exception of
> > requiring inverted colors.
> > A basic mipi-dbi-cmd[1] script to get the display running thus looks
> > like this:
> >
> > $ cat shineworld,lh133k.txt
> > command 0x11 # exit sleep mode
> > delay 120
> >
> > # The display seems to require display color inversion, so enable it.
> > command 0x21 # INVON
> >
> > # Enable normal display mode (in contrast to partial display mode).
> > command 0x13 # NORON
> > command 0x29 # MIPI_DCS_SET_DISPLAY_ON
> >
> > $ mipi-dbi-cmd shineworld,lh133k.bin shineworld,lh133k.txt
> >
> > [1]: https://github.com/notro/panel-mipi-dbi
> >
> > Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
> > Acked-by: Conor Dooley <conor.dooley@microchip.com>
> > ---
>
> Normally I would take this trough drm-misc-next but -rc6 is the cutoff
> so if I do that it won't make it to 6.5. If the other patches make it to
> 6.5 the dtb checks will fail. I'm okay with the patches going through
> another tree if that's preferred. Let me know if I should apply the
> mipi-dbi-spi patches.
I've applied patches 1, 2, and 3. The netdev folks should pick up the
other bindings.
Rob
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
` (8 preceding siblings ...)
2023-06-14 17:19 ` [PATCH v2 0/8] " Conor Dooley
@ 2023-07-11 7:57 ` Alexandre TORGUE
9 siblings, 0 replies; 18+ messages in thread
From: Alexandre TORGUE @ 2023-07-11 7:57 UTC (permalink / raw)
To: Leonard Göhrs, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, linux-kernel
Cc: kernel
Hi Leonard
On 6/14/23 14:32, Leonard Göhrs wrote:
> The Linux Automation Test Automation Controller (LXA TAC)[1] is an embedded
> software development tool built around the Octavo Systems OSD32MP15x SiP.
>
> The device contains an eMMC for storage, a DSA-capable on board ethernet
> switch with two external ports, dual CAN busses, a power switch to turn
> a device under test on or off and some other I/O.
>
> As of now there are two STM32MP157 based hardware generations (Gen 1 and
> Gen 2) that have most of their hardware config in common.
> In the future there will also be a STM32MP153 based hardware generation.
>
> [1]: https://www.linux-automation.com/en/products/lxa-tac.html
>
> V1: https://lore.kernel.org/lkml/20230607115508.2964574-1-l.goehrs@pengutronix.de/
>
> Changes since V1:
>
> - Rebase on top of stm32-next as requested by Alexandre Torgue.
> - Split addition of shineworld lh133k compatible into separate
> vendor-prefix patch and panel-mipi-dbi-spi.yaml patch as suggested
> by Conor Dooley.
> Did not carry over the Reviewed-by: Rob Herring <robh@kernel.org>
> from the original patch due to the split.
> - Drop "dt-bindings: gpio: pca9570: add gpio-line-names property"
> as it is already in gpio/for-next.
> - Replace "dt-bindings: can: m_can: add termination-{gpios,ohms}
> properties" with a patch that replaces additionalProperties with
> unevaluatedProperties in bosch,m_can.yaml, as suggested by
> Rob Herring.
> - Drop "dt-bindings: net: dsa: microchip: add missing spi-{cpha,cpol}
> properties" as setting the correct SPI mode is the responsibility of the
> driver (suggested by Rob Herring).
> - Rename ethernet0_rgmii_pins_d pinctrl group to ethernet0_rgmii_pins_e
> as the former is already taken in stm32-next, as suggested by
> Alexandre Torgue.
>
> Leonard Göhrs (8):
> dt-bindings: vendor-prefixes: Add prefix for ShineWorld Innovations
> dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k
> compatible
> dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property
> dt-bindings: can: m_can: change from additional- to
> unevaluatedProperties
> dt-bindings: net: dsa: microchip: add interrupts property for ksz
> switches
> ARM: dts: stm32: Add pinmux groups for Linux Automation GmbH TAC
> dt-bindings: arm: stm32: Add compatible string for Linux Automation
> LXA TAC
> ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC
>
> .../devicetree/bindings/arm/stm32/stm32.yaml | 4 +-
> .../display/panel/panel-mipi-dbi-spi.yaml | 3 +
> .../bindings/net/can/bosch,m_can.yaml | 2 +-
> .../bindings/net/dsa/microchip,ksz.yaml | 3 +
> .../devicetree/bindings/vendor-prefixes.yaml | 2 +
> arch/arm/boot/dts/Makefile | 2 +
> arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 129 ++++
> .../arm/boot/dts/stm32mp157c-lxa-tac-gen1.dts | 93 +++
> .../arm/boot/dts/stm32mp157c-lxa-tac-gen2.dts | 172 +++++
> arch/arm/boot/dts/stm32mp15xc-lxa-tac.dtsi | 610 ++++++++++++++++++
> 10 files changed, 1018 insertions(+), 2 deletions(-)
> create mode 100644 arch/arm/boot/dts/stm32mp157c-lxa-tac-gen1.dts
> create mode 100644 arch/arm/boot/dts/stm32mp157c-lxa-tac-gen2.dts
> create mode 100644 arch/arm/boot/dts/stm32mp15xc-lxa-tac.dtsi
>
>
> base-commit: c9cb7e72e293141d0d6c1d74c26788d3a0605172
Patches 4 to 8 applied on stm32-next.
thanks
Alex
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2023-07-11 7:57 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-14 12:32 [PATCH v2 0/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add prefix for ShineWorld Innovations Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 2/8] dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k compatible Leonard Göhrs
2023-06-15 10:35 ` Noralf Trønnes
2023-06-15 20:20 ` Rob Herring
2023-06-14 12:32 ` [PATCH v2 3/8] dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property Leonard Göhrs
2023-06-15 10:35 ` Noralf Trønnes
2023-06-14 12:32 ` [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties Leonard Göhrs
2023-06-14 17:16 ` Conor Dooley
2023-06-14 18:40 ` Rob Herring
2023-06-15 6:54 ` Chandrasekar R
2023-06-14 12:32 ` [PATCH v2 5/8] dt-bindings: net: dsa: microchip: add interrupts property for ksz switches Leonard Göhrs
2023-06-14 17:17 ` Conor Dooley
2023-06-14 12:32 ` [PATCH v2 6/8] ARM: dts: stm32: Add pinmux groups for Linux Automation GmbH TAC Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 7/8] dt-bindings: arm: stm32: Add compatible string for Linux Automation LXA TAC Leonard Göhrs
2023-06-14 12:32 ` [PATCH v2 8/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Leonard Göhrs
2023-06-14 17:19 ` [PATCH v2 0/8] " Conor Dooley
2023-07-11 7:57 ` Alexandre TORGUE
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).