ARM: dts: stm32: Add DHCOM based PicoITX board
authorMarek Vasut <marex@denx.de>
Tue, 3 Nov 2020 18:14:58 +0000 (19:14 +0100)
committerPatrick Delaunay <patrick.delaunay@st.com>
Wed, 25 Nov 2020 09:43:46 +0000 (10:43 +0100)
Add DT for DH PicoITX unit, which is a bare-bones carrier board for
the DHCOM. The board has ethernet port, USB, CAN, LEDs and a custom
board-to-board expansion connector.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
arch/arm/dts/Makefile
arch/arm/dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts [new file with mode: 0644]
board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
configs/stm32mp15_dhcom_basic_defconfig

index 7d1a369..e2e8a5f 100644 (file)
@@ -965,6 +965,7 @@ dtb-$(CONFIG_STM32MP15x) += \
        stm32mp157c-odyssey.dtb \
        stm32mp15xx-dhcom-drc02.dtb \
        stm32mp15xx-dhcom-pdk2.dtb \
+       stm32mp15xx-dhcom-picoitx.dtb \
        stm32mp15xx-dhcor-avenger96.dtb
 
 dtb-$(CONFIG_SOC_K3_AM6) += k3-am654-base-board.dtb k3-am654-r5-base-board.dtb
diff --git a/arch/arm/dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi b/arch/arm/dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi
new file mode 100644 (file)
index 0000000..3cac663
--- /dev/null
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+/*
+ * Copyright (C) 2020 Marek Vasut <marex@denx.de>
+ */
+
+#include "stm32mp15xx-dhcom-u-boot.dtsi"
+
+/ {
+       aliases {
+               /delete-property/ ethernet1;
+       };
+};
+
+/delete-node/ &ksz8851;
diff --git a/arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts b/arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts
new file mode 100644 (file)
index 0000000..7f5cff4
--- /dev/null
@@ -0,0 +1,93 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+/*
+ * Copyright (C) 2020 Marek Vasut <marex@denx.de>
+ */
+
+#include "stm32mp15xx-dhcom.dtsi"
+
+/ {
+       model = "DH Electronics STM32MP15xx DHCOM PicoITX";
+       compatible = "dh,stm32mp15xx-dhcom-picoitx", "st,stm32mp1xx";
+
+       aliases {
+               serial0 = &uart4;
+               serial1 = &usart3;
+               serial2 = &uart8;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&adc {
+       status = "disabled";
+};
+
+&dac {
+       status = "disabled";
+};
+
+&gpioa {
+       /*
+        * NOTE: The USB Port on the PicoITX needs a PWR_EN signal to enable
+        * port power. This signal should be handled by USB power sequencing
+        * in order to turn on port power when USB bus is powered up, but so
+        * far there is no such functionality.
+        */
+       usb-port-power {
+               gpio-hog;
+               gpios = <13 GPIO_ACTIVE_LOW>;
+               output-low;
+               line-name = "usb-port-power";
+       };
+};
+
+&i2c2 {        /* On board-to-board connector (optional) */
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c2_pins_a>;
+       i2c-scl-rising-time-ns = <185>;
+       i2c-scl-falling-time-ns = <20>;
+       status = "okay";
+       /* spare dmas for other usage */
+       /delete-property/dmas;
+       /delete-property/dma-names;
+};
+
+&i2c5 {        /* On board-to-board connector */
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c5_pins_a>;
+       i2c-scl-rising-time-ns = <185>;
+       i2c-scl-falling-time-ns = <20>;
+       status = "okay";
+       /* spare dmas for other usage */
+       /delete-property/dmas;
+       /delete-property/dma-names;
+};
+
+&usart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&usart3_pins_a>;
+       status = "okay";
+};
+
+&uart8 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart8_pins_a>;
+       status = "okay";
+};
+
+&usbh_ehci {
+       phys = <&usbphyc_port0>;
+       status = "okay";
+};
+
+&usbphyc {
+       status = "okay";
+};
+
+&usbphyc_port0 {
+       phy-supply = <&vdd_usb>;
+       vdda1v1-supply = <&reg11>;
+       vdda1v8-supply = <&reg18>;
+};
index 905be57..ba48786 100644 (file)
                        arch = "arm";
                        compression = "none";
                };
+
+               fdt-3 {
+                       description = ".dtb";
+                       data = /incbin/("arch/arm/dts/stm32mp15xx-dhcom-picoitx.dtb");
+                       type = "flat_dt";
+                       arch = "arm";
+                       compression = "none";
+               };
        };
 
        configurations {
                        fdt = "fdt-2";
                };
 
+               config-5 {
+                       /* DT+SoM+board model */
+                       description = "dh,stm32mp15xx-dhcom-picoitx_somrev0_boardrev0";
+                       loadables = "uboot";
+                       fdt = "fdt-3";
+               };
+
+               config-6 {
+                       /* DT+SoM+board model */
+                       description = "dh,stm32mp15xx-dhcom-picoitx_somrev1_boardrev0";
+                       loadables = "uboot";
+                       fdt = "fdt-3";
+               };
+
                /* Add 587-100..587-400 with fdt-2..fdt-4 here */
        };
 };
index d7b4cd7..96c3d17 100644 (file)
@@ -57,7 +57,7 @@ CONFIG_CMD_REGULATOR=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_MTDPARTS=y
 # CONFIG_SPL_DOS_PARTITION is not set
-CONFIG_OF_LIST="stm32mp15xx-dhcom-pdk2 stm32mp15xx-dhcom-drc02"
+CONFIG_OF_LIST="stm32mp15xx-dhcom-pdk2 stm32mp15xx-dhcom-drc02 stm32mp15xx-dhcom-picoitx"
 CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks"
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_USE_ENV_SPI_BUS=y