Re: [PATCH 4/7] arm64: dts: qcom: Add Arduino Monza (VENTUNOQ) board support
From: Srinivas Kandagatla
Date: Fri Mar 13 2026 - 05:46:41 EST
On 3/9/26 7:37 PM, Dmitry Baryshkov wrote:
> 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 = ðernet0;
>> + 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?
We are missing firmware support for this, it makes to really drop the
usb-c connector node till we get a proper firmware support for this.
>
>> + };
>> + };
>> + };
>> + };
>> +
>
> [...]
>
>> +
>> +&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?
This is going to on board pcie packet swtich not to M.2.
>
>> +};
>> +
>> +&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?
It seems to work fine without it too.
/: Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 10000M
|__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage,
10000M
>
>> + usb-role-switch;
>
> This should go to the monaco.dtsi.
>
will move it to base dtsi
--srini
>> + 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
>>
>