ARM: dts: ti: Add AM57xx GP EVM board support
authorAndrew Davis <afd@ti.com>
Tue, 7 Mar 2023 16:17:13 +0000 (10:17 -0600)
committerTony Lindgren <tony@atomide.com>
Mon, 27 Mar 2023 08:07:04 +0000 (11:07 +0300)
The AM57xx GP EVM boards are built on top the AM57xx BeagleBoard-X15.
The EVM extends the BeagleBoard by adding a touchscreen, some buttons,
and a handful of peripheral extension slots.

Being a plugin extension of an existing standalone board; we define
the am57xx-evm as a composite-DTB of the base am57xx-beagle-x15
and a new am57xx-evm overlay.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Andrew Davis <afd@ti.com>
Message-Id: <20230307161715.15209-2-afd@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/am57xx-evm.dtso [new file with mode: 0644]

index efe4152..7f850cf 100644 (file)
@@ -994,10 +994,12 @@ dtb-$(CONFIG_SOC_OMAP5) += \
        omap5-igep0050.dtb \
        omap5-sbc-t54.dtb \
        omap5-uevm.dtb
+am57xx-evm-dtbs := am57xx-beagle-x15.dtb am57xx-evm.dtbo
 dtb-$(CONFIG_SOC_DRA7XX) += \
        am57xx-beagle-x15.dtb \
        am57xx-beagle-x15-revb1.dtb \
        am57xx-beagle-x15-revc.dtb \
+       am57xx-evm.dtb \
        am5729-beagleboneai.dtb \
        am57xx-cl-som-am57x.dtb \
        am57xx-sbc-am57x.dtb \
diff --git a/arch/arm/boot/dts/am57xx-evm.dtso b/arch/arm/boot/dts/am57xx-evm.dtso
new file mode 100644 (file)
index 0000000..12385a3
--- /dev/null
@@ -0,0 +1,127 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * DT overlay for AM57xx GP EVM boards
+ *
+ * Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+&{/} {
+       compatible = "ti,am5728-evm", "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
+       model = "TI AM5728 EVM";
+
+       aliases {
+               display0 = "/display";
+               display1 = "/connector"; // Fixme: &lcd0 and &hdmi0 could be
+                                        // resolved here correcly based on
+                                        // information in the base dtb symbol
+                                        // table with a fix in dtc
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               button-user1 {
+                       gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
+                       label = "USER1";
+                       linux,code = <BTN_1>;
+               };
+
+               button-user2 {
+                       gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
+                       label = "USER2";
+                       linux,code = <BTN_2>;
+               };
+
+               button-user3 {
+                       gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
+                       label = "USER3";
+                       linux,code = <BTN_3>;
+               };
+
+               button-user4 {
+                       gpios = <&gpio2 24 GPIO_ACTIVE_LOW>;
+                       label = "USER4";
+                       linux,code = <BTN_4>;
+               };
+
+               button-user5 {
+                       gpios = <&gpio2 20 GPIO_ACTIVE_LOW>;
+                       label = "USER5";
+                       linux,code = <BTN_5>;
+               };
+       };
+
+       lcd0: display {
+               compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
+               backlight = <&lcd_bl>;
+               enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
+               label = "lcd";
+
+               port {
+                       lcd_in: endpoint {
+                               remote-endpoint = <&dpi_out>;
+                       };
+               };
+       };
+
+       lcd_bl: backlight {
+               compatible = "pwm-backlight";
+               brightness-levels = <0 243 245 247 249 251 252 253 255>;
+               default-brightness-level = <8>;
+               pwms = <&ehrpwm1 0 50000 0>;
+       };
+};
+
+&ehrpwm1 {
+       status = "okay";
+};
+
+&epwmss1 {
+       status = "okay";
+};
+
+&i2c5 {
+       status = "okay";
+       clock-frequency = <400000>;
+
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       touchscreen@5c {
+               compatible = "pixcir,pixcir_tangoc";
+               attb-gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>;
+               interrupt-parent = <&gpio2>;
+               interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+               reg = <0x5c>;
+               reset-gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
+               touchscreen-size-x = <1024>;
+               touchscreen-size-y = <600>;
+       };
+};
+
+&uart8 {
+       status = "okay";
+};
+
+&dss {
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       reg = <0>;
+
+                       dpi_out: endpoint {
+                               data-lines = <24>;
+                               remote-endpoint = <&lcd_in>;
+                       };
+               };
+       };
+};