From nobody Wed Dec 17 17:31:13 2025 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 CE5EDC5AD4C for ; Thu, 23 Nov 2023 11:28:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345064AbjKWL2e (ORCPT ); Thu, 23 Nov 2023 06:28:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345029AbjKWL2a (ORCPT ); Thu, 23 Nov 2023 06:28:30 -0500 Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2FB7519D; Thu, 23 Nov 2023 03:28:37 -0800 (PST) Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id 6B44E206FC; Thu, 23 Nov 2023 12:28:35 +0100 (CET) From: Francesco Dolcini To: Nishanth Menon , Vignesh Raghavendra , Tero Kristo , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Joao Paulo Goncalves , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Francesco Dolcini Subject: [PATCH v1 1/3] arm64: dts: ti: verdin-am62: improve spi1 chip-select pinctrl Date: Thu, 23 Nov 2023 12:28:24 +0100 Message-Id: <20231123112826.16549-2-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231123112826.16549-1-francesco@dolcini.it> References: <20231123112826.16549-1-francesco@dolcini.it> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Joao Paulo Goncalves Verdin SPI_1 interface has a dedicated hardware controlled chip select that is currently configured in the same pinctrl group as MISO/MOSI/CLK, however it is possible that it can be used only as a standard GPIO be it a chip select or not. To maximize flexibility and avoid duplication in the carrier board dts files move the SPI_1 CS in a dedicated pinctrl and also adds an additional pinctrl to simplify using SPI_1 CS as a GPIO. Signed-off-by: Joao Paulo Goncalves Signed-off-by: Francesco Dolcini --- arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi b/arch/arm64/boot/d= ts/ti/k3-am62-verdin.dtsi index 5db52f237253..6a06724b6d16 100644 --- a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi @@ -233,6 +233,13 @@ AM62X_IOPAD(0x0018, PIN_INPUT, 7) /* (F24) OSPI0_D3.GP= IO0_6 */ /* SODIMM 62 */ >; }; =20 + /* Verdin SPI_1 CS as GPIO */ + pinctrl_qspi1_io4_gpio: main-gpio0-7-default-pins { + pinctrl-single,pins =3D < + AM62X_IOPAD(0x001c, PIN_INPUT, 7) /* (J23) OSPI0_D4.GPIO0_7 */ /* SODIM= M 202 */ + >; + }; + /* Verdin QSPI_1_CS# as GPIO (conflict with Verdin QSPI_1 interface) */ pinctrl_qspi1_cs_gpio: main-gpio0-11-default-pins { pinctrl-single,pins =3D < @@ -599,12 +606,18 @@ AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX= _CTL */ /* SODIMM 211 */ pinctrl_spi1: main-spi1-default-pins { pinctrl-single,pins =3D < AM62X_IOPAD(0x0020, PIN_INPUT, 1) /* (J25) OSPI0_D5.SPI1_CLK */ /* SODI= MM 196 */ - AM62X_IOPAD(0x001c, PIN_INPUT, 1) /* (J23) OSPI0_D4.SPI1_CS0 */ /* SODI= MM 202 */ AM62X_IOPAD(0x0024, PIN_INPUT, 1) /* (H25) OSPI0_D6.SPI1_D0 */ /* SODI= MM 200 */ AM62X_IOPAD(0x0028, PIN_INPUT, 1) /* (J22) OSPI0_D7.SPI1_D1 */ /* SODI= MM 198 */ >; }; =20 + /* Verdin SPI_1 CS */ + pinctrl_spi1_cs0: main-spi1-cs0-default-pins { + pinctrl-single,pins =3D < + AM62X_IOPAD(0x001c, PIN_INPUT, 1) /* (J23) OSPI0_D4.SPI1_CS0 */ /* SODI= MM 202 */ + >; + }; + /* ETH_25MHz_CLK */ pinctrl_eth_clock: main-system-clkout0-default-pins { pinctrl-single,pins =3D < @@ -1278,7 +1291,7 @@ &main_mcan0 { /* Verdin SPI_1 */ &main_spi1 { pinctrl-names =3D "default"; - pinctrl-0 =3D <&pinctrl_spi1>; + pinctrl-0 =3D <&pinctrl_spi1>, <&pinctrl_spi1_cs0>; ti,pindir-d0-out-d1-in; status =3D "disabled"; }; --=20 2.25.1 From nobody Wed Dec 17 17:31:13 2025 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 00359C5AD4C for ; Thu, 23 Nov 2023 11:28:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345076AbjKWL2h (ORCPT ); Thu, 23 Nov 2023 06:28:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345035AbjKWL2b (ORCPT ); Thu, 23 Nov 2023 06:28:31 -0500 Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C2ED31BD; Thu, 23 Nov 2023 03:28:37 -0800 (PST) Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id E2B652070A; Thu, 23 Nov 2023 12:28:35 +0100 (CET) From: Francesco Dolcini To: Nishanth Menon , Vignesh Raghavendra , Tero Kristo , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Joao Paulo Goncalves , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Francesco Dolcini Subject: [PATCH v1 2/3] dt-bindings: arm: ti: add verdin am62 mallow board Date: Thu, 23 Nov 2023 12:28:25 +0100 Message-Id: <20231123112826.16549-3-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231123112826.16549-1-francesco@dolcini.it> References: <20231123112826.16549-1-francesco@dolcini.it> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Joao Paulo Goncalves Add Mallow carrier board for wifi and nonwifi variants of Toradex Verdin AM62 SoM. Mallow is a low-cost carrier board in the Verdin family with a small form factor and build for volume production making it ideal for industrial and embedded applications. https://www.toradex.com/products/carrier-board/mallow-carrier-board Signed-off-by: Joao Paulo Goncalves Signed-off-by: Francesco Dolcini Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/arm/ti/k3.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentati= on/devicetree/bindings/arm/ti/k3.yaml index 03d2a0d79fb0..c6506bccfe88 100644 --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml @@ -50,6 +50,7 @@ properties: - enum: - toradex,verdin-am62-nonwifi-dahlia # Verdin AM62 Module on= Dahlia - toradex,verdin-am62-nonwifi-dev # Verdin AM62 Module on= Verdin Development Board + - toradex,verdin-am62-nonwifi-mallow # Verdin AM62 Module on= Mallow - toradex,verdin-am62-nonwifi-yavia # Verdin AM62 Module on= Yavia - const: toradex,verdin-am62-nonwifi # Verdin AM62 Module wi= thout Wi-Fi / BT - const: toradex,verdin-am62 # Verdin AM62 Module @@ -60,6 +61,7 @@ properties: - enum: - toradex,verdin-am62-wifi-dahlia # Verdin AM62 Wi-Fi / BT M= odule on Dahlia - toradex,verdin-am62-wifi-dev # Verdin AM62 Wi-Fi / BT M= . on Verdin Development B. + - toradex,verdin-am62-wifi-mallow # Verdin AM62 Wi-Fi / BT M= odule on Mallow - toradex,verdin-am62-wifi-yavia # Verdin AM62 Wi-Fi / BT M= odule on Yavia - const: toradex,verdin-am62-wifi # Verdin AM62 Wi-Fi / BT M= odule - const: toradex,verdin-am62 # Verdin AM62 Module --=20 2.25.1 From nobody Wed Dec 17 17:31:13 2025 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 BEA14C5AD4C for ; Thu, 23 Nov 2023 11:28:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345083AbjKWL2k (ORCPT ); Thu, 23 Nov 2023 06:28:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47664 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345055AbjKWL2c (ORCPT ); Thu, 23 Nov 2023 06:28:32 -0500 Received: from mail11.truemail.it (mail11.truemail.it [IPv6:2001:4b7e:0:8::81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4CEF61BF; Thu, 23 Nov 2023 03:28:38 -0800 (PST) Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id 695DB201F4; Thu, 23 Nov 2023 12:28:36 +0100 (CET) From: Francesco Dolcini To: Nishanth Menon , Vignesh Raghavendra , Tero Kristo , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Joao Paulo Goncalves , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Francesco Dolcini Subject: [PATCH v1 3/3] arm64: dts: ti: add verdin am62 mallow board Date: Thu, 23 Nov 2023 12:28:26 +0100 Message-Id: <20231123112826.16549-4-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231123112826.16549-1-francesco@dolcini.it> References: <20231123112826.16549-1-francesco@dolcini.it> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Joao Paulo Goncalves Add Toradex Verdin AM62 Mallow carrier board support. Mallow is a low-cost carrier board in the Verdin family with a small form factor and build for volume production making it ideal for industrial and embedded applications. https://www.toradex.com/products/carrier-board/mallow-carrier-board Signed-off-by: Joao Paulo Goncalves Signed-off-by: Francesco Dolcini --- arch/arm64/boot/dts/ti/Makefile | 2 + .../boot/dts/ti/k3-am62-verdin-mallow.dtsi | 198 ++++++++++++++++++ .../dts/ti/k3-am625-verdin-nonwifi-mallow.dts | 22 ++ .../dts/ti/k3-am625-verdin-wifi-mallow.dts | 22 ++ 4 files changed, 244 insertions(+) create mode 100644 arch/arm64/boot/dts/ti/k3-am62-verdin-mallow.dtsi create mode 100644 arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.d= ts create mode 100644 arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dts diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makef= ile index 77a347f9f47d..92ebf001a217 100644 --- a/arch/arm64/boot/dts/ti/Makefile +++ b/arch/arm64/boot/dts/ti/Makefile @@ -16,9 +16,11 @@ dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-phyboard-lyra-rdk.dtb dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-sk.dtb dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-verdin-nonwifi-dahlia.dtb dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-verdin-nonwifi-dev.dtb +dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-verdin-nonwifi-mallow.dtb dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-verdin-nonwifi-yavia.dtb dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-verdin-wifi-dahlia.dtb dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-verdin-wifi-dev.dtb +dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-verdin-wifi-mallow.dtb dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-verdin-wifi-yavia.dtb dtb-$(CONFIG_ARCH_K3) +=3D k3-am62-lp-sk.dtb dtb-$(CONFIG_ARCH_K3) +=3D k3-am625-sk-hdmi-audio.dtb diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin-mallow.dtsi b/arch/arm64= /boot/dts/ti/k3-am62-verdin-mallow.dtsi new file mode 100644 index 000000000000..5e5c683c439f --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin-mallow.dtsi @@ -0,0 +1,198 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2023 Toradex + * + * Common dtsi for Verdin AM62 SoM on Mallow carrier board + * + * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62 + * https://www.toradex.com/products/carrier-board/mallow-carrier-board + */ + +#include + +/ { + leds { + compatible =3D "gpio-leds"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_qspi1_clk_gpio>, + <&pinctrl_qspi1_cs_gpio>, + <&pinctrl_qspi1_io0_gpio>, + <&pinctrl_qspi1_io1_gpio>; + + /* SODIMM 52 - USER_LED_1_RED */ + led-0 { + color =3D ; + function =3D LED_FUNCTION_DEBUG; + function-enumerator =3D <1>; + gpios =3D <&main_gpio0 0 GPIO_ACTIVE_HIGH>; + }; + + /* SODIMM 54 - USER_LED_1_GREEN */ + led-1 { + color =3D ; + function =3D LED_FUNCTION_DEBUG; + function-enumerator =3D <1>; + gpios =3D <&main_gpio0 11 GPIO_ACTIVE_HIGH>; + }; + + /* SODIMM 56 - USER_LED_2_RED */ + led-2 { + color =3D ; + function =3D LED_FUNCTION_DEBUG; + function-enumerator =3D <2>; + gpios =3D <&main_gpio0 3 GPIO_ACTIVE_HIGH>; + }; + + /* SODIMM 58 - USER_LED_2_GREEN */ + led-3 { + color =3D ; + function =3D LED_FUNCTION_DEBUG; + function-enumerator =3D <2>; + gpios =3D <&main_gpio0 4 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +/* Verdin ETH */ +&cpsw3g { + status =3D "okay"; +}; + +/* Verdin MDIO */ +&cpsw3g_mdio { + status =3D "okay"; +}; + +/* Verdin ETH_1*/ +&cpsw_port1 { + status =3D "okay"; +}; + +/* Verdin PWM_1 and PWM_2*/ +&epwm0 { + status =3D "okay"; +}; + +/* Verdin PWM_3 DSI */ +&epwm1 { + status =3D "okay"; +}; + +&main_gpio0 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_ctrl_sleep_moci>, + <&pinctrl_gpio_1>, + <&pinctrl_gpio_2>, + <&pinctrl_gpio_3>, + <&pinctrl_gpio_4>; +}; + +/* Verdin I2C_1 */ +&main_i2c1 { + status =3D "okay"; + + /* Temperature sensor */ + sensor@4f { + compatible =3D "ti,tmp75c"; + reg =3D <0x4f>; + }; + + /* EEPROM */ + eeprom@57 { + compatible =3D "st,24c02", "atmel,24c02"; + reg =3D <0x57>; + pagesize =3D <16>; + }; +}; + +/* Verdin I2C_2 DSI */ +&main_i2c2 { + status =3D "okay"; +}; + +/* Verdin I2C_4 CSI */ +&main_i2c3 { + status =3D "okay"; +}; + +/* Verdin CAN_1 */ +&main_mcan0 { + status =3D "okay"; +}; + +/* Verdin SPI_1 */ +&main_spi1 { + pinctrl-0 =3D <&pinctrl_spi1>, + <&pinctrl_spi1_cs0>, + <&pinctrl_qspi1_cs2_gpio>; + cs-gpios =3D <0>, <&main_gpio0 12 GPIO_ACTIVE_LOW>; + status =3D "okay"; + + tpm@1 { + compatible =3D "infineon,slb9670", "tcg,tpm_tis-spi"; + reg =3D <1>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_qspi1_dqs_gpio>; + interrupt-parent =3D <&main_gpio1>; + interrupts =3D <18 IRQ_TYPE_EDGE_FALLING>; + spi-max-frequency =3D <18500000>; + }; +}; + +/* Verdin UART_3 */ +&main_uart0 { + status =3D "okay"; +}; + +/* Verdin UART_1 */ +&main_uart1 { + status =3D "okay"; +}; + +/* Verdin I2C_3_HDMI */ +&mcu_i2c0 { + status =3D "okay"; +}; + +/* Verdin CAN_2 */ +&mcu_mcan0 { + status =3D "okay"; +}; + +/* Verdin UART_4 */ +&mcu_uart0 { + status =3D "okay"; +}; + +/* Verdin SD_1 */ +&sdhci1 { + status =3D "okay"; +}; + +/* Verdin USB_1 */ +&usbss0 { + status =3D "okay"; +}; + +&usb0 { + status =3D "okay"; +}; + +/* Verdin USB_2 */ +&usbss1 { + status =3D "okay"; +}; + +&usb1 { + status =3D "okay"; +}; + +/* Verdin CTRL_WAKE1_MICO# */ +&verdin_gpio_keys { + status =3D "okay"; +}; + +/* Verdin UART_2 */ +&wkup_uart0 { + status =3D "okay"; +}; diff --git a/arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dts b/ar= ch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dts new file mode 100644 index 000000000000..9cae12106e0e --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2023 Toradex + * + * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62 + * https://www.toradex.com/products/carrier-board/mallow-carrier-board + */ + +/dts-v1/; + +#include "k3-am625.dtsi" +#include "k3-am62-verdin.dtsi" +#include "k3-am62-verdin-nonwifi.dtsi" +#include "k3-am62-verdin-mallow.dtsi" + +/ { + model =3D "Toradex Verdin AM62 on Mallow Board"; + compatible =3D "toradex,verdin-am62-nonwifi-mallow", + "toradex,verdin-am62-nonwifi", + "toradex,verdin-am62", + "ti,am625"; +}; diff --git a/arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dts b/arch/= arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dts new file mode 100644 index 000000000000..81d834b22649 --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2023 Toradex + * + * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62 + * https://www.toradex.com/products/carrier-board/mallow-carrier-board + */ + +/dts-v1/; + +#include "k3-am625.dtsi" +#include "k3-am62-verdin.dtsi" +#include "k3-am62-verdin-wifi.dtsi" +#include "k3-am62-verdin-mallow.dtsi" + +/ { + model =3D "Toradex Verdin AM62 WB on Mallow Board"; + compatible =3D "toradex,verdin-am62-wifi-mallow", + "toradex,verdin-am62-wifi", + "toradex,verdin-am62", + "ti,am625"; +}; --=20 2.25.1