Re: [PATCH 4/7] arm64: dts: qcom: Add Arduino Monza (VENTUNOQ) board support

From: Dmitry Baryshkov

Date: Mon Mar 09 2026 - 15:44:21 EST


On Mon, Mar 09, 2026 at 03:24:15PM +0000, Srinivas Kandagatla wrote:
> From: Loic Poulain <loic.poulain@xxxxxxxxxxxxxxxx>
>
> Add device tree support for the Arduino VENTUNOQ board,
> based on the Qualcomm QCS8300 (Monaco) SoC.
>
> The board features a Qualcomm Monza SoM and integrates various
> peripherals, including:
> - USB Type‑C connector with dual‑role support
> - ADV7535 DSI‑to‑HDMI bridge
> - MAX98091 audio codec
> - 2.5G Ethernet PHY (HSGMII)
> - PCIe0 (to onboard WiFi chipset and USB bridge)
> - PCIe1 (to M2/nvme)
> - Button (via GPIO‑keys)
>
> Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxxxxxxxx>
> Co-developed-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxxxxxxxx>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> .../boot/dts/qcom/monaco-arduino-monza.dts | 446 ++++++++++++++++++
> 2 files changed, 447 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 6d87be639aac..8a9093c4b534 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -47,6 +47,7 @@ lemans-evk-el2-dtbs := lemans-evk.dtb lemans-el2.dtbo
> dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-el2.dtb
> dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
> dtb-$(CONFIG_ARCH_QCOM) += monaco-evk.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += monaco-arduino-monza.dtb
> dtb-$(CONFIG_ARCH_QCOM) += msm8216-samsung-fortuna3g.dtb
> dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb
> dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
> diff --git a/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts b/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts
> new file mode 100644
> index 000000000000..b6db2a7151f1
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts
> @@ -0,0 +1,446 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
> +
> +#include "monaco.dtsi"
> +#include "monaco-pmics.dtsi"
> +#include "monaco-monza-som.dtsi"
> +
> +/ {
> + model = "Arduino VENTUNOQ";
> + compatible = "arduino,monza", "qcom,qcs8300";
> +
> + aliases {
> + ethernet0 = &ethernet0;
> + i2c1 = &i2c1;
> + serial0 = &uart7;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + connector-0 {
> + compatible = "usb-c-connector";
> + label = "USB1-Type-C";
> + data-role = "device";
> + power-role = "dual";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + usb1_con_hs_ep: endpoint {
> + remote-endpoint = <&usb_1_dwc3_hs>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + usb1_con_ss_ep: endpoint {
> + remote-endpoint = <&usb_1_dwc3_ss>;

No intermediate QMP PHY, no DP support?

> + };
> + };
> + };
> + };
> +

[...]

> +
> +&pcie0 {
> + pinctrl-0 = <&pcie0_default_state>;
> + pinctrl-names = "default";
> +
> + vddpe-3v3-supply = <&vdc_3v3>;

Is there a wired 3v3 support without an M.2 slot in play?

> +};
> +
> +&pcie1 {
> + pinctrl-0 = <&pcie1_default_state>;
> + pinctrl-names = "default";
> +
> + vddpe-3v3-supply = <&vreg_nvme>;
> +};
> +
> +&pcieport0 {
> + reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
> +
> + pci@0,0 {
> + #address-cells = <3>;
> + #size-cells = <2>;
> + device_type = "pci";
> + bus-range = <0x01 0xff>;
> + ranges;
> + reg = <0x010000 0x00 0x00 0x00 0x00>;
> +
> + pci@2,0 {
> + #address-cells = <3>;
> + #size-cells = <2>;
> + device_type = "pci";
> + bus-range = <0x00 0xff>;
> + ranges;
> + reg = <0x021000 0x00 0x00 0x00 0x00>;
> +
> + usb@0 {
> + compatible = "pci104c,8241";
> + reg = <0 0 0 0 0>;
> + ti,pwron-active-high;
> + };
> + };
> + };
> +};
> +

[..]

> +
> +&usb_1 {
> + maximum-speed = "super-speed-plus";

Do you need to specify it?

> + usb-role-switch;

This should go to the monaco.dtsi.

> + wakeup-source;
> +
> + status = "okay";
> +};
> +
> +&usb_1_dwc3_hs {
> + remote-endpoint = <&usb1_con_hs_ep>;
> +};
> +
> +&usb_1_dwc3_ss {
> + remote-endpoint = <&usb1_con_ss_ep>;
> +};
> +
> +/* Internally connected to the MCU (e.g. for DFU). */
> +&usb_2 {
> + dr_mode = "host";
> +
> + status = "okay";
> +};
> --
> 2.47.3
>

--
With best wishes
Dmitry