[PATCH] arm64: dts: ti: am64-phyboard-electra: Add DT overlay for X27 connector

Daniel Schultz posted 1 patch 3 days, 1 hour ago
There is a newer version of this series
arch/arm64/boot/dts/ti/Makefile               |  3 +
...phyboard-electra-x27-gpio1-spi1-uart3.dtso | 69 +++++++++++++++++++
2 files changed, 72 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-x27-gpio1-spi1-uart3.dtso
[PATCH] arm64: dts: ti: am64-phyboard-electra: Add DT overlay for X27 connector
Posted by Daniel Schultz 3 days, 1 hour ago
Add a device tree overlay for SPI1 (spidev), UART3 and GPIO1 on
X27 connector.

By default, not all interfaces on the X27 connector are accessible
due to being disabled or set to alternative pin mux configurations.
This overlay activates and configures these interfaces to support
connections with external devices.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
---
 arch/arm64/boot/dts/ti/Makefile               |  3 +
 ...phyboard-electra-x27-gpio1-spi1-uart3.dtso | 69 +++++++++++++++++++
 2 files changed, 72 insertions(+)
 create mode 100644 arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-x27-gpio1-spi1-uart3.dtso

diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index f71360f14f23..a05c9c5612fc 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -58,6 +58,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-gpio-fan.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-pcie-usb2.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-x27-gpio1-spi1-uart3.dtbo
 dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
@@ -186,6 +187,8 @@ k3-am642-phyboard-electra-gpio-fan-dtbs := \
 	k3-am642-phyboard-electra-rdk.dtb k3-am642-phyboard-electra-gpio-fan.dtbo
 k3-am642-phyboard-electra-pcie-usb2-dtbs := \
 	k3-am642-phyboard-electra-rdk.dtb k3-am642-phyboard-electra-pcie-usb2.dtbo
+k3-am642-phyboard-electra-x27-gpio1-spi1-uart3-dtbs := \
+	k3-am642-phyboard-electra-rdk.dtb k3-am642-phyboard-electra-x27-gpio1-spi1-uart3.dtbo
 k3-am642-tqma64xxl-mbax4xxl-sdcard-dtbs := \
 	k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
 k3-am642-tqma64xxl-mbax4xxl-wlan-dtbs := \
diff --git a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-x27-gpio1-spi1-uart3.dtso b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-x27-gpio1-spi1-uart3.dtso
new file mode 100644
index 000000000000..b80d8b6a4fc4
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-x27-gpio1-spi1-uart3.dtso
@@ -0,0 +1,69 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (C) 2025 PHYTEC Messtechnik GmbH
+ * Authors:
+ *   Wadim Egorov <w.egorov@phytec.de>
+ *   Daniel Schultz <d.schultz@phytec.de>
+ *
+ * GPIO, SPI and UART examples for the X27 expansion connector.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "k3-pinctrl.h"
+
+&{/} {
+	aliases {
+		serial5 = "/bus@f4000/serial@2830000";
+	};
+};
+
+&main_pmx0 {
+	main_gpio1_exp_header_gpio_pins_default: main-gpio1-exp-header-gpio-pins-default {
+		pinctrl-single,pins = <
+			AM64X_IOPAD(0x0220, PIN_INPUT, 7)	/* (D14) SPI1_CS1.GPIO1_48 */
+		>;
+	};
+
+	main_spi1_pins_default: main-spi1-pins-default {
+		pinctrl-single,pins = <
+			AM64X_IOPAD(0x0224, PIN_INPUT, 0)	/* (C14) SPI1_CLK */
+			AM64X_IOPAD(0x021C, PIN_OUTPUT, 0)	/* (B14) SPI1_CS0 */
+			AM64X_IOPAD(0x0228, PIN_OUTPUT, 0)	/* (B15) SPI1_D0 */
+			AM64X_IOPAD(0x022C, PIN_INPUT, 0)	/* (A15) SPI1_D1 */
+		>;
+	};
+
+	main_uart3_pins_default: main-uart3-pins-default {
+		pinctrl-single,pins = <
+			AM64X_IOPAD(0x0048, PIN_INPUT, 2)       /* (U20) GPMC0_AD3.UART3_RXD */
+			AM64X_IOPAD(0x004c, PIN_OUTPUT, 2)      /* (U18) GPMC0_AD4.UART3_TXD */
+		>;
+	};
+};
+
+&main_gpio1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_gpio1_exp_header_gpio_pins_default>;
+	status = "okay";
+};
+
+&main_spi1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_spi1_pins_default>;
+	ti,pindir-d0-out-d1-in = <1>;
+	status = "okay";
+
+	spidev@0 {
+		compatible = "rohm,dh2228fv";
+		reg = <0>;
+		spi-max-frequency = <24000000>;
+	};
+};
+
+&main_uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_uart3_pins_default>;
+	status = "okay";
+};
-- 
2.25.1
Re: [PATCH] arm64: dts: ti: am64-phyboard-electra: Add DT overlay for X27 connector
Posted by Krzysztof Kozlowski 2 days, 14 hours ago
On 27/01/2025 07:57, Daniel Schultz wrote:
> +&main_spi1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&main_spi1_pins_default>;
> +	ti,pindir-d0-out-d1-in = <1>;
> +	status = "okay";
> +
> +	spidev@0 {


Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation


> +		compatible = "rohm,dh2228fv";


That's not the device you have there. You cannot use other compatibles.


Best regards,
Krzysztof
Re: [PATCH] arm64: dts: ti: am64-phyboard-electra: Add DT overlay for X27 connector
Posted by Daniel Schultz 1 day, 23 hours ago
Hi,

On 27.01.25 18:24, Krzysztof Kozlowski wrote:
> On 27/01/2025 07:57, Daniel Schultz wrote:
>> +&main_spi1 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&main_spi1_pins_default>;
>> +	ti,pindir-d0-out-d1-in = <1>;
>> +	status = "okay";
>> +
>> +	spidev@0 {
>
> Node names should be generic. See also an explanation and list of
> examples (not exhaustive) in DT specification:
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>
>
>> +		compatible = "rohm,dh2228fv";
>
> That's not the device you have there. You cannot use other compatibles.

I will remove that device for now and see if I can find a supported 
device on Sparkfun or similar, which I can add later.

- Daniel

>
>
> Best regards,
> Krzysztof
Re: [PATCH] arm64: dts: ti: am64-phyboard-electra: Add DT overlay for X27 connector
Posted by Krzysztof Kozlowski 1 day, 23 hours ago
On 28/01/2025 09:43, Daniel Schultz wrote:
> Hi,
> 
> On 27.01.25 18:24, Krzysztof Kozlowski wrote:
>> On 27/01/2025 07:57, Daniel Schultz wrote:
>>> +&main_spi1 {
>>> +	pinctrl-names = "default";
>>> +	pinctrl-0 = <&main_spi1_pins_default>;
>>> +	ti,pindir-d0-out-d1-in = <1>;
>>> +	status = "okay";
>>> +
>>> +	spidev@0 {
>>
>> Node names should be generic. See also an explanation and list of
>> examples (not exhaustive) in DT specification:
>> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>>
>>
>>> +		compatible = "rohm,dh2228fv";
>>
>> That's not the device you have there. You cannot use other compatibles.
> 
> I will remove that device for now and see if I can find a supported 
> device on Sparkfun or similar, which I can add later.

This sounds like you do not have there any device, so this cannot be
represented in the DTS.

Best regards,
Krzysztof