From nobody Mon Feb 9 09:00:47 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CBC1EEB64DB for ; Wed, 14 Jun 2023 12:33:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244596AbjFNMdX (ORCPT ); Wed, 14 Jun 2023 08:33:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244587AbjFNMdT (ORCPT ); Wed, 14 Jun 2023 08:33:19 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1A3701BDA for ; Wed, 14 Jun 2023 05:33:01 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9Pg7-00017F-Cr; Wed, 14 Jun 2023 14:32:47 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q9Pg5-007LpK-VW; Wed, 14 Jun 2023 14:32:45 +0200 Received: from lgo by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q9Pg5-00HUJN-5j; Wed, 14 Jun 2023 14:32:45 +0200 From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= To: Conor Dooley , Rob Herring , Alexandre TORGUE , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: kernel@pengutronix.de, =?UTF-8?q?Leonard=20G=C3=B6hrs?= , Conor Dooley , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/8] dt-bindings: vendor-prefixes: Add prefix for ShineWorld Innovations Date: Wed, 14 Jun 2023 14:32:15 +0200 Message-Id: <20230614123222.4167460-2-l.goehrs@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230614123222.4167460-1-l.goehrs@pengutronix.de> References: <20230614123222.4167460-1-l.goehrs@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: lgo@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add a vendor prefix for ShineWorld Innovations, a manufacturer of display panels https://www.swicn.com/. Signed-off-by: Leonard G=C3=B6hrs Acked-by: Conor Dooley --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Docum= entation/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,.*": --=20 2.39.2 From nobody Mon Feb 9 09:00:47 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9BC7CEB64D9 for ; Wed, 14 Jun 2023 12:33:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244615AbjFNMdZ (ORCPT ); Wed, 14 Jun 2023 08:33:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244601AbjFNMdW (ORCPT ); Wed, 14 Jun 2023 08:33:22 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7B862AC for ; Wed, 14 Jun 2023 05:33:05 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9Pg8-00017G-2F; Wed, 14 Jun 2023 14:32:48 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q9Pg6-007LpO-DZ; Wed, 14 Jun 2023 14:32:46 +0200 Received: from lgo by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q9Pg5-00HUJe-Iv; Wed, 14 Jun 2023 14:32:45 +0200 From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= To: Conor Dooley , Rob Herring , Alexandre TORGUE , Krzysztof Kozlowski , =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , Neil Armstrong , Sam Ravnborg , David Airlie , Daniel Vetter Cc: kernel@pengutronix.de, =?UTF-8?q?Leonard=20G=C3=B6hrs?= , Conor Dooley , Rob Herring , Krzysztof Kozlowski , Conor Dooley , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/8] dt-bindings: display: panel: mipi-dbi-spi: add shineworld lh133k compatible Date: Wed, 14 Jun 2023 14:32:16 +0200 Message-Id: <20230614123222.4167460-3-l.goehrs@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230614123222.4167460-1-l.goehrs@pengutronix.de> References: <20230614123222.4167460-1-l.goehrs@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: lgo@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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=C3=B6hrs Acked-by: Conor Dooley Reviewed-by: Noralf Tr=C3=B8nnes --- .../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.ya= ml +++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.ya= ml @@ -67,6 +67,7 @@ properties: items: - enum: - sainsmart18 + - shineworld,lh133k - const: panel-mipi-dbi-spi =20 write-only: --=20 2.39.2 From nobody Mon Feb 9 09:00:47 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8022EB64DC for ; Wed, 14 Jun 2023 12:33:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244621AbjFNMd2 (ORCPT ); Wed, 14 Jun 2023 08:33:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244608AbjFNMdX (ORCPT ); Wed, 14 Jun 2023 08:33:23 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7E1AA211D for ; Wed, 14 Jun 2023 05:33:05 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9Pg8-00017H-2H; Wed, 14 Jun 2023 14:32:48 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q9Pg6-007LpS-Qa; Wed, 14 Jun 2023 14:32:46 +0200 Received: from lgo by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q9Pg5-00HUJu-Vn; Wed, 14 Jun 2023 14:32:46 +0200 From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= To: Conor Dooley , Rob Herring , Alexandre TORGUE , Krzysztof Kozlowski , =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , Neil Armstrong , Sam Ravnborg , David Airlie , Daniel Vetter Cc: kernel@pengutronix.de, =?UTF-8?q?Leonard=20G=C3=B6hrs?= , Conor Dooley , Rob Herring , Krzysztof Kozlowski , Conor Dooley , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 3/8] dt-bindings: display: panel: mipi-dbi-spi: add spi-3wire property Date: Wed, 14 Jun 2023 14:32:17 +0200 Message-Id: <20230614123222.4167460-4-l.goehrs@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230614123222.4167460-1-l.goehrs@pengutronix.de> References: <20230614123222.4167460-1-l.goehrs@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: lgo@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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=C3=B6hrs Acked-by: Conor Dooley Reviewed-by: Rob Herring Reviewed-by: Noralf Tr=C3=B8nnes --- .../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.ya= ml +++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.ya= ml @@ -87,6 +87,8 @@ properties: Logic level supply for interface signals (Vddi). No need to set if this is the same as power-supply. =20 + spi-3wire: true + required: - compatible - reg --=20 2.39.2 From nobody Mon Feb 9 09:00:47 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5716EB64DB for ; Wed, 14 Jun 2023 12:34:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244707AbjFNMeG (ORCPT ); Wed, 14 Jun 2023 08:34:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39116 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244377AbjFNMdo (ORCPT ); Wed, 14 Jun 2023 08:33:44 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 129962698 for ; Wed, 14 Jun 2023 05:33:25 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9Pg9-00017X-S0; Wed, 14 Jun 2023 14:32:49 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q9Pg7-007LpW-60; Wed, 14 Jun 2023 14:32:47 +0200 Received: from lgo by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q9Pg6-00HUKF-CO; Wed, 14 Jun 2023 14:32:46 +0200 From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= 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@pengutronix.de, =?UTF-8?q?Leonard=20G=C3=B6hrs?= , Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-can@vger.kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 4/8] dt-bindings: can: m_can: change from additional- to unevaluatedProperties Date: Wed, 14 Jun 2023 14:32:18 +0200 Message-Id: <20230614123222.4167460-5-l.goehrs@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230614123222.4167460-1-l.goehrs@pengutronix.de> References: <20230614123222.4167460-1-l.goehrs@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: lgo@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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=C3=B6hrs Suggested-by: Rob Herring Acked-by: Rob Herring Reviewed-by: Chandrasekar Ramakrishnan Reviewed-by: Conor Dooley --- 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/D= ocumentation/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 =20 -additionalProperties: false +unevaluatedProperties: false =20 examples: - | --=20 2.39.2 From nobody Mon Feb 9 09:00:47 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A488EB64D9 for ; Wed, 14 Jun 2023 12:34:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244654AbjFNMeO (ORCPT ); Wed, 14 Jun 2023 08:34:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39334 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244673AbjFNMdz (ORCPT ); Wed, 14 Jun 2023 08:33:55 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D61026A2 for ; Wed, 14 Jun 2023 05:33:30 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9Pg9-00017o-6Y; Wed, 14 Jun 2023 14:32:49 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q9Pg7-007Lpc-Jg; Wed, 14 Jun 2023 14:32:47 +0200 Received: from lgo by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q9Pg6-00HUKh-QN; Wed, 14 Jun 2023 14:32:46 +0200 From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= To: Conor Dooley , Rob Herring , Alexandre TORGUE , Krzysztof Kozlowski , Woojung Huh , UNGLinuxDriver@microchip.com, Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Marek Vasut Cc: kernel@pengutronix.de, =?UTF-8?q?Leonard=20G=C3=B6hrs?= , Rob Herring , Krzysztof Kozlowski , Conor Dooley , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 5/8] dt-bindings: net: dsa: microchip: add interrupts property for ksz switches Date: Wed, 14 Jun 2023 14:32:19 +0200 Message-Id: <20230614123222.4167460-6-l.goehrs@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230614123222.4167460-1-l.goehrs@pengutronix.de> References: <20230614123222.4167460-1-l.goehrs@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: lgo@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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=C3=B6hrs Acked-by: Conor Dooley --- 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. =20 + interrupts: + maxItems: 1 + required: - compatible - reg --=20 2.39.2 From nobody Mon Feb 9 09:00:47 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9F53AEB64DA for ; Wed, 14 Jun 2023 12:33:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244636AbjFNMde (ORCPT ); Wed, 14 Jun 2023 08:33:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244606AbjFNMd0 (ORCPT ); Wed, 14 Jun 2023 08:33:26 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB5602125 for ; Wed, 14 Jun 2023 05:33:10 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9Pg9-00018L-46; Wed, 14 Jun 2023 14:32:49 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q9Pg8-007Lpi-B3; Wed, 14 Jun 2023 14:32:48 +0200 Received: from lgo by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q9Pg7-00HUL8-9L; Wed, 14 Jun 2023 14:32:47 +0200 From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= To: Conor Dooley , Rob Herring , Alexandre TORGUE , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Coquelin Cc: kernel@pengutronix.de, =?UTF-8?q?Leonard=20G=C3=B6hrs?= , devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 6/8] ARM: dts: stm32: Add pinmux groups for Linux Automation GmbH TAC Date: Wed, 14 Jun 2023 14:32:20 +0200 Message-Id: <20230614123222.4167460-7-l.goehrs@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230614123222.4167460-1-l.goehrs@pengutronix.de> References: <20230614123222.4167460-1-l.goehrs@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: lgo@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add pinmux groups required for the Linux Automation GmbH TAC. Signed-off-by: Leonard G=C3=B6hrs --- 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/s= tm32mp15-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 =20 &pinctrl { + adc1_ain_pins_a: adc1-ain-0 { + pins { + pinmux =3D , /* ADC1_INP2 */ + , /* ADC1_INP5 */ + , /* ADC1_INP9 */ + , /* ADC1_INP10 */ + , /* ADC1_INP13 */ + ; /* ADC1_INP15 */ + }; + }; + adc1_in6_pins_a: adc1-in6-0 { pins { pinmux =3D ; @@ -391,6 +402,46 @@ pins1 { }; }; =20 + ethernet0_rgmii_pins_e: rgmii-4 { + pins1 { + pinmux =3D , /* ETH_RGMII_GTX_CLK */ + , /* ETH_RGMII_TXD0 */ + , /* ETH_RGMII_TXD1 */ + , /* ETH_RGMII_TXD2 */ + , /* ETH_RGMII_TXD3 */ + ; /* ETH_RGMII_TX_CTL */ + bias-disable; + drive-push-pull; + slew-rate =3D <2>; + }; + pins2 { + pinmux =3D , /* ETH_RGMII_RXD0 */ + , /* ETH_RGMII_RXD1 */ + , /* ETH_RGMII_RXD2 */ + , /* ETH_RGMII_RXD3 */ + , /* ETH_RGMII_RX_CLK */ + ; /* ETH_RGMII_RX_CTL */ + bias-disable; + }; + }; + + ethernet0_rgmii_sleep_pins_e: rgmii-sleep-4 { + pins1 { + pinmux =3D , /* ETH_RGMII_GTX_CLK */ + , /* ETH_RGMII_TXD0 */ + , /* ETH_RGMII_TXD1 */ + , /* ETH_RGMII_TXD2 */ + , /* ETH_RGMII_TXD3 */ + , /* ETH_RGMII_TX_CTL */ + , /* ETH_RGMII_RXD0 */ + , /* ETH_RGMII_RXD1 */ + , /* ETH_RGMII_RXD2 */ + , /* ETH_RGMII_RXD3 */ + , /* ETH_RGMII_RX_CLK */ + ; /* ETH_RGMII_RX_CTL */ + }; + }; + ethernet0_rmii_pins_a: rmii-0 { pins1 { pinmux =3D , /* ETH1_RMII_TXD0 */ @@ -1154,6 +1205,20 @@ pins { }; }; =20 + pwm1_pins_c: pwm1-2 { + pins { + pinmux =3D ; /* TIM1_CH2 */ + drive-push-pull; + slew-rate =3D <0>; + }; + }; + + pwm1_sleep_pins_c: pwm1-sleep-2 { + pins { + pinmux =3D ; /* TIM1_CH2 */ + }; + }; + pwm2_pins_a: pwm2-0 { pins { pinmux =3D ; /* TIM2_CH4 */ @@ -1280,6 +1345,26 @@ pins { }; }; =20 + pwm8_pins_b: pwm8-1 { + pins { + pinmux =3D , /* TIM8_CH1 */ + , /* TIM8_CH2 */ + , /* TIM8_CH3 */ + ; /* TIM8_CH4 */ + drive-push-pull; + slew-rate =3D <0>; + }; + }; + + pwm8_sleep_pins_b: pwm8-sleep-1 { + pins { + pinmux =3D , /* TIM8_CH1 */ + , /* TIM8_CH2 */ + , /* TIM8_CH3 */ + ; /* TIM8_CH4 */ + }; + }; + pwm12_pins_a: pwm12-0 { pins { pinmux =3D ; /* TIM12_CH1 */ @@ -2074,6 +2159,20 @@ pins2 { }; }; =20 + spi2_pins_c: spi2-2 { + pins1 { + pinmux =3D , /* SPI2_SCK */ + ; /* SPI2_MOSI */ + bias-disable; + drive-push-pull; + }; + + pins2 { + pinmux =3D ; /* SPI2_MISO */ + bias-pull-down; + }; + }; + spi4_pins_a: spi4-0 { pins { pinmux =3D , /* SPI4_SCK */ @@ -2088,6 +2187,21 @@ pins2 { }; }; =20 + spi5_pins_a: spi5-0 { + pins1 { + pinmux =3D , /* SPI5_SCK */ + ; /* SPI5_MOSI */ + bias-disable; + drive-push-pull; + slew-rate =3D <1>; + }; + + pins2 { + pinmux =3D ; /* SPI5_MISO */ + bias-disable; + }; + }; + stusb1600_pins_a: stusb1600-0 { pins { pinmux =3D ; @@ -2578,6 +2692,21 @@ pins { }; }; =20 + usart3_pins_f: usart3-5 { + pins1 { + pinmux =3D , /* USART3_TX */ + ; /* USART3_RTS */ + bias-disable; + drive-push-pull; + slew-rate =3D <0>; + }; + pins2 { + pinmux =3D , /* USART3_RX */ + ; /* USART3_CTS_NSS */ + bias-disable; + }; + }; + usbotg_hs_pins_a: usbotg-hs-0 { pins { pinmux =3D ; /* OTG_ID */ --=20 2.39.2 From nobody Mon Feb 9 09:00:47 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 247F5EB64D9 for ; Wed, 14 Jun 2023 12:33:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244631AbjFNMdb (ORCPT ); Wed, 14 Jun 2023 08:33:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38620 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244610AbjFNMdZ (ORCPT ); Wed, 14 Jun 2023 08:33:25 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F60E2122 for ; Wed, 14 Jun 2023 05:33:10 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9Pg9-00018M-BH; Wed, 14 Jun 2023 14:32:49 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q9Pg8-007Lpl-Ju; Wed, 14 Jun 2023 14:32:48 +0200 Received: from lgo by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q9Pg7-00HULW-OK; Wed, 14 Jun 2023 14:32:47 +0200 From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= To: Conor Dooley , Rob Herring , Alexandre TORGUE , Krzysztof Kozlowski , Maxime Coquelin Cc: kernel@pengutronix.de, =?UTF-8?q?Leonard=20G=C3=B6hrs?= , Conor Dooley , Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 7/8] dt-bindings: arm: stm32: Add compatible string for Linux Automation LXA TAC Date: Wed, 14 Jun 2023 14:32:21 +0200 Message-Id: <20230614123222.4167460-8-l.goehrs@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230614123222.4167460-1-l.goehrs@pengutronix.de> References: <20230614123222.4167460-1-l.goehrs@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: lgo@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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=C3=B6hrs Acked-by: Conor Dooley --- 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/Docum= entation/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 (Generatio= n 1) + - lxa,stm32mp157c-tac-gen2 # Linux Automation TAC (Generatio= n 2) - const: oct,stm32mp15xx-osd32 - enum: - st,stm32mp157 --=20 2.39.2 From nobody Mon Feb 9 09:00:47 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B2C8EB64D9 for ; Wed, 14 Jun 2023 12:33:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244623AbjFNMdo (ORCPT ); Wed, 14 Jun 2023 08:33:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244630AbjFNMda (ORCPT ); Wed, 14 Jun 2023 08:33:30 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 501642680 for ; Wed, 14 Jun 2023 05:33:13 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9PgB-0001C0-6B; Wed, 14 Jun 2023 14:32:51 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q9Pg9-007Lps-Q5; Wed, 14 Jun 2023 14:32:49 +0200 Received: from lgo by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q9Pg8-00HUM0-RE; Wed, 14 Jun 2023 14:32:48 +0200 From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= To: Conor Dooley , Rob Herring , Alexandre TORGUE , Krzysztof Kozlowski , Arnd Bergmann , Olof Johansson , soc@kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Coquelin Cc: kernel@pengutronix.de, =?UTF-8?q?Leonard=20G=C3=B6hrs?= , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com Subject: [PATCH v2 8/8] ARM: dts: stm32: lxa-tac: add Linux Automation GmbH TAC Date: Wed, 14 Jun 2023 14:32:22 +0200 Message-Id: <20230614123222.4167460-9-l.goehrs@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230614123222.4167460-1-l.goehrs@pengutronix.de> References: <20230614123222.4167460-1-l.goehrs@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: lgo@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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=C3=B6hrs --- 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) +=3D \ 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) +=3D \ 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=C3=B6hrs, Pengutronix + */ + +/dts-v1/; + +#include "stm32mp157.dtsi" +#include "stm32mp15xc-lxa-tac.dtsi" + +/ { + model =3D "Linux Automation Test Automation Controller (TAC) Gen 1"; + compatible =3D "lxa,stm32mp157c-tac-gen1", "oct,stm32mp15xx-osd32", "st,s= tm32mp157"; + + backlight: backlight { + compatible =3D "pwm-backlight"; + power-supply =3D <&v3v3>; + + brightness-levels =3D <0 31 63 95 127 159 191 223 255>; + default-brightness-level =3D <7>; + pwms =3D <&backlight_pwm 1 1000000 0>; + }; + + reg_iobus_12v: regulator-iobus-12v { + compatible =3D "regulator-fixed"; + vin-supply =3D <®_12v>; + + gpio =3D <&gpioh 13 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-max-microvolt =3D <12000000>; + regulator-min-microvolt =3D <12000000>; + regulator-name =3D "12V_IOBUS"; + }; +}; + +&gpioa { + gpio-line-names =3D "", "", "STACK_CS2", "", "STACK_CS3", /* 0 */ + "ETH_GPIO1", "ETH_INT", "", "", "", /* 5 */ + "", "", "", "BOOTROM_LED", "ETH_LAB_LEDRP", /* 10 */ + ""; /* 15 */ +}; + +&gpioc { + gpio-line-names =3D "", "STACK_CS1", "", "", "", /* 0 */ + "", "", "", "", "", /* 5 */ + "", ""; /* 10 */ +}; + +&gpu { + status =3D "disabled"; +}; + +&i2c1 { + powerboard_gpio: gpio@24 { + compatible =3D "nxp,pca9570"; + reg =3D <0x24>; + + #gpio-cells =3D <2>; + gpio-controller; + gpio-line-names =3D "DUT_PWR_EN", "DUT_PWR_DISCH", "DUT_PWR_ADCRST", ""; + }; +}; + +&spi2 { + adc@0 { + compatible =3D "ti,lmp92064"; + reg =3D <0>; + spi-max-frequency =3D <5000000>; + vdd-supply =3D <®_pb_3v3>; + vdig-supply =3D <®_pb_3v3>; + reset-gpios =3D <&powerboard_gpio 2 GPIO_ACTIVE_HIGH>; + + shunt-resistor-micro-ohms =3D <15000>; + }; +}; + +&timers1 { + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + status =3D "okay"; + + backlight_pwm: pwm { + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&pwm1_pins_c>; + pinctrl-1 =3D <&pwm1_sleep_pins_c>; + + status =3D "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=C3=B6hrs, Pengutronix + */ + +/dts-v1/; + +#include "stm32mp157.dtsi" +#include "stm32mp15xc-lxa-tac.dtsi" + +/ { + model =3D "Linux Automation Test Automation Controller (TAC) Gen 2"; + compatible =3D "lxa,stm32mp157c-tac-gen2", "oct,stm32mp15xx-osd32", "st,s= tm32mp157"; + + backlight: backlight { + compatible =3D "pwm-backlight"; + power-supply =3D <&v3v3>; + + brightness-levels =3D <0 31 63 95 127 159 191 223 255>; + default-brightness-level =3D <7>; + pwms =3D <&led_pwm 3 1000000 0>; + }; + + reg_iobus_12v: regulator-iobus-12v { + compatible =3D "regulator-fixed"; + vin-supply =3D <®_12v>; + gpio =3D <&gpioh 13 GPIO_ACTIVE_LOW>; + regulator-max-microvolt =3D <12000000>; + regulator-min-microvolt =3D <12000000>; + regulator-name =3D "12V_IOBUS"; + }; + + led-controller-1 { + compatible =3D "pwm-leds-multicolor"; + + multi-led { + color =3D ; + function =3D LED_FUNCTION_STATUS; + max-brightness =3D <65535>; + + led-red { + active-low; + color =3D ; + pwms =3D <&led_pwm 0 1000000 0>; + }; + + led-green { + active-low; + color =3D ; + pwms =3D <&led_pwm 2 1000000 0>; + }; + + led-blue { + active-low; + color =3D ; + pwms =3D <&led_pwm 1 1000000 0>; + }; + }; + }; + + led-controller-2 { + compatible =3D "gpio-leds"; + + led-5 { + label =3D "tac:green:iobus"; + gpios =3D <&gpiog 1 GPIO_ACTIVE_HIGH>; + }; + + led-6 { + label =3D "tac:green:can"; + gpios =3D <&gpiof 3 GPIO_ACTIVE_HIGH>; + }; + + led-7 { + label =3D "tac:green:out0"; + gpios =3D <&gpiob 8 GPIO_ACTIVE_HIGH>; + }; + + led-8 { + label =3D "tac:green:out1"; + gpios =3D <&gpiog 3 GPIO_ACTIVE_HIGH>; + }; + + led-9 { + label =3D "tac:green:uarttx"; + gpios =3D <&gpiod 3 GPIO_ACTIVE_HIGH>; + }; + + led-10 { + label =3D "tac:green:uartrx"; + gpios =3D <&gpiof 6 GPIO_ACTIVE_HIGH>; + }; + + led-11 { + label =3D "tac:green:usbh1"; + gpios =3D <&gpioc 8 GPIO_ACTIVE_HIGH>; + }; + + led-12 { + label =3D "tac:green:usbh2"; + gpios =3D <&gpiod 6 GPIO_ACTIVE_HIGH>; + }; + + led-13 { + label =3D "tac:green:usbh3"; + gpios =3D <&gpiob 9 GPIO_ACTIVE_HIGH>; + }; + + led-14 { + label =3D "tac:green:usbg"; + gpios =3D <&gpiod 14 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "usb-gadget"; + }; + + led-15 { + label =3D "tac:green:dutpwr"; + gpios =3D <&gpioa 15 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&gpioa { + gpio-line-names =3D "", "", "DUT_PWR_EN", "", "STACK_CS3", /* 0 */ + "ETH_GPIO1", "ETH_INT", "", "", "", /* 5 */ + "", "", "", "BOOTROM_LED", "ETH_LAB_LEDRP", /* 10 */ + ""; /* 15 */ +}; + +&gpioc { + gpio-line-names =3D "", "DUT_PWR_DISCH", "", "", "", /* 0 */ + "", "", "", "", "", /* 5 */ + "", ""; /* 10 */ +}; + +&gpu { + status =3D "disabled"; +}; + +&m_can2 { + termination-gpios =3D <&gpioe 4 GPIO_ACTIVE_HIGH>; + termination-ohms =3D <120>; +}; + +&spi2 { + adc@0 { + compatible =3D "ti,lmp92064"; + reg =3D <0>; + + reset-gpios =3D <&gpioa 4 GPIO_ACTIVE_HIGH>; + shunt-resistor-micro-ohms =3D <15000>; + spi-max-frequency =3D <5000000>; + vdd-supply =3D <®_pb_3v3>; + vdig-supply =3D <®_pb_3v3>; + }; +}; + +&timers8 { + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + status =3D "okay"; + + led_pwm: pwm { + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&pwm8_pins_b>; + pinctrl-1 =3D <&pwm8_sleep_pins_b>; + status =3D "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=C3=B6hrs, Pengutronix + */ + +#include "stm32mp15xc.dtsi" +#include "stm32mp15xx-osd32.dtsi" +#include "stm32mp15xxac-pinctrl.dtsi" + +#include +#include +#include +#include + +/ { + aliases { + ethernet0 =3D ðernet0; + ethernet1 =3D &port_uplink; + ethernet2 =3D &port_dut; + mmc1 =3D &sdmmc2; + serial0 =3D &uart4; + serial1 =3D &usart3; + }; + + chosen { + stdout-path =3D &uart4; + }; + + led-controller-0 { + compatible =3D "gpio-leds"; + + led-0 { + label =3D "tac:green:user1"; + gpios =3D <&gpiof 10 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "heartbeat"; + }; + + led-1 { + label =3D "tac:green:user2"; + gpios =3D <&gpiog 7 GPIO_ACTIVE_HIGH>; + }; + + led-2 { + label =3D "tac:green:statusdut"; + gpios =3D <&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 =3D "tac:green:statuslab"; + gpios =3D <&gpioa 14 GPIO_ACTIVE_HIGH>; + }; + + led-4 { + label =3D "tac:orange:statuslab"; + gpios =3D <&gpiod 15 GPIO_ACTIVE_HIGH>; + }; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + + button-lower { + label =3D "USER_BTN2"; + linux,code =3D ; + gpios =3D <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + }; + + button-upper { + label =3D "USER_BTN"; + linux,code =3D ; + gpios =3D <&gpioi 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + }; + }; + + /* supplied by either barrel connector or PoE */ + reg_12v: regulator-12v { + compatible =3D "regulator-fixed"; + regulator-name =3D "12V"; + regulator-min-microvolt =3D <12000000>; + regulator-max-microvolt =3D <12000000>; + regulator-always-on; + }; + + reg_5v: regulator-5v { + compatible =3D "regulator-fixed"; + regulator-name =3D "5V"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + regulator-always-on; + vin-supply =3D <®_12v>; + }; + + reg_1v2: regulator-1v2 { + compatible =3D "regulator-fixed"; + regulator-name =3D "1V2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-always-on; + vin-supply =3D <®_5v>; + }; + + reg_pb_5v: regulator-pb-5v { + compatible =3D "regulator-fixed"; + regulator-name =3D "5V_POWERBOARD"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + regulator-always-on; + vin-supply =3D <®_5v>; + }; + + reg_pb_3v3: regulator-pb-3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "3V3_POWERBOARD"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; + vin-supply =3D <®_pb_5v>; + }; + + output-iobus-12v { + compatible =3D "regulator-output"; + vout-supply =3D <®_iobus_12v>; + }; + + output-vuart { + compatible =3D "regulator-output"; + vout-supply =3D <&v3v3_hdmi>; + }; +}; + +baseboard_eeprom: &sip_eeprom { +}; + +&adc { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&adc1_ain_pins_a>; + vdd-supply =3D <&vdd>; + vdda-supply =3D <&vdda>; + vref-supply =3D <&vrefbuf>; + status =3D "okay"; + + adc1: adc@0 { + st,adc-channels =3D <0 1 2 5 9 10 13 15>; + st,min-sample-time-nsecs =3D <5000>; + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + + channel@0 { + reg =3D <0>; + label =3D "HOST_2_CURR_FB"; + }; + + channel@1 { + reg =3D <1>; + label =3D "HOST_3_CURR_FB"; + }; + + channel@2 { + reg =3D <2>; + label =3D "OUT_0_FB"; + }; + + channel@5 { + reg =3D <5>; + label =3D "IOBUS_CURR_FB"; + }; + + channel@9 { + reg =3D <9>; + label =3D "IOBUS_VOLT_FB"; + }; + + channel@10 { + reg =3D <10>; + label =3D "OUT_1_FB"; + }; + + channel@13 { + reg =3D <13>; + label =3D "HOST_CURR_FB"; + }; + + channel@15 { + reg =3D <15>; + label =3D "HOST_1_CURR_FB"; + }; + }; + + adc2: adc@100 { + st,adc-channels =3D <12>; + st,min-sample-time-nsecs =3D <500000>; + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + + channel@12 { + reg =3D <12>; + label =3D "TEMP_INTERNAL"; + }; + }; +}; + +&crc1 { + status =3D "okay"; +}; + +&cryp1 { + status =3D "okay"; +}; + +&dts { + status =3D "okay"; +}; + +ðernet0 { + assigned-clocks =3D <&rcc ETHCK_K>, <&rcc PLL4_P>; + assigned-clock-parents =3D <&rcc PLL4_P>; + assigned-clock-rates =3D <125000000>; /* Clock PLL4 to 750Mhz in ATF */ + + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <ðernet0_rgmii_pins_e>; + pinctrl-1 =3D <ðernet0_rgmii_sleep_pins_e>; + + st,eth-clk-sel; + phy-mode =3D "rgmii-id"; + + status =3D "okay"; + + fixed-link { + speed =3D <1000>; + full-duplex; + }; +}; + +ðernet0_rgmii_pins_e { + pins1 { + /* Reduce EMI emission by reducing RGMII drive strength */ + slew-rate =3D <1>; + }; +}; + +&gpiob { + gpio-line-names =3D "", "", "", "", "", /* 0 */ + "", "USB_RESET", "", "", "", /* 5 */ + "", "", "", "", "", /* 10 */ + ""; /* 15 */ +}; + +&gpiod { + gpio-line-names =3D "", "", "", "", "TP38", /* 0 */ + "TP39", "", "", "TP41", "TP42", /* 5 */ + "OLED_DC", "", "", "ETH_CS", "", /* 10 */ + "ETH_LAB_LEDRN"; /* 15 */ +}; + +&gpioe { + gpio-line-names =3D "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 =3D "TP36", "TP37", "", "", "OLED_CS", /* 0 */ + "", "", "", "", "", /* 5 */ + "USER_LED1", "", "STACK_CS0", "", "", /* 10 */ + ""; /* 15 */ +}; + +&gpiog { + gpio-line-names =3D "ETH_RESET", "", "", "", "", /* 0 */ + "IOBUS_FLT_FB", "", "USER_LED2", "ETH1_PPS_A", "CAN_0_120R", /* 5 */ + "TP49", "", "", "", "", /* 10 */ + ""; /* 15 */ +}; + +&gpioh { + gpio-line-names =3D "", "", "OUT_1", "OUT_0", "OLED_RESET", /* 0 */ + "", "", "", "", "", /* 5 */ + "ETH1_PPS_B", "ETH_GPIO2", "", "IOBUS_PWR_EN", "", /* 10 */ + "TP33"; /* 15 */ +}; + +&gpioi { + gpio-line-names =3D "TIM_RTS", "", "", "", "DEVICE_DATA_EN", /* 0 */ + "", "", "", "ETH_WOL", "TP43", /* 5 */ + "", "USER_BTN"; /* 10 */ +}; + +&gpioz { + gpio-line-names =3D "HWID0", "HWID1", "HWID2", "HWID3", "", /* 0 */ + "", "HWID4", "HWID5"; /* 5 */ +}; + +&hash1 { + status =3D "okay"; +}; + +&i2c1 { + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&i2c1_pins_b>; + pinctrl-1 =3D <&i2c1_sleep_pins_b>; + status =3D "okay"; + + powerboard_eeprom: eeprom@50 { + compatible =3D "atmel,24c02"; + reg =3D <0x50>; + vcc-supply =3D <&v3v3>; + }; + + temperature-sensor@48 { + compatible =3D "national,lm75a"; + reg =3D <0x48>; + status =3D "disabled"; + }; +}; + +&i2c5 { + /delete-property/dmas; + /delete-property/dma-names; + + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&i2c5_pins_b>; + pinctrl-1 =3D <&i2c5_sleep_pins_b>; + + status =3D "okay"; + + usbhub: usbhub@2c { + compatible =3D"microchip,usb2514b"; + reg =3D <0x2c>; + vdd-supply =3D <&v3v3>; + reset-gpios =3D <&gpiob 6 GPIO_ACTIVE_LOW>; + }; +}; + +&iwdg2 { + timeout-sec =3D <8>; + status =3D "okay"; +}; + +&m_can1 { + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&m_can1_pins_b>; + pinctrl-1 =3D <&m_can1_sleep_pins_b>; + status =3D "okay"; +}; + +&m_can2 { + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&m_can2_pins_a>; + pinctrl-1 =3D <&m_can2_sleep_pins_a>; + status =3D "okay"; +}; + +&pmic { + regulators { + buck1-supply =3D <®_5v>; /* VIN */ + buck2-supply =3D <®_5v>; /* VIN */ + buck3-supply =3D <®_5v>; /* VIN */ + buck4-supply =3D <®_5v>; /* VIN */ + ldo2-supply =3D <®_5v>; /* PMIC_LDO25IN */ + ldo4-supply =3D <®_5v>; /* VIN */ + ldo5-supply =3D <®_5v>; /* PMIC_LDO25IN */ + vref_ddr-supply =3D <®_5v>; /* VIN */ + boost-supply =3D <®_5v>; /* PMIC_BSTIN */ + pwr_sw2-supply =3D <&bst_out>; /* PMIC_SWIN */ + }; +}; + +&pwr_regulators { + vdd-supply =3D <&vdd>; + vdd_3v3_usbfs-supply =3D <&vdd_usb>; +}; + +&rtc { + status =3D "okay"; +}; + +&sdmmc2 { + pinctrl-names =3D "default", "opendrain", "sleep"; + pinctrl-0 =3D <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>; + pinctrl-1 =3D <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>; + pinctrl-2 =3D <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>; + vmmc-supply =3D <&v3v3>; + + bus-width =3D <8>; + mmc-ddr-3_3v; + no-1-8-v; + non-removable; + no-sd; + no-sdio; + st,neg-edge; + + status =3D "okay"; +}; + +&spi2 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&spi2_pins_c>; + cs-gpios =3D <&gpiof 12 GPIO_ACTIVE_LOW>; + status =3D "okay"; +}; + +&spi4 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&spi4_pins_a>; + cs-gpios =3D <&gpiof 4 GPIO_ACTIVE_LOW>; + status =3D "okay"; + + lcd: display@0 { + compatible =3D "shineworld,lh133k", "panel-mipi-dbi-spi"; + reg =3D <0>; + power-supply =3D <&v3v3>; + io-supply =3D <&v3v3>; + backlight =3D <&backlight>; + dc-gpios =3D <&gpiod 10 GPIO_ACTIVE_HIGH>; + reset-gpios =3D <&gpioh 4 GPIO_ACTIVE_HIGH>; + spi-3wire; + spi-max-frequency =3D <32000000>; + + width-mm =3D <23>; + height-mm =3D <23>; + rotation =3D <180>; + + panel-timing { + hactive =3D <240>; + vactive =3D <240>; + hback-porch =3D <0>; + vback-porch =3D <0>; + + clock-frequency =3D <0>; + hfront-porch =3D <0>; + hsync-len =3D <0>; + vfront-porch =3D <0>; + vsync-len =3D <0>; + }; + }; +}; + +&spi5 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&spi5_pins_a>; + + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + cs-gpios =3D <&gpiod 13 GPIO_ACTIVE_LOW>; + + status =3D "okay"; + + switch: switch@0 { + compatible =3D "microchip,ksz9563"; + reg =3D <0>; + + reset-gpios =3D <&gpiog 0 GPIO_ACTIVE_LOW>; + spi-max-frequency =3D <44000000>; + + interrupt-parent =3D <&gpioa>; + interrupts =3D <6 IRQ_TYPE_EDGE_RISING>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + port_dut: port@0 { + reg =3D <0>; + label =3D "dut"; + }; + + port_uplink: port@1 { + reg =3D <1>; + label =3D "uplink"; + }; + + port_cpu: port@2 { + reg =3D <2>; + label =3D "cpu"; + + ethernet =3D <ðernet0>; + + phy-mode =3D "rgmii-id"; + rx-internal-delay-ps =3D <2000>; + tx-internal-delay-ps =3D <2000>; + + fixed-link { + speed =3D <1000>; + full-duplex; + }; + }; + }; + }; +}; + +&timers2 { + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + status =3D "okay"; + + timer@1 { + status =3D "okay"; + }; +}; + +&timers3 { + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + status =3D "okay"; + + timer@2 { + status =3D "okay"; + }; +}; + +&timers4 { + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + status =3D "okay"; + + timer@3 { + status =3D "okay"; + }; +}; + +&uart4 { + label =3D "debug"; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&uart4_pins_a>; + + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + status =3D "okay"; +}; + +&usart3 { + label =3D "dut"; + uart-has-rtscts; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&usart3_pins_f>; + + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + + status =3D "okay"; +}; + +&usbh_ehci { + phys =3D <&usbphyc_port0>; + phy-names =3D "usb"; + + status =3D "okay"; +}; + +&usbotg_hs { + phys =3D <&usbphyc_port1 0>; + phy-names =3D "usb2-phy"; + + vusb_d-supply =3D <&vdd_usb>; + vusb_a-supply =3D <®18>; + + dr_mode =3D "peripheral"; + + status =3D "okay"; +}; + +&usbphyc { + status =3D "okay"; +}; + +&usbphyc_port0 { + phy-supply =3D <&vdd_usb>; +}; + +&usbphyc_port1 { + phy-supply =3D <&vdd_usb>; +}; + +&v3v3_hdmi { + /delete-property/regulator-always-on; +}; + +&vrefbuf { + regulator-min-microvolt =3D <2500000>; + regulator-max-microvolt =3D <2500000>; + vdda-supply =3D <&vdda>; + + status =3D "okay"; +}; --=20 2.39.2