* [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit
@ 2025-09-05 19:23 Umang Chheda
2025-09-05 19:23 ` [PATCH v4 1/4] dt-bindings: arm: qcom: Add Monaco EVK support Umang Chheda
` (4 more replies)
0 siblings, 5 replies; 13+ messages in thread
From: Umang Chheda @ 2025-09-05 19:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Richard Cochran
Cc: linux-arm-msm, devicetree, linux-kernel, Umang Chheda
Add support for Qualcomm's Monaco Evaluation Kit (EVK) without
safety monitoring feature of Safety Island(SAIL) subsystem.
This board is based on Qualcomm's QCS8300 SoC.
Monaco 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.
Dependency:
- The ethernet PHY QCA8081 depends on CONFIG_QCA808X_PHY, without
which ethernet will not work.
---
Changelog:
v4:
- Remove LPM mode support for all the regulators - will be selectively
enabled later for the clients which support LPM mode voting [Bjorn].
- Add the correct copyright [Bjorn].
- Refine subject and commit text of Board DT change [Bjorn].
- Use generic node names for GPIO expander [Krzysztof].
- Drop firmware reference from commit description for iris video
decoder change [Dmitry].
- Update Board DT patch commit text to indicate USB OTG mode will
be enabled for USB1 controller once the VBUS control based on ID pin
is implemented in hd3ss3220.c driver - Similar to discussion for
lemans-evk [5] [Dmitry].
- Drop Signed-off and Co-developed-by Tag of co-authors instead mention
the co-authors in the commit text.
- Remove the redundant snps,ps-speed property from the ethernet node as
the MAC is actually relying on PCS auto-negotiation to set its speed
(via ethqos_configure_sgmii called as part of mac_link_up).
- Add Audio change to support capture and playback on I2S.
- v3-link: [4]
v3:
- Include changelog in proper format and make it more verbose [Krzysztof].
- Fix subject line of dt-bindings change [Krzysztof].
- Move the H/W peripheral information added in cover letter to commit text
of Board DT change [Krzysztof].
- Include 'qcs8300-pmics.dtsi' in the Board DT [Dmitry].
- Enable below peripherals as suggested by Dmitry and Konrad to include more
peripherals in this series itself :
- GPI (Generic Peripheral Interface) DMA controllers and QUPv3 controllers
for peripheral communication.
- I2C based devices like GPIO I/O expander and EEPROM.
- USB1 controller in device mode.
- Re-enable Remoteproc subsystems ADSP, CDSP & GPDSP as fix [3] is
merged.
- Qca8081 2.5G Ethernet PHY.
- Iris video decoder.
- Update the Board DT change commit text to reflect the above
newly added peripherals changes.
- v2-link: [2]
v2:
- Address Bjorn's comment to rename the board filename and
compatible to monaco-evk.
- Include the bindings for monaco-evk with the existing qcs8300-soc
itself instead of adding a new SoC binding.
- Drop remoteproc support as qcom remoteproc driver is currently
broken in upstream [3]
- v1-link: [1]
[1] https://lore.kernel.org/all/20250623130420.3981916-1-umang.chheda@oss.qualcomm.com/
[2] https://lore.kernel.org/all/b376d130-2816-42b1-a8c1-1962ee0c2cd7@oss.qualcomm.com/
[3] https://lore.kernel.org/all/20250804-mdtloader-changes-v1-3-5e74629a2241@oss.qualcomm.com/
[4] https://lore.kernel.org/all/20250826181506.3698370-1-umang.chheda@oss.qualcomm.com/
[5] https://lore.kernel.org/lkml/d6816cc6-c69e-4746-932e-8b030ca17245@oss.qualcomm.com/
---
Mohammad Rafi Shaik (2):
arm64: dts: qcom: qcs8300: Add gpr node
arm64: dts: qcom: monaco-evk: Add sound card
Umang Chheda (2):
dt-bindings: arm: qcom: Add Monaco EVK support
arm64: dts: qcom: qcs8300: Add Monaco EVK board
.../devicetree/bindings/arm/qcom.yaml | 1 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/monaco-evk.dts | 511 ++++++++++++++++++
arch/arm64/boot/dts/qcom/qcs8300.dtsi | 77 +++
4 files changed, 590 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk.dts
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 1/4] dt-bindings: arm: qcom: Add Monaco EVK support
2025-09-05 19:23 [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Umang Chheda
@ 2025-09-05 19:23 ` Umang Chheda
2025-09-05 19:23 ` [PATCH v4 2/4] arm64: dts: qcom: qcs8300: Add Monaco EVK board Umang Chheda
` (3 subsequent siblings)
4 siblings, 0 replies; 13+ messages in thread
From: Umang Chheda @ 2025-09-05 19:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Richard Cochran
Cc: linux-arm-msm, devicetree, linux-kernel, Umang Chheda,
Krzysztof Kozlowski
Introduce new bindings for the Monaco Evaluation Kit (EVK),
an IoT board based on the QCS8300 SoC.
Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
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 0110be27c4f6..7d47d0c04376 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -855,6 +855,7 @@ properties:
- items:
- enum:
+ - qcom,monaco-evk
- qcom,qcs8300-ride
- const: qcom,qcs8300
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 2/4] arm64: dts: qcom: qcs8300: Add Monaco EVK board
2025-09-05 19:23 [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Umang Chheda
2025-09-05 19:23 ` [PATCH v4 1/4] dt-bindings: arm: qcom: Add Monaco EVK support Umang Chheda
@ 2025-09-05 19:23 ` Umang Chheda
2025-09-08 15:52 ` Konrad Dybcio
2025-09-05 19:23 ` [PATCH v4 3/4] arm64: dts: qcom: qcs8300: Add gpr node Umang Chheda
` (2 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Umang Chheda @ 2025-09-05 19:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Richard Cochran
Cc: linux-arm-msm, devicetree, linux-kernel, Umang Chheda
Monaco EVK is a single board computer, based on the Qualcomm
QCS8300 SoC, with the following features :
- Storage: 1 × 128 GB UFS, micro-SD card, EEPROMs for MACs,
and eMMC.
- Audio/Video, Camera & Display ports.
- Connectivity: RJ45 2.5GbE, WLAN/Bluetooth, CAN/CAN-FD.
- PCIe ports.
- USB & UART ports.
On top of Monaco EVK board additional mezzanine boards can be
stacked in future.
Add support for the following components :
- GPI (Generic Peripheral Interface) and QUPv3-0/1
controllers to facilitate DMA and peripheral communication.
- TCA9534 I/O expander via I2C to provide 8 additional GPIO
lines for extended I/O functionality.
- USB1 controller in device mode to support USB peripheral
operations. USB OTG mode will be enabled for USB1 controller
once the VBUS control based on ID pin is implemented in
hd3ss3220.c.
- Remoteproc subsystems for supported DSPs such as Audio DSP,
Compute DSP and Generic DSP, along with their corresponding
firmware.
- Configure nvmem-layout on the I2C EEPROM to store data for Ethernet
and other consumers.
- QCA8081 2.5G Ethernet PHY on port-0 and expose the
Ethernet MAC address via nvmem for network configuration.
It depends on CONFIG_QCA808X_PHY to use QCA8081 PHY.
- Support for the Iris video codec.
Written with inputs from :
Rakesh Kota <rakesh.kota@oss.qualcomm.com> - Regulators.
Nirmesh Kumar Singh <nirmesh.Singh@oss.qualcomm.com> - GPIO expander.
Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com> - GPI/QUP.
Mohd Ayaan Anwar <quic_mohdayaa@quicinc.com> - Ethernet.
Monish Chunara <quic_mchunara@quicinc.com> - EEPROM.
Vikash Garodia <quic_vgarodia@quicinc.com> - Iris Video codec.
Swati Agarwal <swati.agarwal@oss.qualcomm.com> - USB.
Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/monaco-evk.dts | 449 ++++++++++++++++++++++++
2 files changed, 450 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/monaco-evk.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 0a7c308dec36..0e4e0e0b833b 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -30,6 +30,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk.dtb
+dtb-$(CONFIG_ARCH_QCOM) += monaco-evk.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-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
new file mode 100644
index 000000000000..93e9e5322a39
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
@@ -0,0 +1,449 @@
+// 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/regulator/qcom,rpmh-regulator.h>
+
+#include "qcs8300.dtsi"
+#include "qcs8300-pmics.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco EVK";
+ compatible = "qcom,monaco-evk", "qcom,qcs8300";
+
+ aliases {
+ ethernet0 = ðernet0;
+ i2c1 = &i2c1;
+ serial0 = &uart7;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&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";
+};
+
+&i2c1 {
+ pinctrl-0 = <&qup_i2c1_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+
+ 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;
+ };
+
+ expander1: gpio@39 {
+ compatible = "ti,tca9538";
+ reg = <0x39>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ expander2: gpio@3a {
+ compatible = "ti,tca9538";
+ reg = <0x3a>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ expander3: gpio@3b {
+ compatible = "ti,tca9538";
+ reg = <0x3b>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ expander4: gpio@3c {
+ compatible = "ti,tca9538";
+ reg = <0x3c>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ expander5: gpio@3d {
+ compatible = "ti,tca9538";
+ reg = <0x3d>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ expander6: gpio@3e {
+ compatible = "ti,tca9538";
+ reg = <0x3e>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+};
+
+&iris {
+ status = "okay";
+};
+
+&qupv3_id_0 {
+ status = "okay";
+};
+
+&qupv3_id_1 {
+ 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";
+};
+
+&tlmm {
+ 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;
+ };
+ };
+
+ qup_i2c1_default: qup-i2c1-state {
+ pins = "gpio19", "gpio20";
+ function = "qup0_se1";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ qup_i2c15_default: qup-i2c15-state {
+ pins = "gpio91", "gpio92";
+ function = "qup1_se7";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+};
+
+&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 {
+ status = "okay";
+};
+
+&usb_1_dwc3 {
+ dr_mode = "peripheral";
+};
+
+&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";
+};
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 3/4] arm64: dts: qcom: qcs8300: Add gpr node
2025-09-05 19:23 [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Umang Chheda
2025-09-05 19:23 ` [PATCH v4 1/4] dt-bindings: arm: qcom: Add Monaco EVK support Umang Chheda
2025-09-05 19:23 ` [PATCH v4 2/4] arm64: dts: qcom: qcs8300: Add Monaco EVK board Umang Chheda
@ 2025-09-05 19:23 ` Umang Chheda
2025-09-08 15:54 ` Konrad Dybcio
2025-09-05 19:23 ` [PATCH v4 4/4] arm64: dts: qcom: monaco-evk: Add sound card Umang Chheda
2025-09-08 18:48 ` [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Bjorn Andersson
4 siblings, 1 reply; 13+ messages in thread
From: Umang Chheda @ 2025-09-05 19:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Richard Cochran
Cc: linux-arm-msm, devicetree, linux-kernel, Umang Chheda
From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add GPR(Generic Pack router) node along with
APM(Audio Process Manager) and PRM(Proxy resource
Manager) audio services.
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/qcs8300.dtsi | 40 +++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
index 5edb137d1471..8ae843567ea4 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
@@ -18,6 +18,7 @@
#include <dt-bindings/mailbox/qcom-ipcc.h>
#include <dt-bindings/power/qcom,rpmhpd.h>
#include <dt-bindings/power/qcom-rpmpd.h>
+#include <dt-bindings/soc/qcom,gpr.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
/ {
@@ -2427,6 +2428,45 @@ compute-cb@5 {
dma-coherent;
};
};
+
+ gpr {
+ compatible = "qcom,gpr";
+ qcom,glink-channels = "adsp_apps";
+ qcom,domain = <GPR_DOMAIN_ID_ADSP>;
+ qcom,intents = <512 20>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ q6apm: service@1 {
+ compatible = "qcom,q6apm";
+ reg = <GPR_APM_MODULE_IID>;
+ #sound-dai-cells = <0>;
+ qcom,protection-domain = "avs/audio",
+ "msm/adsp/audio_pd";
+
+ q6apmbedai: bedais {
+ compatible = "qcom,q6apm-lpass-dais";
+ #sound-dai-cells = <1>;
+ };
+
+ q6apmdai: dais {
+ compatible = "qcom,q6apm-dais";
+ iommus = <&apps_smmu 0x2001 0x0>;
+ };
+ };
+
+ q6prm: service@2 {
+ compatible = "qcom,q6prm";
+ reg = <GPR_PRM_MODULE_IID>;
+ qcom,protection-domain = "avs/audio",
+ "msm/adsp/audio_pd";
+
+ q6prmcc: clock-controller {
+ compatible = "qcom,q6prm-lpass-clocks";
+ #clock-cells = <2>;
+ };
+ };
+ };
};
};
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v4 4/4] arm64: dts: qcom: monaco-evk: Add sound card
2025-09-05 19:23 [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Umang Chheda
` (2 preceding siblings ...)
2025-09-05 19:23 ` [PATCH v4 3/4] arm64: dts: qcom: qcs8300: Add gpr node Umang Chheda
@ 2025-09-05 19:23 ` Umang Chheda
2025-09-06 19:26 ` Dmitry Baryshkov
2025-09-08 18:48 ` [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Bjorn Andersson
4 siblings, 1 reply; 13+ messages in thread
From: Umang Chheda @ 2025-09-05 19:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Richard Cochran
Cc: linux-arm-msm, devicetree, linux-kernel, Umang Chheda
From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add the sound card for monaco-evk board and verified playback
functionality using the max98357a I2S speaker amplifier and I2S
microphones. The max98357a speaker amplifier is connected via
High-Speed MI2S HS0 interface, while the microphones utilize the
Secondary MI2S interface and also enable required pin controller
gpios for audio.
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/monaco-evk.dts | 52 +++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/qcs8300.dtsi | 37 ++++++++++++++++++
2 files changed, 89 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
index 93e9e5322a39..f3c5d363921e 100644
--- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
+++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
@@ -6,6 +6,7 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "qcs8300.dtsi"
@@ -24,6 +25,57 @@ aliases {
chosen {
stdout-path = "serial0:115200n8";
};
+
+ 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>;
+ };
+
+ 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>;
+ };
+ };
+ };
};
&apps_rsc {
diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
index 8ae843567ea4..8afd77a2d737 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
@@ -4804,6 +4804,43 @@ tlmm: pinctrl@f100000 {
#interrupt-cells = <2>;
wakeup-parent = <&pdc>;
+ hs0_mi2s_active: hs0-mi2s-active-state {
+ pins = "gpio106", "gpio107", "gpio108", "gpio109";
+ function = "hs0_mi2s";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ mi2s1_active: mi2s1-active-state {
+ data0-pins {
+ pins = "gpio100";
+ function = "mi2s1_data0";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ data1-pins {
+ pins = "gpio101";
+ function = "mi2s1_data1";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ sclk-pins {
+ pins = "gpio98";
+ function = "mi2s1_sck";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ ws-pins {
+ pins = "gpio99";
+ function = "mi2s1_ws";
+ drive-strength = <8>;
+ bias-disable;
+ };
+ };
+
qup_i2c0_data_clk: qup-i2c0-data-clk-state {
pins = "gpio17", "gpio18";
function = "qup0_se0";
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 4/4] arm64: dts: qcom: monaco-evk: Add sound card
2025-09-05 19:23 ` [PATCH v4 4/4] arm64: dts: qcom: monaco-evk: Add sound card Umang Chheda
@ 2025-09-06 19:26 ` Dmitry Baryshkov
2025-09-08 14:55 ` Bjorn Andersson
0 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2025-09-06 19:26 UTC (permalink / raw)
To: Umang Chheda
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Richard Cochran, linux-arm-msm, devicetree,
linux-kernel
On Sat, Sep 06, 2025 at 12:53:50AM +0530, Umang Chheda wrote:
> From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
>
> Add the sound card for monaco-evk board and verified playback
> functionality using the max98357a I2S speaker amplifier and I2S
> microphones. The max98357a speaker amplifier is connected via
> High-Speed MI2S HS0 interface, while the microphones utilize the
> Secondary MI2S interface and also enable required pin controller
> gpios for audio.
>
> Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/monaco-evk.dts | 52 +++++++++++++++++++++++++
> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 37 ++++++++++++++++++
> 2 files changed, 89 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
> index 93e9e5322a39..f3c5d363921e 100644
> --- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
> @@ -6,6 +6,7 @@
> /dts-v1/;
>
> #include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/sound/qcom,q6afe.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>
> #include "qcs8300.dtsi"
> @@ -24,6 +25,57 @@ aliases {
> chosen {
> stdout-path = "serial0:115200n8";
> };
> +
> + 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>;
> + };
> +
> + sound {
> + compatible = "qcom,qcs8275-sndcard";
qcs8300
> + model = "MONACO-EVK";
> +
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 4/4] arm64: dts: qcom: monaco-evk: Add sound card
2025-09-06 19:26 ` Dmitry Baryshkov
@ 2025-09-08 14:55 ` Bjorn Andersson
2025-09-08 15:55 ` Konrad Dybcio
0 siblings, 1 reply; 13+ messages in thread
From: Bjorn Andersson @ 2025-09-08 14:55 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Umang Chheda, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Richard Cochran, linux-arm-msm, devicetree,
linux-kernel
On Sat, Sep 06, 2025 at 10:26:23PM +0300, Dmitry Baryshkov wrote:
> On Sat, Sep 06, 2025 at 12:53:50AM +0530, Umang Chheda wrote:
> > From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
> >
> > Add the sound card for monaco-evk board and verified playback
> > functionality using the max98357a I2S speaker amplifier and I2S
> > microphones. The max98357a speaker amplifier is connected via
> > High-Speed MI2S HS0 interface, while the microphones utilize the
> > Secondary MI2S interface and also enable required pin controller
> > gpios for audio.
> >
> > Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
> > Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
> > ---
> > arch/arm64/boot/dts/qcom/monaco-evk.dts | 52 +++++++++++++++++++++++++
> > arch/arm64/boot/dts/qcom/qcs8300.dtsi | 37 ++++++++++++++++++
> > 2 files changed, 89 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
> > index 93e9e5322a39..f3c5d363921e 100644
> > --- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
> > +++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
> > @@ -6,6 +6,7 @@
> > /dts-v1/;
> >
> > #include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/sound/qcom,q6afe.h>
> > #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> >
> > #include "qcs8300.dtsi"
> > @@ -24,6 +25,57 @@ aliases {
> > chosen {
> > stdout-path = "serial0:115200n8";
> > };
> > +
> > + 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>;
> > + };
> > +
> > + sound {
> > + compatible = "qcom,qcs8275-sndcard";
>
> qcs8300
>
If the Monaco EVK actually is QCS8300... But, I presume qcs8275 and
qcs8300 are identical when it comes to sound?
@Mohammad, if this is the case can't we just support the
qcom,monaco-sndcard instead to avoid this confusion?
Regards,
Bjorn
> > + model = "MONACO-EVK";
> > +
>
> --
> With best wishes
> Dmitry
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 2/4] arm64: dts: qcom: qcs8300: Add Monaco EVK board
2025-09-05 19:23 ` [PATCH v4 2/4] arm64: dts: qcom: qcs8300: Add Monaco EVK board Umang Chheda
@ 2025-09-08 15:52 ` Konrad Dybcio
0 siblings, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2025-09-08 15:52 UTC (permalink / raw)
To: Umang Chheda, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Richard Cochran
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/5/25 9:23 PM, Umang Chheda wrote:
> Monaco EVK is a single board computer, based on the Qualcomm
> QCS8300 SoC, with the following features :
> - Storage: 1 × 128 GB UFS, micro-SD card, EEPROMs for MACs,
> and eMMC.
> - Audio/Video, Camera & Display ports.
> - Connectivity: RJ45 2.5GbE, WLAN/Bluetooth, CAN/CAN-FD.
> - PCIe ports.
> - USB & UART ports.
>
> On top of Monaco EVK board additional mezzanine boards can be
> stacked in future.
>
> Add support for the following components :
> - GPI (Generic Peripheral Interface) and QUPv3-0/1
> controllers to facilitate DMA and peripheral communication.
> - TCA9534 I/O expander via I2C to provide 8 additional GPIO
> lines for extended I/O functionality.
> - USB1 controller in device mode to support USB peripheral
> operations. USB OTG mode will be enabled for USB1 controller
> once the VBUS control based on ID pin is implemented in
> hd3ss3220.c.
> - Remoteproc subsystems for supported DSPs such as Audio DSP,
> Compute DSP and Generic DSP, along with their corresponding
> firmware.
> - Configure nvmem-layout on the I2C EEPROM to store data for Ethernet
> and other consumers.
> - QCA8081 2.5G Ethernet PHY on port-0 and expose the
> Ethernet MAC address via nvmem for network configuration.
> It depends on CONFIG_QCA808X_PHY to use QCA8081 PHY.
> - Support for the Iris video codec.
>
> Written with inputs from :
> Rakesh Kota <rakesh.kota@oss.qualcomm.com> - Regulators.
> Nirmesh Kumar Singh <nirmesh.Singh@oss.qualcomm.com> - GPIO expander.
> Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com> - GPI/QUP.
> Mohd Ayaan Anwar <quic_mohdayaa@quicinc.com> - Ethernet.
> Monish Chunara <quic_mchunara@quicinc.com> - EEPROM.
> Vikash Garodia <quic_vgarodia@quicinc.com> - Iris Video codec.
> Swati Agarwal <swati.agarwal@oss.qualcomm.com> - USB.
>
> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 3/4] arm64: dts: qcom: qcs8300: Add gpr node
2025-09-05 19:23 ` [PATCH v4 3/4] arm64: dts: qcom: qcs8300: Add gpr node Umang Chheda
@ 2025-09-08 15:54 ` Konrad Dybcio
0 siblings, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2025-09-08 15:54 UTC (permalink / raw)
To: Umang Chheda, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Richard Cochran
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/5/25 9:23 PM, Umang Chheda wrote:
> From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
>
> Add GPR(Generic Pack router) node along with
Packet*
> APM(Audio Process Manager) and PRM(Proxy resource
> Manager) audio services.
>
> Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 4/4] arm64: dts: qcom: monaco-evk: Add sound card
2025-09-08 14:55 ` Bjorn Andersson
@ 2025-09-08 15:55 ` Konrad Dybcio
2025-09-08 17:20 ` Mohammad Rafi Shaik
0 siblings, 1 reply; 13+ messages in thread
From: Konrad Dybcio @ 2025-09-08 15:55 UTC (permalink / raw)
To: Bjorn Andersson, Dmitry Baryshkov
Cc: Umang Chheda, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Richard Cochran, linux-arm-msm, devicetree,
linux-kernel
On 9/8/25 4:55 PM, Bjorn Andersson wrote:
> On Sat, Sep 06, 2025 at 10:26:23PM +0300, Dmitry Baryshkov wrote:
>> On Sat, Sep 06, 2025 at 12:53:50AM +0530, Umang Chheda wrote:
>>> From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
>>>
>>> Add the sound card for monaco-evk board and verified playback
>>> functionality using the max98357a I2S speaker amplifier and I2S
>>> microphones. The max98357a speaker amplifier is connected via
>>> High-Speed MI2S HS0 interface, while the microphones utilize the
>>> Secondary MI2S interface and also enable required pin controller
>>> gpios for audio.
>>>
>>> Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
>>> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
>>> ---
>>> arch/arm64/boot/dts/qcom/monaco-evk.dts | 52 +++++++++++++++++++++++++
>>> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 37 ++++++++++++++++++
>>> 2 files changed, 89 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
>>> index 93e9e5322a39..f3c5d363921e 100644
>>> --- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
>>> +++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
>>> @@ -6,6 +6,7 @@
>>> /dts-v1/;
>>>
>>> #include <dt-bindings/gpio/gpio.h>
>>> +#include <dt-bindings/sound/qcom,q6afe.h>
>>> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>>>
>>> #include "qcs8300.dtsi"
>>> @@ -24,6 +25,57 @@ aliases {
>>> chosen {
>>> stdout-path = "serial0:115200n8";
>>> };
>>> +
>>> + 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>;
>>> + };
>>> +
>>> + sound {
>>> + compatible = "qcom,qcs8275-sndcard";
>>
>> qcs8300
>>
>
> If the Monaco EVK actually is QCS8300... But, I presume qcs8275 and
> qcs8300 are identical when it comes to sound?
>
> @Mohammad, if this is the case can't we just support the
> qcom,monaco-sndcard instead to avoid this confusion?
Commit 34d340d48e59 ("ASoC: qcom: sc8280xp: Add support for QCS8275")
Unless we choose to ignore that compatible and add "monaco", but I don't
think dt maintainers will love that
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 4/4] arm64: dts: qcom: monaco-evk: Add sound card
2025-09-08 15:55 ` Konrad Dybcio
@ 2025-09-08 17:20 ` Mohammad Rafi Shaik
0 siblings, 0 replies; 13+ messages in thread
From: Mohammad Rafi Shaik @ 2025-09-08 17:20 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Dmitry Baryshkov
Cc: Umang Chheda, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Richard Cochran, linux-arm-msm, devicetree,
linux-kernel
On 9/8/2025 9:25 PM, Konrad Dybcio wrote:
> On 9/8/25 4:55 PM, Bjorn Andersson wrote:
>> On Sat, Sep 06, 2025 at 10:26:23PM +0300, Dmitry Baryshkov wrote:
>>> On Sat, Sep 06, 2025 at 12:53:50AM +0530, Umang Chheda wrote:
>>>> From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
>>>>
>>>> Add the sound card for monaco-evk board and verified playback
>>>> functionality using the max98357a I2S speaker amplifier and I2S
>>>> microphones. The max98357a speaker amplifier is connected via
>>>> High-Speed MI2S HS0 interface, while the microphones utilize the
>>>> Secondary MI2S interface and also enable required pin controller
>>>> gpios for audio.
>>>>
>>>> Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
>>>> Signed-off-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
>>>> ---
>>>> arch/arm64/boot/dts/qcom/monaco-evk.dts | 52 +++++++++++++++++++++++++
>>>> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 37 ++++++++++++++++++
>>>> 2 files changed, 89 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
>>>> index 93e9e5322a39..f3c5d363921e 100644
>>>> --- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
>>>> @@ -6,6 +6,7 @@
>>>> /dts-v1/;
>>>>
>>>> #include <dt-bindings/gpio/gpio.h>
>>>> +#include <dt-bindings/sound/qcom,q6afe.h>
>>>> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>>>>
>>>> #include "qcs8300.dtsi"
>>>> @@ -24,6 +25,57 @@ aliases {
>>>> chosen {
>>>> stdout-path = "serial0:115200n8";
>>>> };
>>>> +
>>>> + 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>;
>>>> + };
>>>> +
>>>> + sound {
>>>> + compatible = "qcom,qcs8275-sndcard";
>>>
>>> qcs8300
>>>
ACK,
>>
>> If the Monaco EVK actually is QCS8300... But, I presume qcs8275 and
>> qcs8300 are identical when it comes to sound?
>>
>> @Mohammad, if this is the case can't we just support the
>> qcom,monaco-sndcard instead to avoid this confusion?
>
The Monaco-EVK board is based on Qualcomm's QCS8300 SoC.
Although the Monaco-EVK platform was previously associated with the
QCS8275 sound card, the QCS8275 re-use was based on existing coverage.
However, according to the naming guidelines, sound card compatibility
should be based on the SoC rather than the board.
Therefore, it's necessary to use the SoC name in the sound card
compatible string. I will update the DTS to use qcom,qcs8300-sndcard to
align with the convention and avoid confusion.
> Commit 34d340d48e59 ("ASoC: qcom: sc8280xp: Add support for QCS8275")
>
> Unless we choose to ignore that compatible and add "monaco", but I don't
> think dt maintainers will love that
>
Agree. We used the existing qcom,qcs8275-sndcard compatible string
instead of adding a new one, but this needs to be changed.
The sound card compatible should be SoC specific in this case, qcs8300.
I will update the patch with qcom,qcs8300-sndcard.
Thanks & Regards,
Rafi.
> Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit
2025-09-05 19:23 [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Umang Chheda
` (3 preceding siblings ...)
2025-09-05 19:23 ` [PATCH v4 4/4] arm64: dts: qcom: monaco-evk: Add sound card Umang Chheda
@ 2025-09-08 18:48 ` Bjorn Andersson
2025-09-08 20:52 ` Dmitry Baryshkov
4 siblings, 1 reply; 13+ messages in thread
From: Bjorn Andersson @ 2025-09-08 18:48 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Umang Chheda
Cc: linux-arm-msm, devicetree, linux-kernel
On Sat, 06 Sep 2025 00:53:46 +0530, Umang Chheda wrote:
> Add support for Qualcomm's Monaco Evaluation Kit (EVK) without
> safety monitoring feature of Safety Island(SAIL) subsystem.
> This board is based on Qualcomm's QCS8300 SoC.
>
> Monaco 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.
>
> [...]
Applied, thanks!
[1/4] dt-bindings: arm: qcom: Add Monaco EVK support
commit: 49e55bdbcbe0abf04d7c8c882d69755ecf43d878
[2/4] arm64: dts: qcom: qcs8300: Add Monaco EVK board
commit: 117d6bc9326b1ff38591289f9677e273a9a467ae
[3/4] arm64: dts: qcom: qcs8300: Add gpr node
commit: 89c85214735b633e846d8f6473fa57ba4cc11b81
[4/4] arm64: dts: qcom: monaco-evk: Add sound card
commit: bb12da95a183253b619ca1691d6fd320b7e445e9
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit
2025-09-08 18:48 ` [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Bjorn Andersson
@ 2025-09-08 20:52 ` Dmitry Baryshkov
0 siblings, 0 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2025-09-08 20:52 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Umang Chheda, linux-arm-msm, devicetree,
linux-kernel
On Mon, Sep 08, 2025 at 01:48:00PM -0500, Bjorn Andersson wrote:
>
> On Sat, 06 Sep 2025 00:53:46 +0530, Umang Chheda wrote:
> > Add support for Qualcomm's Monaco Evaluation Kit (EVK) without
> > safety monitoring feature of Safety Island(SAIL) subsystem.
> > This board is based on Qualcomm's QCS8300 SoC.
> >
> > Monaco 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.
> >
> > [...]
>
> Applied, thanks!
>
> [1/4] dt-bindings: arm: qcom: Add Monaco EVK support
> commit: 49e55bdbcbe0abf04d7c8c882d69755ecf43d878
> [2/4] arm64: dts: qcom: qcs8300: Add Monaco EVK board
> commit: 117d6bc9326b1ff38591289f9677e273a9a467ae
> [3/4] arm64: dts: qcom: qcs8300: Add gpr node
> commit: 89c85214735b633e846d8f6473fa57ba4cc11b81
> [4/4] arm64: dts: qcom: monaco-evk: Add sound card
> commit: bb12da95a183253b619ca1691d6fd320b7e445e9
Just to check: did you adjust it to be qcs8300-sndcard?
>
> Best regards,
> --
> Bjorn Andersson <andersson@kernel.org>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-09-08 20:53 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-05 19:23 [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Umang Chheda
2025-09-05 19:23 ` [PATCH v4 1/4] dt-bindings: arm: qcom: Add Monaco EVK support Umang Chheda
2025-09-05 19:23 ` [PATCH v4 2/4] arm64: dts: qcom: qcs8300: Add Monaco EVK board Umang Chheda
2025-09-08 15:52 ` Konrad Dybcio
2025-09-05 19:23 ` [PATCH v4 3/4] arm64: dts: qcom: qcs8300: Add gpr node Umang Chheda
2025-09-08 15:54 ` Konrad Dybcio
2025-09-05 19:23 ` [PATCH v4 4/4] arm64: dts: qcom: monaco-evk: Add sound card Umang Chheda
2025-09-06 19:26 ` Dmitry Baryshkov
2025-09-08 14:55 ` Bjorn Andersson
2025-09-08 15:55 ` Konrad Dybcio
2025-09-08 17:20 ` Mohammad Rafi Shaik
2025-09-08 18:48 ` [PATCH v4 0/4] Introduce support for Monaco Evaluation Kit Bjorn Andersson
2025-09-08 20:52 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®