* [PATCH v4 0/4] arm64: dts: qcom: Introduce support for monaco-ac-evk
@ 2026-04-27 17:05 Umang Chheda
2026-04-27 17:05 ` [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi Umang Chheda
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Umang Chheda @ 2026-04-27 17:05 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel, umang.chheda
Add support for Qualcomm's monaco-ac Evaluation Kit (EVK) without
safety monitoring feature of Safety Island(SAIL) subsystem.
This board is based on Qualcomm's QCS8300-AC variant SoC.
Monaco-ac EVK board is a single board computer (SBC) that supports various
industrial applications, including factory automation, industrial
robots, drones, edge AI boxes, machine vision, autonomous mobile
robots (AMRs), and industrial gateways.
Compared to Monaco EVK (monaco-aa):
- monaco-ac delivers 20 TOPS of NPU performance vs 40 TOPS on
monaco-aa variant.
- The power delivery network is simplified from a 4-PMIC arrangement
(2x PM8654AU + Maxim MAX20018 + TI TPS6594) to 2 PMICs(2x PM8654AU)
Since the two boards share the vast majority of their device tree, this
series first refactors monaco-evk.dts to extract the common hardware
description into monaco-evk-common.dtsi, then introduces monaco-ac-evk.dts.
Also, monaco-ac-evk board supports monaco-evk-ifp-mezzanine attach, Add
support for combined dtb "monaco-ac-evk-ifp-mezzanine" as well, which
overlays monaco-evk-ifp-mezzanine on top of monaco-ac-evk DT.
Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
---
Changes in v4:
- Add support for combined DTB "monaco-ac-evk-ifp-mezzanine" which
overlays monaco-evk-ifp-mezzanine DTBO on top of monaco-ac-evk DT.
- Link to v3: https://lore.kernel.org/lkml/20260413114819.3894307-1-umang.chheda@oss.qualcomm.com/
Changes in v2:
- Drop keyword "sku" from the compatible string of board bindings
- Krzysztof.
- Wrap commit text of dt-bindings change based on upstream guidelines
- Krzysztof.
- Link to v1: https://patch.msgid.link/20260328-monaco-evk-ac-sku-v1-0-79d166fa5571@oss.qualcomm.com
Umang Chheda (4):
arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared
dtsi
dt-bindings: arm: qcom: Add monaco-ac-evk support
arm64: dts: qcom: monaco: Add monaco-ac EVK board
arm64: dts: qcom: monaco-ac-evk: Add IFP mezzanine overlay
.../devicetree/bindings/arm/qcom.yaml | 1 +
arch/arm64/boot/dts/qcom/Makefile | 4 +
arch/arm64/boot/dts/qcom/monaco-ac-evk.dts | 31 +
.../boot/dts/qcom/monaco-evk-common.dtsi | 900 ++++++++++++++++++
arch/arm64/boot/dts/qcom/monaco-evk.dts | 894 +----------------
5 files changed, 937 insertions(+), 893 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-ac-evk.dts
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-common.dtsi
--
2.34.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi
2026-04-27 17:05 [PATCH v4 0/4] arm64: dts: qcom: Introduce support for monaco-ac-evk Umang Chheda
@ 2026-04-27 17:05 ` Umang Chheda
2026-05-04 12:57 ` Konrad Dybcio
2026-05-04 18:44 ` Dmitry Baryshkov
2026-04-27 17:05 ` [PATCH v4 2/4] dt-bindings: arm: qcom: Add monaco-ac-evk support Umang Chheda
` (2 subsequent siblings)
3 siblings, 2 replies; 15+ messages in thread
From: Umang Chheda @ 2026-04-27 17:05 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel, umang.chheda
The monaco-ac EVK is a new board variant which shares the majority of
its hardware description with the existing monaco-evk board.
In preparation for adding this variant, extract the common hardware
nodes from monaco-evk.dts into a new shared monaco-evk-common.dtsi
include file, and update monaco-evk.dts to include it and keep only
board-specific overrides.
No functional change intended.
Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
---
.../boot/dts/qcom/monaco-evk-common.dtsi | 900 ++++++++++++++++++
arch/arm64/boot/dts/qcom/monaco-evk.dts | 894 +----------------
2 files changed, 901 insertions(+), 893 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk-common.dtsi
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk-common.dtsi b/arch/arm64/boot/dts/qcom/monaco-evk-common.dtsi
new file mode 100644
index 000000000000..12c847c03757
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-evk-common.dtsi
@@ -0,0 +1,900 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "monaco.dtsi"
+#include "monaco-pmics.dtsi"
+
+/ {
+ aliases {
+ ethernet0 = ðernet0;
+ i2c1 = &i2c1;
+ serial0 = &uart7;
+ serial2 = &uart6;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ connector-2 {
+ compatible = "gpio-usb-b-connector", "usb-b-connector";
+ label = "micro-USB";
+ type = "micro";
+
+ id-gpios = <&pmm8620au_0_gpios 9 GPIO_ACTIVE_HIGH>;
+ vbus-gpios = <&expander6 7 GPIO_ACTIVE_HIGH>;
+ vbus-supply = <&usb2_vbus>;
+
+ pinctrl-0 = <&usb2_id>;
+ pinctrl-names = "default";
+
+ port {
+ usb2_con_hs_ep: endpoint {
+ remote-endpoint = <&usb_2_dwc3_hs>;
+ };
+ };
+ };
+
+ dmic: audio-codec-0 {
+ compatible = "dmic-codec";
+ #sound-dai-cells = <0>;
+ num-channels = <1>;
+ };
+
+ max98357a: audio-codec-1 {
+ compatible = "maxim,max98357a";
+ #sound-dai-cells = <0>;
+ };
+
+ dp-connector-0 {
+ compatible = "dp-connector";
+ label = "DP0";
+ type = "mini";
+
+ port {
+ dp0_connector_in: endpoint {
+ remote-endpoint = <<8713sx_dp0_out>;
+ };
+ };
+ };
+
+ dp-connector-1 {
+ compatible = "dp-connector";
+ label = "DP1";
+ type = "mini";
+
+ port {
+ dp1_connector_in: endpoint {
+ remote-endpoint = <<8713sx_dp1_out>;
+ };
+ };
+ };
+
+ usb2_vbus: regulator-usb2-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usb2_vbus";
+ gpio = <&pmm8650au_1_gpios 7 GPIO_ACTIVE_HIGH>;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ };
+
+ sound {
+ compatible = "qcom,qcs8275-sndcard";
+ model = "MONACO-EVK";
+
+ pinctrl-0 = <&hs0_mi2s_active>, <&mi2s1_active>;
+ pinctrl-names = "default";
+
+ hs0-mi2s-playback-dai-link {
+ link-name = "HS0 MI2S Playback";
+
+ codec {
+ sound-dai = <&max98357a>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ sec-mi2s-capture-dai-link {
+ link-name = "Secondary MI2S Capture";
+
+ codec {
+ sound-dai = <&dmic>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai SECONDARY_MI2S_TX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
+
+ vreg_cam0_2p8: vreg-cam0-2p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_cam0_2p8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ startup-delay-us = <10000>;
+
+ gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&cam0_avdd_2v8_en_default>;
+ pinctrl-names = "default";
+ };
+
+ vreg_cam1_2p8: vreg-cam1-2p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_cam1_2p8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ startup-delay-us = <10000>;
+
+ gpio = <&tlmm 74 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&cam1_avdd_2v8_en_default>;
+ pinctrl-names = "default";
+ };
+
+ vreg_cam2_2p8: vreg-cam2-2p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_cam2_2p8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ startup-delay-us = <10000>;
+
+ gpio = <&tlmm 75 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&cam2_avdd_2v8_en_default>;
+ pinctrl-names = "default";
+ };
+};
+
+&apps_rsc {
+ regulators-0 {
+ compatible = "qcom,pmm8654au-rpmh-regulators";
+ qcom,pmic-id = "a";
+
+ vreg_l3a: ldo3 {
+ regulator-name = "vreg_l3a";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4a: ldo4 {
+ regulator-name = "vreg_l4a";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l5a: ldo5 {
+ regulator-name = "vreg_l5a";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6a: ldo6 {
+ regulator-name = "vreg_l6a";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7a: ldo7 {
+ regulator-name = "vreg_l7a";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8a: ldo8 {
+ regulator-name = "vreg_l8a";
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9a: ldo9 {
+ regulator-name = "vreg_l9a";
+ regulator-min-microvolt = <2970000>;
+ regulator-max-microvolt = <3072000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-1 {
+ compatible = "qcom,pmm8654au-rpmh-regulators";
+ qcom,pmic-id = "c";
+
+ vreg_s5c: smps5 {
+ regulator-name = "vreg_s5c";
+ regulator-min-microvolt = <1104000>;
+ regulator-max-microvolt = <1104000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1c: ldo1 {
+ regulator-name = "vreg_l1c";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <512000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2c: ldo2 {
+ regulator-name = "vreg_l2c";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <904000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4c: ldo4 {
+ regulator-name = "vreg_l4c";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7c: ldo7 {
+ regulator-name = "vreg_l7c";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8c: ldo8 {
+ regulator-name = "vreg_l8c";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9c: ldo9 {
+ regulator-name = "vreg_l9c";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
+
+ðernet0 {
+ phy-mode = "2500base-x";
+ phy-handle = <&hsgmii_phy0>;
+
+ pinctrl-0 = <ðernet0_default>;
+ pinctrl-names = "default";
+
+ snps,mtl-rx-config = <&mtl_rx_setup>;
+ snps,mtl-tx-config = <&mtl_tx_setup>;
+ nvmem-cells = <&mac_addr0>;
+ nvmem-cell-names = "mac-address";
+
+ status = "okay";
+
+ mdio {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ hsgmii_phy0: ethernet-phy@1c {
+ compatible = "ethernet-phy-id004d.d101";
+ reg = <0x1c>;
+ reset-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
+ reset-assert-us = <11000>;
+ reset-deassert-us = <70000>;
+ };
+ };
+
+ mtl_rx_setup: rx-queues-config {
+ snps,rx-queues-to-use = <4>;
+ snps,rx-sched-sp;
+
+ queue0 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x0>;
+ snps,route-up;
+ snps,priority = <0x1>;
+ };
+
+ queue1 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x1>;
+ snps,route-ptp;
+ };
+
+ queue2 {
+ snps,avb-algorithm;
+ snps,map-to-dma-channel = <0x2>;
+ snps,route-avcp;
+ };
+
+ queue3 {
+ snps,avb-algorithm;
+ snps,map-to-dma-channel = <0x3>;
+ snps,priority = <0xc>;
+ };
+ };
+
+ mtl_tx_setup: tx-queues-config {
+ snps,tx-queues-to-use = <4>;
+
+ queue0 {
+ snps,dcb-algorithm;
+ };
+
+ queue1 {
+ snps,dcb-algorithm;
+ };
+
+ queue2 {
+ snps,avb-algorithm;
+ snps,send_slope = <0x1000>;
+ snps,idle_slope = <0x1000>;
+ snps,high_credit = <0x3e800>;
+ snps,low_credit = <0xffc18000>;
+ };
+
+ queue3 {
+ snps,avb-algorithm;
+ snps,send_slope = <0x1000>;
+ snps,idle_slope = <0x1000>;
+ snps,high_credit = <0x3e800>;
+ snps,low_credit = <0xffc18000>;
+ };
+ };
+};
+
+&gpi_dma0 {
+ status = "okay";
+};
+
+&gpi_dma1 {
+ status = "okay";
+};
+
+&gpu {
+ status = "okay";
+};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/qcs8300/a623_zap.mbn";
+};
+
+&i2c0 {
+ status = "okay";
+
+ bridge@4f {
+ compatible = "lontium,lt8713sx";
+ reg = <0x4f>;
+ reset-gpios = <&expander5 6 GPIO_ACTIVE_LOW>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ lt8713sx_dp_in: endpoint {
+ remote-endpoint = <&mdss_dp0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ lt8713sx_dp0_out: endpoint {
+ remote-endpoint = <&dp0_connector_in>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ lt8713sx_dp1_out: endpoint {
+ remote-endpoint = <&dp1_connector_in>;
+ };
+ };
+ };
+ };
+};
+
+&i2c1 {
+ pinctrl-0 = <&qup_i2c1_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+
+ fan_controller: fan@18 {
+ compatible = "ti,amc6821";
+ reg = <0x18>;
+ #pwm-cells = <2>;
+
+ fan {
+ pwms = <&fan_controller 40000 PWM_POLARITY_INVERTED>;
+ };
+ };
+
+ eeprom0: eeprom@50 {
+ compatible = "atmel,24c256";
+ reg = <0x50>;
+ pagesize = <64>;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ mac_addr0: mac-addr@0 {
+ reg = <0x0 0x6>;
+ };
+ };
+ };
+};
+
+&i2c15 {
+ pinctrl-0 = <&qup_i2c15_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+
+ expander0: gpio@38 {
+ compatible = "ti,tca9538";
+ reg = <0x38>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 56 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander0_int>;
+ pinctrl-names = "default";
+ };
+
+ expander1: gpio@39 {
+ compatible = "ti,tca9538";
+ reg = <0x39>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 16 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander1_int>;
+ pinctrl-names = "default";
+ };
+
+ expander2: gpio@3a {
+ compatible = "ti,tca9538";
+ reg = <0x3a>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 95 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander2_int>;
+ pinctrl-names = "default";
+ };
+
+ expander3: gpio@3b {
+ compatible = "ti,tca9538";
+ reg = <0x3b>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander3_int>;
+ pinctrl-names = "default";
+ };
+
+ expander4: gpio@3c {
+ compatible = "ti,tca9538";
+ reg = <0x3c>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 96 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander4_int>;
+ pinctrl-names = "default";
+ };
+
+ expander5: gpio@3d {
+ compatible = "ti,tca9538";
+ reg = <0x3d>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander5_int>;
+ pinctrl-names = "default";
+ };
+
+ expander6: gpio@3e {
+ compatible = "ti,tca9538";
+ reg = <0x3e>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&tlmm 52 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&expander6_int>;
+ pinctrl-names = "default";
+ };
+};
+
+&iris {
+ status = "okay";
+};
+
+&mdss {
+ status = "okay";
+};
+
+&mdss_dp0 {
+ pinctrl-0 = <&dp_hot_plug_det>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&mdss_dp0_out {
+ data-lanes = <0 1 2 3>;
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+ remote-endpoint = <<8713sx_dp_in>;
+};
+
+&mdss_dp0_phy {
+ vdda-phy-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l4a>;
+
+ status = "okay";
+};
+
+&pcie0 {
+ pinctrl-0 = <&pcie0_default_state>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie0_phy {
+ vdda-phy-supply = <&vreg_l6a>;
+ vdda-pll-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
+&pcie1 {
+ pinctrl-0 = <&pcie1_default_state>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie1_phy {
+ vdda-phy-supply = <&vreg_l6a>;
+ vdda-pll-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
+&pcieport0 {
+ reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
+};
+
+&pcieport1 {
+ reset-gpios = <&tlmm 23 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
+};
+
+&pmm8620au_0_gpios {
+ usb2_id: usb2-id-state {
+ pins = "gpio9";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <0>;
+ };
+};
+
+&qup_i2c0_data_clk {
+ drive-strength = <2>;
+ bias-pull-up;
+};
+
+&qupv3_id_0 {
+ firmware-name = "qcom/qcs8300/qupv3fw.elf";
+ status = "okay";
+};
+
+&qupv3_id_1 {
+ firmware-name = "qcom/qcs8300/qupv3fw.elf";
+ status = "okay";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/qcs8300/adsp.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp {
+ firmware-name = "qcom/qcs8300/cdsp0.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_gpdsp {
+ firmware-name = "qcom/qcs8300/gpdsp0.mbn";
+
+ status = "okay";
+};
+
+&serdes0 {
+ phy-supply = <&vreg_l4a>;
+
+ status = "okay";
+};
+
+&spi10 {
+ status = "okay";
+
+ tpm@0 {
+ compatible = "st,st33htpm-spi", "tcg,tpm_tis-spi";
+ reg = <0>;
+ spi-max-frequency = <20000000>;
+ };
+};
+
+&tlmm {
+ pcie0_default_state: pcie0-default-state {
+ wake-pins {
+ pins = "gpio0";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ clkreq-pins {
+ pins = "gpio1";
+ function = "pcie0_clkreq";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-pins {
+ pins = "gpio2";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ ethernet0_default: ethernet0-default-state {
+ ethernet0_mdc: ethernet0-mdc-pins {
+ pins = "gpio5";
+ function = "emac0_mdc";
+ drive-strength = <16>;
+ bias-pull-up;
+ };
+
+ ethernet0_mdio: ethernet0-mdio-pins {
+ pins = "gpio6";
+ function = "emac0_mdio";
+ drive-strength = <16>;
+ bias-pull-up;
+ };
+ };
+
+ expander5_int: expander5-int-state {
+ pins = "gpio3";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ expander1_int: expander1-int-state {
+ pins = "gpio16";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ qup_i2c1_default: qup-i2c1-state {
+ pins = "gpio19", "gpio20";
+ function = "qup0_se1";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ pcie1_default_state: pcie1-default-state {
+ wake-pins {
+ pins = "gpio21";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ clkreq-pins {
+ pins = "gpio22";
+ function = "pcie1_clkreq";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-pins {
+ pins = "gpio23";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ expander3_int: expander3-int-state {
+ pins = "gpio24";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ expander6_int: expander6-int-state {
+ pins = "gpio52";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ expander0_int: expander0-int-state {
+ pins = "gpio56";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state {
+ pins = "gpio73";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ cam1_avdd_2v8_en_default: cam1-avdd-2v8-en-state {
+ pins = "gpio74";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ cam2_avdd_2v8_en_default: cam2-avdd-2v8-en-state {
+ pins = "gpio75";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ qup_i2c15_default: qup-i2c15-state {
+ pins = "gpio91", "gpio92";
+ function = "qup1_se7";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ expander2_int: expander2-int-state {
+ pins = "gpio95";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ expander4_int: expander4-int-state {
+ pins = "gpio96";
+ function = "gpio";
+ bias-pull-up;
+ };
+};
+
+&uart6 {
+ status = "okay";
+};
+
+&uart7 {
+ status = "okay";
+};
+
+&ufs_mem_hc {
+ reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
+ vcc-supply = <&vreg_l8a>;
+ vcc-max-microamp = <1100000>;
+ vccq-supply = <&vreg_l4c>;
+ vccq-max-microamp = <1200000>;
+
+ status = "okay";
+};
+
+&ufs_mem_phy {
+ vdda-phy-supply = <&vreg_l4a>;
+ vdda-pll-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
+&usb_1 {
+ dr_mode = "peripheral";
+
+ status = "okay";
+};
+
+&usb_1_hsphy {
+ vdda-pll-supply = <&vreg_l7a>;
+ vdda18-supply = <&vreg_l7c>;
+ vdda33-supply = <&vreg_l9a>;
+
+ status = "okay";
+};
+
+&usb_qmpphy {
+ vdda-phy-supply = <&vreg_l7a>;
+ vdda-pll-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
+&usb_2 {
+ status = "okay";
+};
+
+&usb_2_dwc3_hs {
+ remote-endpoint = <&usb2_con_hs_ep>;
+};
+
+&usb_2_hsphy {
+ vdda-pll-supply = <&vreg_l7a>;
+ vdda18-supply = <&vreg_l7c>;
+ vdda33-supply = <&vreg_l9a>;
+
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
index 9d17ef7d2caf..f01eef1c2e16 100644
--- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
+++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
@@ -5,174 +5,12 @@
/dts-v1/;
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/pwm/pwm.h>
-#include <dt-bindings/sound/qcom,q6afe.h>
-#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
-
-#include "monaco.dtsi"
-#include "monaco-pmics.dtsi"
+#include "monaco-evk-common.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Monaco EVK";
compatible = "qcom,monaco-evk", "qcom,qcs8300";
- aliases {
- ethernet0 = ðernet0;
- i2c1 = &i2c1;
- serial0 = &uart7;
- serial2 = &uart6;
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-
- connector-2 {
- compatible = "gpio-usb-b-connector", "usb-b-connector";
- label = "micro-USB";
- type = "micro";
-
- id-gpios = <&pmm8620au_0_gpios 9 GPIO_ACTIVE_HIGH>;
- vbus-gpios = <&expander6 7 GPIO_ACTIVE_HIGH>;
- vbus-supply = <&usb2_vbus>;
-
- pinctrl-0 = <&usb2_id>;
- pinctrl-names = "default";
-
- port {
- usb2_con_hs_ep: endpoint {
- remote-endpoint = <&usb_2_dwc3_hs>;
- };
- };
- };
-
- dmic: audio-codec-0 {
- compatible = "dmic-codec";
- #sound-dai-cells = <0>;
- num-channels = <1>;
- };
-
- max98357a: audio-codec-1 {
- compatible = "maxim,max98357a";
- #sound-dai-cells = <0>;
- };
-
- dp-connector-0 {
- compatible = "dp-connector";
- label = "DP0";
- type = "mini";
-
- port {
- dp0_connector_in: endpoint {
- remote-endpoint = <<8713sx_dp0_out>;
- };
- };
- };
-
- dp-connector-1 {
- compatible = "dp-connector";
- label = "DP1";
- type = "mini";
-
- port {
- dp1_connector_in: endpoint {
- remote-endpoint = <<8713sx_dp1_out>;
- };
- };
- };
-
- usb2_vbus: regulator-usb2-vbus {
- compatible = "regulator-fixed";
- regulator-name = "usb2_vbus";
- gpio = <&pmm8650au_1_gpios 7 GPIO_ACTIVE_HIGH>;
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- enable-active-high;
- };
-
- sound {
- compatible = "qcom,qcs8275-sndcard";
- model = "MONACO-EVK";
-
- pinctrl-0 = <&hs0_mi2s_active>, <&mi2s1_active>;
- pinctrl-names = "default";
-
- hs0-mi2s-playback-dai-link {
- link-name = "HS0 MI2S Playback";
-
- codec {
- sound-dai = <&max98357a>;
- };
-
- cpu {
- sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>;
- };
-
- platform {
- sound-dai = <&q6apm>;
- };
- };
-
- sec-mi2s-capture-dai-link {
- link-name = "Secondary MI2S Capture";
-
- codec {
- sound-dai = <&dmic>;
- };
-
- cpu {
- sound-dai = <&q6apmbedai SECONDARY_MI2S_TX>;
- };
-
- platform {
- sound-dai = <&q6apm>;
- };
- };
- };
-
- vreg_cam0_2p8: vreg-cam0-2p8 {
- compatible = "regulator-fixed";
- regulator-name = "vreg_cam0_2p8";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- startup-delay-us = <10000>;
-
- gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&cam0_avdd_2v8_en_default>;
- pinctrl-names = "default";
- };
-
- vreg_cam1_2p8: vreg-cam1-2p8 {
- compatible = "regulator-fixed";
- regulator-name = "vreg_cam1_2p8";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- startup-delay-us = <10000>;
-
- gpio = <&tlmm 74 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&cam1_avdd_2v8_en_default>;
- pinctrl-names = "default";
- };
-
- vreg_cam2_2p8: vreg-cam2-2p8 {
- compatible = "regulator-fixed";
- regulator-name = "vreg_cam2_2p8";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- startup-delay-us = <10000>;
-
- gpio = <&tlmm 75 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&cam2_avdd_2v8_en_default>;
- pinctrl-names = "default";
- };
-
/* This comes from a PMIC handled within the SAIL domain */
vreg_s2s: vreg-s2s {
compatible = "regulator-fixed";
@@ -183,517 +21,6 @@ vreg_s2s: vreg-s2s {
};
};
-&apps_rsc {
- regulators-0 {
- compatible = "qcom,pmm8654au-rpmh-regulators";
- qcom,pmic-id = "a";
-
- vreg_l3a: ldo3 {
- regulator-name = "vreg_l3a";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l4a: ldo4 {
- regulator-name = "vreg_l4a";
- regulator-min-microvolt = <880000>;
- regulator-max-microvolt = <912000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l5a: ldo5 {
- regulator-name = "vreg_l5a";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l6a: ldo6 {
- regulator-name = "vreg_l6a";
- regulator-min-microvolt = <880000>;
- regulator-max-microvolt = <912000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l7a: ldo7 {
- regulator-name = "vreg_l7a";
- regulator-min-microvolt = <880000>;
- regulator-max-microvolt = <912000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l8a: ldo8 {
- regulator-name = "vreg_l8a";
- regulator-min-microvolt = <2504000>;
- regulator-max-microvolt = <2960000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l9a: ldo9 {
- regulator-name = "vreg_l9a";
- regulator-min-microvolt = <2970000>;
- regulator-max-microvolt = <3072000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-
- regulators-1 {
- compatible = "qcom,pmm8654au-rpmh-regulators";
- qcom,pmic-id = "c";
-
- vreg_s5c: smps5 {
- regulator-name = "vreg_s5c";
- regulator-min-microvolt = <1104000>;
- regulator-max-microvolt = <1104000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l1c: ldo1 {
- regulator-name = "vreg_l1c";
- regulator-min-microvolt = <300000>;
- regulator-max-microvolt = <512000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l2c: ldo2 {
- regulator-name = "vreg_l2c";
- regulator-min-microvolt = <900000>;
- regulator-max-microvolt = <904000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l4c: ldo4 {
- regulator-name = "vreg_l4c";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l7c: ldo7 {
- regulator-name = "vreg_l7c";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l8c: ldo8 {
- regulator-name = "vreg_l8c";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l9c: ldo9 {
- regulator-name = "vreg_l9c";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-allow-set-load;
- regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-};
-
-ðernet0 {
- phy-mode = "2500base-x";
- phy-handle = <&hsgmii_phy0>;
-
- pinctrl-0 = <ðernet0_default>;
- pinctrl-names = "default";
-
- snps,mtl-rx-config = <&mtl_rx_setup>;
- snps,mtl-tx-config = <&mtl_tx_setup>;
- nvmem-cells = <&mac_addr0>;
- nvmem-cell-names = "mac-address";
-
- status = "okay";
-
- mdio {
- compatible = "snps,dwmac-mdio";
- #address-cells = <1>;
- #size-cells = <0>;
-
- hsgmii_phy0: ethernet-phy@1c {
- compatible = "ethernet-phy-id004d.d101";
- reg = <0x1c>;
- reset-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
- reset-assert-us = <11000>;
- reset-deassert-us = <70000>;
- };
- };
-
- mtl_rx_setup: rx-queues-config {
- snps,rx-queues-to-use = <4>;
- snps,rx-sched-sp;
-
- queue0 {
- snps,dcb-algorithm;
- snps,map-to-dma-channel = <0x0>;
- snps,route-up;
- snps,priority = <0x1>;
- };
-
- queue1 {
- snps,dcb-algorithm;
- snps,map-to-dma-channel = <0x1>;
- snps,route-ptp;
- };
-
- queue2 {
- snps,avb-algorithm;
- snps,map-to-dma-channel = <0x2>;
- snps,route-avcp;
- };
-
- queue3 {
- snps,avb-algorithm;
- snps,map-to-dma-channel = <0x3>;
- snps,priority = <0xc>;
- };
- };
-
- mtl_tx_setup: tx-queues-config {
- snps,tx-queues-to-use = <4>;
-
- queue0 {
- snps,dcb-algorithm;
- };
-
- queue1 {
- snps,dcb-algorithm;
- };
-
- queue2 {
- snps,avb-algorithm;
- snps,send_slope = <0x1000>;
- snps,idle_slope = <0x1000>;
- snps,high_credit = <0x3e800>;
- snps,low_credit = <0xffc18000>;
- };
-
- queue3 {
- snps,avb-algorithm;
- snps,send_slope = <0x1000>;
- snps,idle_slope = <0x1000>;
- snps,high_credit = <0x3e800>;
- snps,low_credit = <0xffc18000>;
- };
- };
-};
-
-&gpi_dma0 {
- status = "okay";
-};
-
-&gpi_dma1 {
- status = "okay";
-};
-
-&gpu {
- status = "okay";
-};
-
-&gpu_zap_shader {
- firmware-name = "qcom/qcs8300/a623_zap.mbn";
-};
-
-&i2c0 {
- status = "okay";
-
- bridge@4f {
- compatible = "lontium,lt8713sx";
- reg = <0x4f>;
- reset-gpios = <&expander5 6 GPIO_ACTIVE_LOW>;
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
-
- lt8713sx_dp_in: endpoint {
- remote-endpoint = <&mdss_dp0_out>;
- };
- };
-
- port@1 {
- reg = <1>;
-
- lt8713sx_dp0_out: endpoint {
- remote-endpoint = <&dp0_connector_in>;
- };
- };
-
- port@2 {
- reg = <2>;
-
- lt8713sx_dp1_out: endpoint {
- remote-endpoint = <&dp1_connector_in>;
- };
- };
- };
- };
-};
-
-&i2c1 {
- pinctrl-0 = <&qup_i2c1_default>;
- pinctrl-names = "default";
-
- status = "okay";
-
- fan_controller: fan@18 {
- compatible = "ti,amc6821";
- reg = <0x18>;
- #pwm-cells = <2>;
-
- fan {
- pwms = <&fan_controller 40000 PWM_POLARITY_INVERTED>;
- };
- };
-
- eeprom0: eeprom@50 {
- compatible = "atmel,24c256";
- reg = <0x50>;
- pagesize = <64>;
-
- nvmem-layout {
- compatible = "fixed-layout";
- #address-cells = <1>;
- #size-cells = <1>;
-
- mac_addr0: mac-addr@0 {
- reg = <0x0 0x6>;
- };
- };
- };
-};
-
-&i2c15 {
- pinctrl-0 = <&qup_i2c15_default>;
- pinctrl-names = "default";
-
- status = "okay";
-
- expander0: gpio@38 {
- compatible = "ti,tca9538";
- reg = <0x38>;
- #gpio-cells = <2>;
- gpio-controller;
- #interrupt-cells = <2>;
- interrupt-controller;
- interrupts-extended = <&tlmm 56 IRQ_TYPE_LEVEL_LOW>;
- pinctrl-0 = <&expander0_int>;
- pinctrl-names = "default";
- };
-
- expander1: gpio@39 {
- compatible = "ti,tca9538";
- reg = <0x39>;
- #gpio-cells = <2>;
- gpio-controller;
- #interrupt-cells = <2>;
- interrupt-controller;
- interrupts-extended = <&tlmm 16 IRQ_TYPE_LEVEL_LOW>;
- pinctrl-0 = <&expander1_int>;
- pinctrl-names = "default";
- };
-
- expander2: gpio@3a {
- compatible = "ti,tca9538";
- reg = <0x3a>;
- #gpio-cells = <2>;
- gpio-controller;
- #interrupt-cells = <2>;
- interrupt-controller;
- interrupts-extended = <&tlmm 95 IRQ_TYPE_LEVEL_LOW>;
- pinctrl-0 = <&expander2_int>;
- pinctrl-names = "default";
- };
-
- expander3: gpio@3b {
- compatible = "ti,tca9538";
- reg = <0x3b>;
- #gpio-cells = <2>;
- gpio-controller;
- #interrupt-cells = <2>;
- interrupt-controller;
- interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;
- pinctrl-0 = <&expander3_int>;
- pinctrl-names = "default";
- };
-
- expander4: gpio@3c {
- compatible = "ti,tca9538";
- reg = <0x3c>;
- #gpio-cells = <2>;
- gpio-controller;
- #interrupt-cells = <2>;
- interrupt-controller;
- interrupts-extended = <&tlmm 96 IRQ_TYPE_LEVEL_LOW>;
- pinctrl-0 = <&expander4_int>;
- pinctrl-names = "default";
- };
-
- expander5: gpio@3d {
- compatible = "ti,tca9538";
- reg = <0x3d>;
- #gpio-cells = <2>;
- gpio-controller;
- #interrupt-cells = <2>;
- interrupt-controller;
- interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
- pinctrl-0 = <&expander5_int>;
- pinctrl-names = "default";
- };
-
- expander6: gpio@3e {
- compatible = "ti,tca9538";
- reg = <0x3e>;
- #gpio-cells = <2>;
- gpio-controller;
- #interrupt-cells = <2>;
- interrupt-controller;
- interrupts-extended = <&tlmm 52 IRQ_TYPE_LEVEL_LOW>;
- pinctrl-0 = <&expander6_int>;
- pinctrl-names = "default";
- };
-};
-
-&iris {
- status = "okay";
-};
-
-&mdss {
- status = "okay";
-};
-
-&mdss_dp0 {
- pinctrl-0 = <&dp_hot_plug_det>;
- pinctrl-names = "default";
-
- status = "okay";
-};
-
-&mdss_dp0_out {
- data-lanes = <0 1 2 3>;
- link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
- remote-endpoint = <<8713sx_dp_in>;
-};
-
-&mdss_dp0_phy {
- vdda-phy-supply = <&vreg_l5a>;
- vdda-pll-supply = <&vreg_l4a>;
-
- status = "okay";
-};
-
-&pcie0 {
- pinctrl-0 = <&pcie0_default_state>;
- pinctrl-names = "default";
-
- status = "okay";
-};
-
-&pcie0_phy {
- vdda-phy-supply = <&vreg_l6a>;
- vdda-pll-supply = <&vreg_l5a>;
-
- status = "okay";
-};
-
-&pcie1 {
- pinctrl-0 = <&pcie1_default_state>;
- pinctrl-names = "default";
-
- status = "okay";
-};
-
-&pcie1_phy {
- vdda-phy-supply = <&vreg_l6a>;
- vdda-pll-supply = <&vreg_l5a>;
-
- status = "okay";
-};
-
-&pcieport0 {
- reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
-};
-
-&pcieport1 {
- reset-gpios = <&tlmm 23 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
-};
-
-&pmm8620au_0_gpios {
- usb2_id: usb2-id-state {
- pins = "gpio9";
- function = "normal";
- input-enable;
- bias-pull-up;
- power-source = <0>;
- };
-};
-
-&qup_i2c0_data_clk {
- drive-strength = <2>;
- bias-pull-up;
-};
-
-&qupv3_id_0 {
- firmware-name = "qcom/qcs8300/qupv3fw.elf";
- status = "okay";
-};
-
-&qupv3_id_1 {
- firmware-name = "qcom/qcs8300/qupv3fw.elf";
- status = "okay";
-};
-
-&remoteproc_adsp {
- firmware-name = "qcom/qcs8300/adsp.mbn";
-
- status = "okay";
-};
-
-&remoteproc_cdsp {
- firmware-name = "qcom/qcs8300/cdsp0.mbn";
-
- status = "okay";
-};
-
-&remoteproc_gpdsp {
- firmware-name = "qcom/qcs8300/gpdsp0.mbn";
-
- status = "okay";
-};
-
&sdhc_1 {
vmmc-supply = <&vreg_l8a>;
vqmmc-supply = <&vreg_s2s>;
@@ -704,222 +31,3 @@ &sdhc_1 {
status = "okay";
};
-
-&serdes0 {
- phy-supply = <&vreg_l4a>;
-
- status = "okay";
-};
-
-&spi10 {
- status = "okay";
-
- tpm@0 {
- compatible = "st,st33htpm-spi", "tcg,tpm_tis-spi";
- reg = <0>;
- spi-max-frequency = <20000000>;
- };
-};
-
-&tlmm {
- pcie0_default_state: pcie0-default-state {
- wake-pins {
- pins = "gpio0";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- clkreq-pins {
- pins = "gpio1";
- function = "pcie0_clkreq";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- perst-pins {
- pins = "gpio2";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
-
- ethernet0_default: ethernet0-default-state {
- ethernet0_mdc: ethernet0-mdc-pins {
- pins = "gpio5";
- function = "emac0_mdc";
- drive-strength = <16>;
- bias-pull-up;
- };
-
- ethernet0_mdio: ethernet0-mdio-pins {
- pins = "gpio6";
- function = "emac0_mdio";
- drive-strength = <16>;
- bias-pull-up;
- };
- };
-
- expander5_int: expander5-int-state {
- pins = "gpio3";
- function = "gpio";
- bias-pull-up;
- };
-
- expander1_int: expander1-int-state {
- pins = "gpio16";
- function = "gpio";
- bias-pull-up;
- };
-
- qup_i2c1_default: qup-i2c1-state {
- pins = "gpio19", "gpio20";
- function = "qup0_se1";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- pcie1_default_state: pcie1-default-state {
- wake-pins {
- pins = "gpio21";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- clkreq-pins {
- pins = "gpio22";
- function = "pcie1_clkreq";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- perst-pins {
- pins = "gpio23";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
-
- expander3_int: expander3-int-state {
- pins = "gpio24";
- function = "gpio";
- bias-pull-up;
- };
-
- expander6_int: expander6-int-state {
- pins = "gpio52";
- function = "gpio";
- bias-pull-up;
- };
-
- expander0_int: expander0-int-state {
- pins = "gpio56";
- function = "gpio";
- bias-pull-up;
- };
-
- cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state {
- pins = "gpio73";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- cam1_avdd_2v8_en_default: cam1-avdd-2v8-en-state {
- pins = "gpio74";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- cam2_avdd_2v8_en_default: cam2-avdd-2v8-en-state {
- pins = "gpio75";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- qup_i2c15_default: qup-i2c15-state {
- pins = "gpio91", "gpio92";
- function = "qup1_se7";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- expander2_int: expander2-int-state {
- pins = "gpio95";
- function = "gpio";
- bias-pull-up;
- };
-
- expander4_int: expander4-int-state {
- pins = "gpio96";
- function = "gpio";
- bias-pull-up;
- };
-};
-
-&uart6 {
- status = "okay";
-};
-
-&uart7 {
- status = "okay";
-};
-
-&ufs_mem_hc {
- reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
- vcc-supply = <&vreg_l8a>;
- vcc-max-microamp = <1100000>;
- vccq-supply = <&vreg_l4c>;
- vccq-max-microamp = <1200000>;
-
- status = "okay";
-};
-
-&ufs_mem_phy {
- vdda-phy-supply = <&vreg_l4a>;
- vdda-pll-supply = <&vreg_l5a>;
-
- status = "okay";
-};
-
-&usb_1 {
- dr_mode = "peripheral";
-
- status = "okay";
-};
-
-&usb_1_hsphy {
- vdda-pll-supply = <&vreg_l7a>;
- vdda18-supply = <&vreg_l7c>;
- vdda33-supply = <&vreg_l9a>;
-
- status = "okay";
-};
-
-&usb_qmpphy {
- vdda-phy-supply = <&vreg_l7a>;
- vdda-pll-supply = <&vreg_l5a>;
-
- status = "okay";
-};
-
-&usb_2 {
- status = "okay";
-};
-
-&usb_2_dwc3_hs {
- remote-endpoint = <&usb2_con_hs_ep>;
-};
-
-&usb_2_hsphy {
- vdda-pll-supply = <&vreg_l7a>;
- vdda18-supply = <&vreg_l7c>;
- vdda33-supply = <&vreg_l9a>;
-
- status = "okay";
-};
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v4 2/4] dt-bindings: arm: qcom: Add monaco-ac-evk support
2026-04-27 17:05 [PATCH v4 0/4] arm64: dts: qcom: Introduce support for monaco-ac-evk Umang Chheda
2026-04-27 17:05 ` [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi Umang Chheda
@ 2026-04-27 17:05 ` Umang Chheda
2026-04-27 17:05 ` [PATCH v4 3/4] arm64: dts: qcom: monaco: Add monaco-ac EVK board Umang Chheda
2026-04-27 17:05 ` [PATCH v4 4/4] arm64: dts: qcom: monaco-ac-evk: Add IFP mezzanine Umang Chheda
3 siblings, 0 replies; 15+ messages in thread
From: Umang Chheda @ 2026-04-27 17:05 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel, umang.chheda,
Krzysztof Kozlowski
Introduce bindings for the monaco-ac-evk IoT board, which is
based on the monaco-ac (QCS8300-AC) SoC variant.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index b4943123d2e4..7531ab3143a6 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -918,6 +918,7 @@ properties:
- items:
- enum:
- arduino,monza
+ - qcom,monaco-ac-evk
- qcom,monaco-evk
- qcom,qcs8300-ride
- const: qcom,qcs8300
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v4 3/4] arm64: dts: qcom: monaco: Add monaco-ac EVK board
2026-04-27 17:05 [PATCH v4 0/4] arm64: dts: qcom: Introduce support for monaco-ac-evk Umang Chheda
2026-04-27 17:05 ` [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi Umang Chheda
2026-04-27 17:05 ` [PATCH v4 2/4] dt-bindings: arm: qcom: Add monaco-ac-evk support Umang Chheda
@ 2026-04-27 17:05 ` Umang Chheda
2026-05-04 12:53 ` Konrad Dybcio
2026-04-27 17:05 ` [PATCH v4 4/4] arm64: dts: qcom: monaco-ac-evk: Add IFP mezzanine Umang Chheda
3 siblings, 1 reply; 15+ messages in thread
From: Umang Chheda @ 2026-04-27 17:05 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel, umang.chheda,
Faruque Ansari
Add initial device tree support for monaco-ac EVK board, based
on Qualcomm's monaco-ac (QCS8300-AC) variant SoC.
Compared to the existing monaco-evk board, which is based on the
QCS8300-AA SKU and uses a four-PMIC power delivery network
(2x PM8650AU, Maxim MAX20018, TI TPS6594) to support higher power
requirements, the monaco-ac EVK uses QCS8300-AC SKU
(with 20 TOPS NPU capability) and a simplified two-PMIC power
delivery network (2x PM8650AU).
Apart from the SoC SKU and PDN differences, the board layout and
peripherals are equivalent to the monaco-evk design and are reused
accordingly.
Co-developed-by: Faruque Ansari <faruque.ansari@oss.qualcomm.com>
Signed-off-by: Faruque Ansari <faruque.ansari@oss.qualcomm.com>
Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/monaco-ac-evk.dts | 31 ++++++++++++++++++++++
2 files changed, 32 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-ac-evk.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 4ba8e7306419..852d2b86407b 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -57,6 +57,7 @@ dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += monaco-arduino-monza.dtb
+dtb-$(CONFIG_ARCH_QCOM) += monaco-ac-evk.dtb
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk.dtb
monaco-evk-camera-imx577-dtbs := monaco-evk.dtb monaco-evk-camera-imx577.dtbo
diff --git a/arch/arm64/boot/dts/qcom/monaco-ac-evk.dts b/arch/arm64/boot/dts/qcom/monaco-ac-evk.dts
new file mode 100644
index 000000000000..6405d1e1939b
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-ac-evk.dts
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include "monaco-evk-common.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco-ac EVK";
+ compatible = "qcom,monaco-ac-evk", "qcom,qcs8300";
+};
+
+&apps_rsc {
+ regulators-0 {
+ vreg_s4a: smps4 {
+ regulator-name = "vreg_s4a";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s9a: smps9 {
+ regulator-name = "vreg_s9a";
+ regulator-min-microvolt = <1352000>;
+ regulator-max-microvolt = <1352000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v4 4/4] arm64: dts: qcom: monaco-ac-evk: Add IFP mezzanine
2026-04-27 17:05 [PATCH v4 0/4] arm64: dts: qcom: Introduce support for monaco-ac-evk Umang Chheda
` (2 preceding siblings ...)
2026-04-27 17:05 ` [PATCH v4 3/4] arm64: dts: qcom: monaco: Add monaco-ac EVK board Umang Chheda
@ 2026-04-27 17:05 ` Umang Chheda
3 siblings, 0 replies; 15+ messages in thread
From: Umang Chheda @ 2026-04-27 17:05 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel, umang.chheda
monaco-ac-evk board supports monaco-evk-ifp-mezzanine attach.
Add combined DTB for the same by merging monaco-ac-evk.dtb with
monaco-evk-ifp-mezzanine overlay.
Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 852d2b86407b..25013a408062 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -66,6 +66,9 @@ dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-camera-imx577.dtb
monaco-evk-el2-dtbs := monaco-evk.dtb monaco-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-el2.dtb
+
+monaco-ac-evk-ifp-mezzanine-dtbs := monaco-ac-evk.dtb monaco-evk-ifp-mezzanine.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += monaco-ac-evk-ifp-mezzanine.dtb
monaco-evk-ifp-mezzanine-dtbs := monaco-evk.dtb monaco-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-ifp-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8216-samsung-fortuna3g.dtb
--
2.34.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/4] arm64: dts: qcom: monaco: Add monaco-ac EVK board
2026-04-27 17:05 ` [PATCH v4 3/4] arm64: dts: qcom: monaco: Add monaco-ac EVK board Umang Chheda
@ 2026-05-04 12:53 ` Konrad Dybcio
2026-05-04 19:16 ` Umang Chheda
0 siblings, 1 reply; 15+ messages in thread
From: Konrad Dybcio @ 2026-05-04 12:53 UTC (permalink / raw)
To: Umang Chheda, andersson, konradybcio, robh, krzk+dt, conor+dt,
richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel, Faruque Ansari
On 4/27/26 7:05 PM, Umang Chheda wrote:
> Add initial device tree support for monaco-ac EVK board, based
> on Qualcomm's monaco-ac (QCS8300-AC) variant SoC.
[...]
> +&apps_rsc {
> + regulators-0 {
> + vreg_s4a: smps4 {
> + regulator-name = "vreg_s4a";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s9a: smps9 {
> + regulator-name = "vreg_s9a";
> + regulator-min-microvolt = <1352000>;
> + regulator-max-microvolt = <1352000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
Since these are on a PMIC that is present on both full and lite SKUs,
are these rails also connected on the other one (perhaps with a
different voltage setting)? Currently they're completely absent
Konrad
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi
2026-04-27 17:05 ` [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi Umang Chheda
@ 2026-05-04 12:57 ` Konrad Dybcio
2026-05-04 18:28 ` Umang Chheda
2026-05-04 20:19 ` Krzysztof Kozlowski
2026-05-04 18:44 ` Dmitry Baryshkov
1 sibling, 2 replies; 15+ messages in thread
From: Konrad Dybcio @ 2026-05-04 12:57 UTC (permalink / raw)
To: Umang Chheda, andersson, konradybcio, robh, krzk+dt, conor+dt,
richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel
On 4/27/26 7:05 PM, Umang Chheda wrote:
> The monaco-ac EVK is a new board variant which shares the majority of
> its hardware description with the existing monaco-evk board.
>
> In preparation for adding this variant, extract the common hardware
> nodes from monaco-evk.dts into a new shared monaco-evk-common.dtsi
> include file, and update monaco-evk.dts to include it and keep only
> board-specific overrides.
>
> No functional change intended.
>
> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
> ---
The patch is a bit difficult to view as-is, but the gist of it is that
the resulting monaco-evk.dts is:
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
/dts-v1/;
#include "monaco-evk-common.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Monaco EVK";
compatible = "qcom,monaco-evk", "qcom,qcs8300";
/* This comes from a PMIC handled within the SAIL domain */
vreg_s2s: vreg-s2s {
compatible = "regulator-fixed";
regulator-name = "vreg_s2s";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
};
&sdhc_1 {
vmmc-supply = <&vreg_l8a>;
vqmmc-supply = <&vreg_s2s>;
no-sd;
no-sdio;
non-removable;
status = "okay";
};
which begs the question - is the eMMC only there on the non-AC SKU?
Konrad
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi
2026-05-04 12:57 ` Konrad Dybcio
@ 2026-05-04 18:28 ` Umang Chheda
2026-05-04 20:19 ` Krzysztof Kozlowski
1 sibling, 0 replies; 15+ messages in thread
From: Umang Chheda @ 2026-05-04 18:28 UTC (permalink / raw)
To: Konrad Dybcio, andersson, konradybcio, robh, krzk+dt, conor+dt,
richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel
Hello Konrad,
Thanks for reviewing the patch
On 5/4/2026 6:27 PM, Konrad Dybcio wrote:
> On 4/27/26 7:05 PM, Umang Chheda wrote:
>> The monaco-ac EVK is a new board variant which shares the majority of
>> its hardware description with the existing monaco-evk board.
>>
>> In preparation for adding this variant, extract the common hardware
>> nodes from monaco-evk.dts into a new shared monaco-evk-common.dtsi
>> include file, and update monaco-evk.dts to include it and keep only
>> board-specific overrides.
>>
>> No functional change intended.
>>
>> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
>> ---
>
> The patch is a bit difficult to view as-is, but the gist of it is that
> the resulting monaco-evk.dts is:
>
> // SPDX-License-Identifier: BSD-3-Clause
> /*
> * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> */
>
> /dts-v1/;
>
> #include "monaco-evk-common.dtsi"
>
> / {
> model = "Qualcomm Technologies, Inc. Monaco EVK";
> compatible = "qcom,monaco-evk", "qcom,qcs8300";
>
> /* This comes from a PMIC handled within the SAIL domain */
> vreg_s2s: vreg-s2s {
> compatible = "regulator-fixed";
> regulator-name = "vreg_s2s";
>
> regulator-min-microvolt = <1800000>;
> regulator-max-microvolt = <1800000>;
> };
> };
>
> &sdhc_1 {
> vmmc-supply = <&vreg_l8a>;
> vqmmc-supply = <&vreg_s2s>;
>
> no-sd;
> no-sdio;
> non-removable;
>
> status = "okay";
> };
>
>
> which begs the question - is the eMMC only there on the non-AC SKU?
AC SKU as well has eMMC - though it uses another power rail. Currently
changes are not yet ready for the AC SKU hence haven't added the support
yet. will raise another patch - once it's ready.
>
> Konrad
Thanks,
Umang
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi
2026-04-27 17:05 ` [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi Umang Chheda
2026-05-04 12:57 ` Konrad Dybcio
@ 2026-05-04 18:44 ` Dmitry Baryshkov
2026-05-04 19:26 ` Umang Chheda
1 sibling, 1 reply; 15+ messages in thread
From: Dmitry Baryshkov @ 2026-05-04 18:44 UTC (permalink / raw)
To: Umang Chheda
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, richardcochran,
linux-arm-msm, devicetree, linux-kernel
On Mon, Apr 27, 2026 at 10:35:02PM +0530, Umang Chheda wrote:
> The monaco-ac EVK is a new board variant which shares the majority of
> its hardware description with the existing monaco-evk board.
No, this is not a good reason. Is there a common PCB? There was a long
discussion for it for the Hamoa / Purwa EVK.
>
> In preparation for adding this variant, extract the common hardware
> nodes from monaco-evk.dts into a new shared monaco-evk-common.dtsi
> include file, and update monaco-evk.dts to include it and keep only
> board-specific overrides.
>
> No functional change intended.
>
> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
> ---
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/4] arm64: dts: qcom: monaco: Add monaco-ac EVK board
2026-05-04 12:53 ` Konrad Dybcio
@ 2026-05-04 19:16 ` Umang Chheda
0 siblings, 0 replies; 15+ messages in thread
From: Umang Chheda @ 2026-05-04 19:16 UTC (permalink / raw)
To: Konrad Dybcio, andersson, konradybcio, robh, krzk+dt, conor+dt,
richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel, Faruque Ansari
On 5/4/2026 6:23 PM, Konrad Dybcio wrote:
> On 4/27/26 7:05 PM, Umang Chheda wrote:
>> Add initial device tree support for monaco-ac EVK board, based
>> on Qualcomm's monaco-ac (QCS8300-AC) variant SoC.
>
> [...]
>
>
>> +&apps_rsc {
>> + regulators-0 {
>> + vreg_s4a: smps4 {
>> + regulator-name = "vreg_s4a";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + };
>> +
>> + vreg_s9a: smps9 {
>> + regulator-name = "vreg_s9a";
>> + regulator-min-microvolt = <1352000>;
>> + regulator-max-microvolt = <1352000>;
>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> + };
>
> Since these are on a PMIC that is present on both full and lite SKUs,
> are these rails also connected on the other one (perhaps with a
> different voltage setting)? Currently they're completely absent
on the other variant the power-grid is little different and these rails
are not used by any of the consumers on HLOS/APPS side - hence not added.
>
> Konrad
Thanks,
Umang
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi
2026-05-04 18:44 ` Dmitry Baryshkov
@ 2026-05-04 19:26 ` Umang Chheda
2026-05-04 23:28 ` Dmitry Baryshkov
0 siblings, 1 reply; 15+ messages in thread
From: Umang Chheda @ 2026-05-04 19:26 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, richardcochran,
linux-arm-msm, devicetree, linux-kernel
Hello Dmitry,
On 5/5/2026 12:14 AM, Dmitry Baryshkov wrote:
> On Mon, Apr 27, 2026 at 10:35:02PM +0530, Umang Chheda wrote:
>> The monaco-ac EVK is a new board variant which shares the majority of
>> its hardware description with the existing monaco-evk board.
>
> No, this is not a good reason. Is there a common PCB? There was a long
> discussion for it for the Hamoa / Purwa EVK.
PCB is not common for these 2 boards.
Also, not sure if I mis-understood you - You had mentioned to have a
common file for both the variants [1] in the earlier version of patch
hence refactored it this way.
[1]
https://lore.kernel.org/lkml/7r6373fo56alzqa4e2zzdnsgwfhgdkmbhxe4cvdo4p7fg3zren@eyiml4uedfbn/
>
>>
>> In preparation for adding this variant, extract the common hardware
>> nodes from monaco-evk.dts into a new shared monaco-evk-common.dtsi
>> include file, and update monaco-evk.dts to include it and keep only
>> board-specific overrides.
>>
>> No functional change intended.
>>
>> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
>> ---
>
Thanks,
Umang
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi
2026-05-04 12:57 ` Konrad Dybcio
2026-05-04 18:28 ` Umang Chheda
@ 2026-05-04 20:19 ` Krzysztof Kozlowski
2026-05-05 13:53 ` Umang Chheda
1 sibling, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-04 20:19 UTC (permalink / raw)
To: Konrad Dybcio, Umang Chheda, andersson, konradybcio, robh,
krzk+dt, conor+dt, richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel
On 04/05/2026 14:57, Konrad Dybcio wrote:
> On 4/27/26 7:05 PM, Umang Chheda wrote:
>> The monaco-ac EVK is a new board variant which shares the majority of
>> its hardware description with the existing monaco-evk board.
>>
>> In preparation for adding this variant, extract the common hardware
>> nodes from monaco-evk.dts into a new shared monaco-evk-common.dtsi
>> include file, and update monaco-evk.dts to include it and keep only
>> board-specific overrides.
>>
>> No functional change intended.
>>
>> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
>> ---
>
> The patch is a bit difficult to view as-is, but the gist of it is that
> the resulting monaco-evk.dts is:
Diff should be fixed and since this is not even b4, than producing
proper patch detecting rename is trivial. :/
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi
2026-05-04 19:26 ` Umang Chheda
@ 2026-05-04 23:28 ` Dmitry Baryshkov
2026-05-05 13:47 ` Umang Chheda
0 siblings, 1 reply; 15+ messages in thread
From: Dmitry Baryshkov @ 2026-05-04 23:28 UTC (permalink / raw)
To: Umang Chheda
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, richardcochran,
linux-arm-msm, devicetree, linux-kernel
On Tue, May 05, 2026 at 12:56:15AM +0530, Umang Chheda wrote:
> Hello Dmitry,
>
>
> On 5/5/2026 12:14 AM, Dmitry Baryshkov wrote:
> > On Mon, Apr 27, 2026 at 10:35:02PM +0530, Umang Chheda wrote:
> >> The monaco-ac EVK is a new board variant which shares the majority of
> >> its hardware description with the existing monaco-evk board.
> >
> > No, this is not a good reason. Is there a common PCB? There was a long
> > discussion for it for the Hamoa / Purwa EVK.
>
> PCB is not common for these 2 boards.
>
> Also, not sure if I mis-understood you - You had mentioned to have a
> common file for both the variants [1] in the earlier version of patch
> hence refactored it this way.
There was an explicit question if PCB is the same as a prerequisite for
the unification of DTS
>
> [1]
> https://lore.kernel.org/lkml/7r6373fo56alzqa4e2zzdnsgwfhgdkmbhxe4cvdo4p7fg3zren@eyiml4uedfbn/
>
> >
> >>
> >> In preparation for adding this variant, extract the common hardware
> >> nodes from monaco-evk.dts into a new shared monaco-evk-common.dtsi
> >> include file, and update monaco-evk.dts to include it and keep only
> >> board-specific overrides.
> >>
> >> No functional change intended.
> >>
> >> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
> >> ---
> >
>
> Thanks,
> Umang
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi
2026-05-04 23:28 ` Dmitry Baryshkov
@ 2026-05-05 13:47 ` Umang Chheda
0 siblings, 0 replies; 15+ messages in thread
From: Umang Chheda @ 2026-05-05 13:47 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, richardcochran,
linux-arm-msm, devicetree, linux-kernel
Hi Dmitry,
On 5/5/2026 4:58 AM, Dmitry Baryshkov wrote:
> On Tue, May 05, 2026 at 12:56:15AM +0530, Umang Chheda wrote:
>> Hello Dmitry,
>>
>>
>> On 5/5/2026 12:14 AM, Dmitry Baryshkov wrote:
>>> On Mon, Apr 27, 2026 at 10:35:02PM +0530, Umang Chheda wrote:
>>>> The monaco-ac EVK is a new board variant which shares the majority of
>>>> its hardware description with the existing monaco-evk board.
>>>
>>> No, this is not a good reason. Is there a common PCB? There was a long
>>> discussion for it for the Hamoa / Purwa EVK.
>>
>> PCB is not common for these 2 boards.
>>
>> Also, not sure if I mis-understood you - You had mentioned to have a
>> common file for both the variants [1] in the earlier version of patch
>> hence refactored it this way.
>
> There was an explicit question if PCB is the same as a prerequisite for
> the unification of DTS
Thanks for the clarification.
This was discussed in the earlier v2 [1] — even though the PCB is not
common, the majority of the hardware blocks and their wiring are
functionally identical between monaco-evk and monaco-ac-evk, with only
difference in H/W being 4 PMIC in monaco-evk v/s 2 PMIC on monaco-ac-evk
and the rail which is supplied to the SDHC controller.
The intent here is to avoid duplication across the two boards rather
than imply a shared PCB, similar to what was discussed earlier.
If this approach is still not acceptable without a common PCB, can I
drop the refactoring and keep the DTS files fully separate ?
[1]
https://lore.kernel.org/all/8f79000d-ccbb-403c-871c-7a36423c9eee@oss.qualcomm.com/
>
>>
>> [1]
>> https://lore.kernel.org/lkml/7r6373fo56alzqa4e2zzdnsgwfhgdkmbhxe4cvdo4p7fg3zren@eyiml4uedfbn/
>>
>>>
>>>>
>>>> In preparation for adding this variant, extract the common hardware
>>>> nodes from monaco-evk.dts into a new shared monaco-evk-common.dtsi
>>>> include file, and update monaco-evk.dts to include it and keep only
>>>> board-specific overrides.
>>>>
>>>> No functional change intended.
>>>>
>>>> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
>>>> ---
>>>
>>
>> Thanks,
>> Umang
>>
>
Thanks,
Umang
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi
2026-05-04 20:19 ` Krzysztof Kozlowski
@ 2026-05-05 13:53 ` Umang Chheda
0 siblings, 0 replies; 15+ messages in thread
From: Umang Chheda @ 2026-05-05 13:53 UTC (permalink / raw)
To: Krzysztof Kozlowski, Konrad Dybcio, andersson, konradybcio, robh,
krzk+dt, conor+dt, richardcochran
Cc: linux-arm-msm, devicetree, linux-kernel
Hello Krzysztof,
On 5/5/2026 1:49 AM, Krzysztof Kozlowski wrote:
> On 04/05/2026 14:57, Konrad Dybcio wrote:
>> On 4/27/26 7:05 PM, Umang Chheda wrote:
>>> The monaco-ac EVK is a new board variant which shares the majority of
>>> its hardware description with the existing monaco-evk board.
>>>
>>> In preparation for adding this variant, extract the common hardware
>>> nodes from monaco-evk.dts into a new shared monaco-evk-common.dtsi
>>> include file, and update monaco-evk.dts to include it and keep only
>>> board-specific overrides.
>>>
>>> No functional change intended.
>>>
>>> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
>>> ---
>>
>> The patch is a bit difficult to view as-is, but the gist of it is that
>> the resulting monaco-evk.dts is:
>
> Diff should be fixed and since this is not even b4, than producing
> proper patch detecting rename is trivial. :/
I acknowledge it's hard to review the patch this way.
I’ll rework the patch to use a proper rename (git mv) and keep the
follow-up changes minimal, so the diff cleanly shows the extraction into
monaco-evk-common.dtsi.
>
> Best regards,
> Krzysztof
Thanks,
Umang
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-05-05 13:53 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-27 17:05 [PATCH v4 0/4] arm64: dts: qcom: Introduce support for monaco-ac-evk Umang Chheda
2026-04-27 17:05 ` [PATCH v4 1/4] arm64: dts: qcom: monaco-evk: Extract common EVK hardware into shared dtsi Umang Chheda
2026-05-04 12:57 ` Konrad Dybcio
2026-05-04 18:28 ` Umang Chheda
2026-05-04 20:19 ` Krzysztof Kozlowski
2026-05-05 13:53 ` Umang Chheda
2026-05-04 18:44 ` Dmitry Baryshkov
2026-05-04 19:26 ` Umang Chheda
2026-05-04 23:28 ` Dmitry Baryshkov
2026-05-05 13:47 ` Umang Chheda
2026-04-27 17:05 ` [PATCH v4 2/4] dt-bindings: arm: qcom: Add monaco-ac-evk support Umang Chheda
2026-04-27 17:05 ` [PATCH v4 3/4] arm64: dts: qcom: monaco: Add monaco-ac EVK board Umang Chheda
2026-05-04 12:53 ` Konrad Dybcio
2026-05-04 19:16 ` Umang Chheda
2026-04-27 17:05 ` [PATCH v4 4/4] arm64: dts: qcom: monaco-ac-evk: Add IFP mezzanine Umang Chheda
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox