diff mbox series

ARM: dts: stm32: Add DHCOM based PicoITX board

Message ID 20201103181458.444209-1-marex@denx.de
State Accepted
Commit 7d5164425b91f101a909e08d15d60d61677a1527
Delegated to: Patrick Delaunay
Headers show
Series ARM: dts: stm32: Add DHCOM based PicoITX board | expand

Commit Message

Marek Vasut Nov. 3, 2020, 6:14 p.m. UTC
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>
---
 arch/arm/dts/Makefile                         |  1 +
 .../dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi | 14 +++
 arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts    | 93 +++++++++++++++++++
 .../dh_stm32mp1/u-boot-dhcom.its              | 22 +++++
 configs/stm32mp15_dhcom_basic_defconfig       |  2 +-
 5 files changed, 131 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi
 create mode 100644 arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts

Comments

Patrice CHOTARD Nov. 4, 2020, 8:27 a.m. UTC | #1
Hi Marek

On 11/3/20 7:14 PM, Marek Vasut wrote:
> 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>
> ---
>  arch/arm/dts/Makefile                         |  1 +
>  .../dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi | 14 +++
>  arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts    | 93 +++++++++++++++++++
>  .../dh_stm32mp1/u-boot-dhcom.its              | 22 +++++
>  configs/stm32mp15_dhcom_basic_defconfig       |  2 +-
>  5 files changed, 131 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi
>  create mode 100644 arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 5362b73441..adc1fb6573 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -959,6 +959,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
> index 0000000000..3cac663d98
> --- /dev/null
> +++ b/arch/arm/dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi
> @@ -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
> index 0000000000..7f5cff49b7
> --- /dev/null
> +++ b/arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts
> @@ -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>;
> +};
> diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
> index 905be57dff..ba48786e08 100644
> --- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
> +++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
> @@ -31,6 +31,14 @@
>  			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 {
> @@ -64,6 +72,20 @@
>  			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 */
>  	};
>  };
> diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig
> index d7b4cd76c8..96c3d170a5 100644
> --- a/configs/stm32mp15_dhcom_basic_defconfig
> +++ b/configs/stm32mp15_dhcom_basic_defconfig
> @@ -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

Reviewed-by: Patrice Chotard <patrice.chotard@st.com>

Thanks

Patrice
Patrick DELAUNAY Nov. 25, 2020, 9:42 a.m. UTC | #2
Hi,

> From: Marek Vasut <marex@denx.de>
> Sent: mardi 3 novembre 2020 19:15
> 
> 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>
> ---
>  arch/arm/dts/Makefile                         |  1 +
>  .../dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi | 14 +++
>  arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts    | 93 +++++++++++++++++++
>  .../dh_stm32mp1/u-boot-dhcom.its              | 22 +++++
>  configs/stm32mp15_dhcom_basic_defconfig       |  2 +-
>  5 files changed, 131 insertions(+), 1 deletion(-)  create mode 100644
> arch/arm/dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi
>  create mode 100644 arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts
> 

Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>

Applied to u-boot-stm/master, thanks!

Thanks

Patrick
diff mbox series

Patch

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 5362b73441..adc1fb6573 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -959,6 +959,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
index 0000000000..3cac663d98
--- /dev/null
+++ b/arch/arm/dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi
@@ -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
index 0000000000..7f5cff49b7
--- /dev/null
+++ b/arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts
@@ -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>;
+};
diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
index 905be57dff..ba48786e08 100644
--- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
+++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
@@ -31,6 +31,14 @@ 
 			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 {
@@ -64,6 +72,20 @@ 
 			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 */
 	};
 };
diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig
index d7b4cd76c8..96c3d170a5 100644
--- a/configs/stm32mp15_dhcom_basic_defconfig
+++ b/configs/stm32mp15_dhcom_basic_defconfig
@@ -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