* [PATCH 1/4] dt-bindings: arm: qcom: Add Mahua QCB
2026-10-27 11:49 [PATCH 0/4] arm64: dts: qcom: Add support for Mahua QCB Sivansh Gupta
@ 2026-10-27 11:49 ` Sivansh Gupta
2026-10-27 11:49 ` [PATCH 2/4] firmware: qcom: scm: Allow QSEECOM on the " Sivansh Gupta
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: Sivansh Gupta @ 2026-10-27 11:49 UTC (permalink / raw)
To: linux-arm-msm
Cc: devicetree, linux-kernel, andersson, konradybcio, abelvesa, robh,
krzk+dt, conor+dt, Gopikrishna Garmidi, Sivansh Gupta
From: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
Document the Mahua QCB (Qualcomm Compute Board) board id, an open
form-factor Mahua board intended for compute bring-up and power/signal
measurement.
Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
Signed-off-by: Sivansh Gupta <sivansh.gupta@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 121ca557ce1e..933a2361b5d7 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -192,6 +192,7 @@ properties:
- items:
- enum:
- qcom,mahua-crd
+ - qcom,mahua-qcb
- const: qcom,mahua
- items:
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 2/4] firmware: qcom: scm: Allow QSEECOM on the Mahua QCB
2026-10-27 11:49 [PATCH 0/4] arm64: dts: qcom: Add support for Mahua QCB Sivansh Gupta
2026-10-27 11:49 ` [PATCH 1/4] dt-bindings: arm: qcom: Add " Sivansh Gupta
@ 2026-10-27 11:49 ` Sivansh Gupta
2026-10-27 15:34 ` Abel Vesa
2026-10-27 11:49 ` [PATCH 3/4] arm64: dts: qcom: Commonize glymur-qcb.dts to glymur-qcb.dtsi Sivansh Gupta
2026-10-27 11:49 ` [PATCH 4/4] arm64: dts: qcom: Add Mahua QCB Sivansh Gupta
3 siblings, 1 reply; 10+ messages in thread
From: Sivansh Gupta @ 2026-10-27 11:49 UTC (permalink / raw)
To: linux-arm-msm
Cc: devicetree, linux-kernel, andersson, konradybcio, abelvesa, robh,
krzk+dt, conor+dt, Gopikrishna Garmidi, Sivansh Gupta
From: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
Add the Mahua QCB to the QSEECOM allowlist for enabling access to
efivars and the UEFI bootloader.
Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
Signed-off-by: Sivansh Gupta <sivansh.gupta@oss.qualcomm.com>
---
drivers/firmware/qcom/qcom_scm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c
index 43e250faea75..eb262928d4c4 100644
--- a/drivers/firmware/qcom/qcom_scm.c
+++ b/drivers/firmware/qcom/qcom_scm.c
@@ -2260,6 +2260,7 @@ static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unused = {
{ .compatible = "qcom,hamoa-iot-evk" },
{ .compatible = "qcom,kalambo-crd" },
{ .compatible = "qcom,mahua-crd" },
+ { .compatible = "qcom,mahua-qcb" },
{ .compatible = "qcom,purwa-iot-evk" },
{ .compatible = "qcom,sc8180x-primus" },
{ .compatible = "qcom,x1e001de-devkit" },
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH 2/4] firmware: qcom: scm: Allow QSEECOM on the Mahua QCB
2026-10-27 11:49 ` [PATCH 2/4] firmware: qcom: scm: Allow QSEECOM on the " Sivansh Gupta
@ 2026-10-27 15:34 ` Abel Vesa
0 siblings, 0 replies; 10+ messages in thread
From: Abel Vesa @ 2026-10-27 15:34 UTC (permalink / raw)
To: Sivansh Gupta
Cc: linux-arm-msm, devicetree, linux-kernel, andersson, konradybcio,
abelvesa, robh, krzk+dt, conor+dt, Gopikrishna Garmidi
On 26-10-27 17:19:53, Sivansh Gupta wrote:
> From: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
>
> Add the Mahua QCB to the QSEECOM allowlist for enabling access to
> efivars and the UEFI bootloader.
>
>
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> Signed-off-by: Sivansh Gupta <sivansh.gupta@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/4] arm64: dts: qcom: Commonize glymur-qcb.dts to glymur-qcb.dtsi
2026-10-27 11:49 [PATCH 0/4] arm64: dts: qcom: Add support for Mahua QCB Sivansh Gupta
2026-10-27 11:49 ` [PATCH 1/4] dt-bindings: arm: qcom: Add " Sivansh Gupta
2026-10-27 11:49 ` [PATCH 2/4] firmware: qcom: scm: Allow QSEECOM on the " Sivansh Gupta
@ 2026-10-27 11:49 ` Sivansh Gupta
2026-10-27 15:36 ` Abel Vesa
2026-10-27 15:55 ` Konrad Dybcio
2026-10-27 11:49 ` [PATCH 4/4] arm64: dts: qcom: Add Mahua QCB Sivansh Gupta
3 siblings, 2 replies; 10+ messages in thread
From: Sivansh Gupta @ 2026-10-27 11:49 UTC (permalink / raw)
To: linux-arm-msm
Cc: devicetree, linux-kernel, andersson, konradybcio, abelvesa, robh,
krzk+dt, conor+dt, Sivansh Gupta
Glymur QCB and Mahua QCB both share common nodes as they use the same
underlying board.
Move all common nodes to glymur-qcb.dtsi file to allow for reuse.
Signed-off-by: Sivansh Gupta <sivansh.gupta@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/glymur-qcb.dts | 667 +-----------------
.../qcom/{glymur-qcb.dts => glymur-qcb.dtsi} | 28 -
2 files changed, 1 insertion(+), 694 deletions(-)
copy arch/arm64/boot/dts/qcom/{glymur-qcb.dts => glymur-qcb.dtsi} (94%)
diff --git a/arch/arm64/boot/dts/qcom/glymur-qcb.dts b/arch/arm64/boot/dts/qcom/glymur-qcb.dts
index 17d8ff3aed23..f0ed47adfc2f 100644
--- a/arch/arm64/boot/dts/qcom/glymur-qcb.dts
+++ b/arch/arm64/boot/dts/qcom/glymur-qcb.dts
@@ -6,557 +6,11 @@
/dts-v1/;
#include "glymur.dtsi"
-
-#include "pmcx0102.dtsi" /* SPMI0: SID-2/3 SPMI1: SID-2/3 */
-#include "pmh0101.dtsi" /* SPMI0: SID-1 */
-#include "pmh0110-glymur.dtsi" /* SPMI0: SID-5/7 SPMI1: SID-5 */
-#include "pmh0104-glymur.dtsi" /* SPMI0: SID-8/9 SPMI1: SID-11 */
-#include "pmk8850.dtsi" /* SPMI0: SID-0 */
-#include "smb2370.dtsi" /* SPMI2: SID-9/10/11 */
+#include "glymur-qcb.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Glymur QCB";
compatible = "qcom,glymur-qcb", "qcom,glymur";
-
- aliases {
- serial0 = &uart21;
- serial1 = &uart14;
- i2c0 = &i2c0;
- i2c1 = &i2c4;
- i2c2 = &i2c5;
- i2c3 = &i2c9;
- spi0 = &spi18;
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-
- clocks {
- xo_board: xo-board {
- compatible = "fixed-clock";
- clock-frequency = <38400000>;
- #clock-cells = <0>;
- };
-
- sleep_clk: sleep-clk {
- compatible = "fixed-clock";
- clock-frequency = <32000>;
- #clock-cells = <0>;
- };
- };
-
- gpio-keys {
- compatible = "gpio-keys";
-
- pinctrl-0 = <&key_vol_up_default>;
- pinctrl-names = "default";
-
- key-volume-up {
- label = "Volume Up";
- linux,code = <KEY_VOLUMEUP>;
- gpios = <&pmh0101_gpios 6 GPIO_ACTIVE_LOW>;
- debounce-interval = <15>;
- linux,can-disable;
- wakeup-source;
- };
- };
-
- vreg_nvme: regulator-nvme {
- compatible = "regulator-fixed";
-
- regulator-name = "VREG_NVME_3P3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
-
- gpio = <&pmh0101_gpios 14 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&nvme_reg_en>;
- pinctrl-names = "default";
-
- regulator-boot-on;
- };
-
- vreg_wcn_0p95: regulator-wcn-0p95 {
- compatible = "regulator-fixed";
-
- regulator-name = "VREG_WCN_0P95";
- regulator-min-microvolt = <950000>;
- regulator-max-microvolt = <950000>;
-
- vin-supply = <&vreg_wcn_3p3>;
- };
-
- vreg_wcn_3p3: regulator-wcn-3p3 {
- compatible = "regulator-fixed";
-
- regulator-name = "VREG_WCN_3P3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
-
- gpio = <&tlmm 94 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&wcn_sw_en>;
- pinctrl-names = "default";
-
- regulator-boot-on;
- };
-
- vreg_wwan: regulator-wwan {
- compatible = "regulator-fixed";
-
- regulator-name = "VREG_WWAN_3P3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
-
- gpio = <&tlmm 246 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&wwan_reg_en>;
- pinctrl-names = "default";
- };
-
- wcn7850-pmu {
- compatible = "qcom,wcn7850-pmu";
-
- vdd-supply = <&vreg_wcn_0p95>;
- vddio-supply = <&vreg_l15b_e0_1p8>;
- vddaon-supply = <&vreg_l15b_e0_1p8>;
- vdddig-supply = <&vreg_l15b_e0_1p8>;
- vddrfa1p2-supply = <&vreg_l15b_e0_1p8>;
- vddrfa1p8-supply = <&vreg_l15b_e0_1p8>;
-
- wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
- bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
-
- pinctrl-0 = <&wcn_wlan_bt_en>;
- pinctrl-names = "default";
-
- regulators {
- vreg_pmu_rfa_cmn: ldo0 {
- regulator-name = "vreg_pmu_rfa_cmn";
- };
-
- vreg_pmu_aon_0p59: ldo1 {
- regulator-name = "vreg_pmu_aon_0p59";
- };
-
- vreg_pmu_wlcx_0p8: ldo2 {
- regulator-name = "vreg_pmu_wlcx_0p8";
- };
-
- vreg_pmu_wlmx_0p85: ldo3 {
- regulator-name = "vreg_pmu_wlmx_0p85";
- };
-
- vreg_pmu_btcmx_0p85: ldo4 {
- regulator-name = "vreg_pmu_btcmx_0p85";
- };
-
- vreg_pmu_rfa_0p8: ldo5 {
- regulator-name = "vreg_pmu_rfa_0p8";
- };
-
- vreg_pmu_rfa_1p2: ldo6 {
- regulator-name = "vreg_pmu_rfa_1p2";
- };
-
- vreg_pmu_rfa_1p8: ldo7 {
- regulator-name = "vreg_pmu_rfa_1p8";
- };
-
- vreg_pmu_pcie_0p9: ldo8 {
- regulator-name = "vreg_pmu_pcie_0p9";
- };
-
- vreg_pmu_pcie_1p8: ldo9 {
- regulator-name = "vreg_pmu_pcie_1p8";
- };
- };
- };
-};
-
-&apps_rsc {
- regulators-0 {
- compatible = "qcom,pmh0101-rpmh-regulators";
- qcom,pmic-id = "B_E0";
-
- vreg_bob1_e0: bob1 {
- regulator-name = "vreg_bob1_e0";
- regulator-min-microvolt = <2200000>;
- regulator-max-microvolt = <4224000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
- };
-
- vreg_bob2_e0: bob2 {
- regulator-name = "vreg_bob2_e0";
- regulator-min-microvolt = <2540000>;
- regulator-max-microvolt = <3600000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
- };
-
- vreg_l1b_e0_1p8: ldo1 {
- regulator-name = "vreg_l1b_e0_1p8";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l2b_e0_2p9: ldo2 {
- regulator-name = "vreg_l2b_e0_2p9";
- regulator-min-microvolt = <2904000>;
- regulator-max-microvolt = <2904000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l7b_e0_2p79: ldo7 {
- regulator-name = "vreg_l7b_e0_2p79";
- regulator-min-microvolt = <2790000>;
- regulator-max-microvolt = <2792000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l8b_e0_1p50: ldo8 {
- regulator-name = "vreg_l8b_e0_1p50";
- regulator-min-microvolt = <1504000>;
- regulator-max-microvolt = <1504000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l9b_e0_2p7: ldo9 {
- regulator-name = "vreg_l9b_e0_2p7";
- regulator-min-microvolt = <2704000>;
- regulator-max-microvolt = <2704000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l10b_e0_1p8: ldo10 {
- regulator-name = "vreg_l10b_e0_1p8";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l11b_e0_1p2: ldo11 {
- regulator-name = "vreg_l11b_e0_1p2";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l12b_e0_1p14: ldo12 {
- regulator-name = "vreg_l12b_e0_1p14";
- regulator-min-microvolt = <1144000>;
- regulator-max-microvolt = <1144000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l15b_e0_1p8: ldo15 {
- regulator-name = "vreg_l15b_e0_1p8";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l17b_e0_2p4: ldo17 {
- regulator-name = "vreg_l17b_e0_2p4";
- regulator-min-microvolt = <2400000>;
- regulator-max-microvolt = <2700000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l18b_e0_1p2: ldo18 {
- regulator-name = "vreg_l18b_e0_1p2";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-
- regulators-1 {
- compatible = "qcom,pmcx0102-rpmh-regulators";
- qcom,pmic-id = "C_E1";
-
- vreg_l1c_e1_0p82: ldo1 {
- regulator-name = "vreg_l1c_e1_0p82";
- regulator-min-microvolt = <832000>;
- regulator-max-microvolt = <832000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l2c_e1_1p14: ldo2 {
- regulator-name = "vreg_l2c_e1_1p14";
- regulator-min-microvolt = <1144000>;
- regulator-max-microvolt = <1144000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l3c_e1_0p89: ldo3 {
- regulator-name = "vreg_l3c_e1_0p89";
- regulator-min-microvolt = <890000>;
- regulator-max-microvolt = <980000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l4c_e1_0p72: ldo4 {
- regulator-name = "vreg_l4c_e1_0p72";
- regulator-min-microvolt = <720000>;
- regulator-max-microvolt = <720000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-
- regulators-2 {
- compatible = "qcom,pmh0110-rpmh-regulators";
- qcom,pmic-id = "F_E0";
-
- vreg_s7f_e0_1p32: smps7 {
- regulator-name = "vreg_s7f_e0_1p32";
- regulator-min-microvolt = <1320000>;
- regulator-max-microvolt = <1352000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_s8f_e0_0p95: smps8 {
- regulator-name = "vreg_s8f_e0_0p95";
- regulator-min-microvolt = <952000>;
- regulator-max-microvolt = <1200000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_s9f_e0_1p9: smps9 {
- regulator-name = "vreg_s9f_e0_1p9";
- regulator-min-microvolt = <1900000>;
- regulator-max-microvolt = <2000000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l2f_e0_0p82: ldo2 {
- regulator-name = "vreg_l2f_e0_0p82";
- regulator-min-microvolt = <832000>;
- regulator-max-microvolt = <832000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l3f_e0_0p72: ldo3 {
- regulator-name = "vreg_l3f_e0_0p72";
- regulator-min-microvolt = <720000>;
- regulator-max-microvolt = <720000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l4f_e0_1p08: ldo4 {
- regulator-name = "vreg_l4f_e0_1p08";
- regulator-min-microvolt = <1080000>;
- regulator-max-microvolt = <1200000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-
- regulators-3 {
- compatible = "qcom,pmh0110-rpmh-regulators";
- qcom,pmic-id = "F_E1";
-
- vreg_s7f_e1_0p3: smps7 {
- regulator-name = "vreg_s7f_e1_0p3";
- regulator-min-microvolt = <300000>;
- regulator-max-microvolt = <1200000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l1f_e1_0p82: ldo1 {
- regulator-name = "vreg_l1f_e1_0p82";
- regulator-min-microvolt = <832000>;
- regulator-max-microvolt = <832000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l2f_e1_0p83: ldo2 {
- regulator-name = "vreg_l2f_e1_0p83";
- regulator-min-microvolt = <832000>;
- regulator-max-microvolt = <832000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l4f_e1_1p08: ldo4 {
- regulator-name = "vreg_l4f_e1_1p08";
- regulator-min-microvolt = <1080000>;
- regulator-max-microvolt = <1320000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-
- regulators-4 {
- compatible = "qcom,pmh0110-rpmh-regulators";
- qcom,pmic-id = "H_E0";
-
- vreg_l1h_e0_0p89: ldo1 {
- regulator-name = "vreg_l1h_e0_0p89";
- regulator-min-microvolt = <832000>;
- regulator-max-microvolt = <832000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l2h_e0_0p72: ldo2 {
- regulator-name = "vreg_l2h_e0_0p72";
- regulator-min-microvolt = <832000>;
- regulator-max-microvolt = <832000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l3h_e0_0p32: ldo3 {
- regulator-name = "vreg_l3h_e0_0p32";
- regulator-min-microvolt = <320000>;
- regulator-max-microvolt = <2000000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l4h_e0_1p2: ldo4 {
- regulator-name = "vreg_l4h_e0_1p2";
- regulator-min-microvolt = <1080000>;
- regulator-max-microvolt = <1320000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-};
-
-&i2c9 {
- clock-frequency = <400000>;
-
- status = "okay";
-
- embedded-controller@76 {
- compatible = "qcom,glymur-qcb-ec", "qcom,hamoa-crd-ec";
- reg = <0x76>;
-
- interrupts-extended = <&tlmm 66 IRQ_TYPE_EDGE_FALLING>;
-
- pinctrl-0 = <&ec_int_n_default>;
- pinctrl-names = "default";
- };
-};
-
-&pcie4 {
- pinctrl-0 = <&pcie4_default>;
- pinctrl-names = "default";
-
- status = "okay";
-};
-
-&pcie4_phy {
- vdda-phy-supply = <&vreg_l1c_e1_0p82>;
- vdda-pll-supply = <&vreg_l4f_e1_1p08>;
-
- status = "okay";
-};
-
-&pcie4_port0 {
- reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
-
- wifi@0 {
- compatible = "pci17cb,1107";
- reg = <0x10000 0x0 0x0 0x0 0x0>;
-
- vddaon-supply = <&vreg_pmu_aon_0p59>;
- vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
- vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
- vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
- vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
- vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
- vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
- vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
- vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
- };
-};
-
-&pcie5 {
- vddpe-3v3-supply = <&vreg_nvme>;
-
- pinctrl-0 = <&pcie5_default>;
- pinctrl-names = "default";
-
- status = "okay";
-};
-
-&pcie5_phy {
- vdda-phy-supply = <&vreg_l2f_e0_0p82>;
- vdda-pll-supply = <&vreg_l4h_e0_1p2>;
-
- status = "okay";
-};
-
-&pcie5_port0 {
- reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
-};
-
-&pcie6 {
- vddpe-3v3-supply = <&vreg_wwan>;
-
- pinctrl-0 = <&pcie6_default>;
- pinctrl-names = "default";
-
- status = "okay";
-};
-
-&pcie6_phy {
- vdda-phy-supply = <&vreg_l1c_e1_0p82>;
- vdda-pll-supply = <&vreg_l4f_e1_1p08>;
-
- status = "okay";
-};
-
-&pcie6_port0 {
- reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
-};
-
-&pmh0101_gpios {
- key_vol_up_default: key-vol-up-default-state {
- pins = "gpio6";
- function = "normal";
- output-disable;
- bias-pull-up;
- };
-
- nvme_reg_en: nvme-reg-en-state {
- pins = "gpio14";
- function = "normal";
- bias-disable;
- };
-};
-
-&pmk8850_rtc {
- qcom,no-alarm;
- qcom,uefi-rtc-info;
-};
-
-&pon_resin {
- linux,code = <KEY_VOLUMEDOWN>;
-
- status = "okay";
-};
-
-&remoteproc_adsp {
- firmware-name = "qcom/glymur/adsp.mbn",
- "qcom/glymur/adsp_dtb.mbn";
-
- status = "okay";
-};
-
-&remoteproc_cdsp {
- firmware-name = "qcom/glymur/cdsp.mbn",
- "qcom/glymur/cdsp_dtb.mbn";
-
- status = "okay";
-};
-
-&remoteproc_soccp {
- firmware-name = "qcom/glymur/soccp.mbn",
- "qcom/glymur/soccp_dtb.mbn";
};
&tcsr {
@@ -578,122 +32,3 @@ &tcsr {
vdda-refgen4-0p9-supply = <&vreg_l1f_e1_0p82>;
vdda-refgen4-1p2-supply = <&vreg_l4f_e1_1p08>;
};
-
-&tlmm {
- gpio-reserved-ranges = <4 4>, /* EC TZ Secure I3C */
- <10 2>, /* OOB UART */
- <44 4>; /* Security SPI (TPM) */
-
- ec_int_n_default: ec-int-n-state {
- pins = "gpio66";
- function = "gpio";
- bias-disable;
- };
-
- pcie4_default: pcie4-default-state {
- clkreq-n-pins {
- pins = "gpio147";
- function = "pcie4_clk_req_n";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio146";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- wake-n-pins {
- pins = "gpio148";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
-
- pcie5_default: pcie5-default-state {
- clkreq-n-pins {
- pins = "gpio153";
- function = "pcie5_clk_req_n";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio152";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- wake-n-pins {
- pins = "gpio154";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
-
- pcie6_default: pcie6-default-state {
- clkreq-n-pins {
- pins = "gpio150";
- function = "pcie6_clk_req_n";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio149";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- wake-n-pins {
- pins = "gpio151";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
-
- wcn_wlan_bt_en: wcn-wlan-bt-en-state {
- pins = "gpio116", "gpio117";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- wcn_sw_en: wcn-sw-en-state {
- pins = "gpio94";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- wwan_reg_en: wwan-reg-en-state {
- pins = "gpio246";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-};
-
-&uart14 {
- status = "okay";
-
- bluetooth {
- compatible = "qcom,wcn7850-bt";
- max-speed = <3200000>;
-
- vddaon-supply = <&vreg_pmu_aon_0p59>;
- vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
- vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
- vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
- vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
- vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
- vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
- };
-};
diff --git a/arch/arm64/boot/dts/qcom/glymur-qcb.dts b/arch/arm64/boot/dts/qcom/glymur-qcb.dtsi
similarity index 94%
copy from arch/arm64/boot/dts/qcom/glymur-qcb.dts
copy to arch/arm64/boot/dts/qcom/glymur-qcb.dtsi
index 17d8ff3aed23..9751fbcc5f82 100644
--- a/arch/arm64/boot/dts/qcom/glymur-qcb.dts
+++ b/arch/arm64/boot/dts/qcom/glymur-qcb.dtsi
@@ -3,10 +3,6 @@
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
-/dts-v1/;
-
-#include "glymur.dtsi"
-
#include "pmcx0102.dtsi" /* SPMI0: SID-2/3 SPMI1: SID-2/3 */
#include "pmh0101.dtsi" /* SPMI0: SID-1 */
#include "pmh0110-glymur.dtsi" /* SPMI0: SID-5/7 SPMI1: SID-5 */
@@ -15,9 +11,6 @@
#include "smb2370.dtsi" /* SPMI2: SID-9/10/11 */
/ {
- model = "Qualcomm Technologies, Inc. Glymur QCB";
- compatible = "qcom,glymur-qcb", "qcom,glymur";
-
aliases {
serial0 = &uart21;
serial1 = &uart14;
@@ -424,7 +417,6 @@ vreg_l4h_e0_1p2: ldo4 {
&i2c9 {
clock-frequency = <400000>;
-
status = "okay";
embedded-controller@76 {
@@ -559,26 +551,6 @@ &remoteproc_soccp {
"qcom/glymur/soccp_dtb.mbn";
};
-&tcsr {
- vdda-qrefrpt0-0p9-supply = <&vreg_l2f_e1_0p83>;
- vdda-qrefrpt1-0p9-supply = <&vreg_l2f_e1_0p83>;
- vdda-qrefrpt2-0p9-supply = <&vreg_l2f_e1_0p83>;
- vdda-qrefrpt3-0p9-supply = <&vreg_l2h_e0_0p72>;
- vdda-qrefrpt4-0p9-supply = <&vreg_l2h_e0_0p72>;
- vdda-qrefrx0-0p9-supply = <&vreg_l2f_e1_0p83>;
- vdda-qrefrx1-0p9-supply = <&vreg_l2f_e1_0p83>;
- vdda-qrefrx2-0p9-supply = <&vreg_l2f_e1_0p83>;
- vdda-qrefrx4-0p9-supply = <&vreg_l2h_e0_0p72>;
- vdda-qrefrx5-0p9-supply = <&vreg_l3f_e0_0p72>;
- vdda-qreftx0-0p9-supply = <&vreg_l3f_e0_0p72>;
- vdda-qreftx0-1p2-supply = <&vreg_l4h_e0_1p2>;
- vdda-qreftx1-0p9-supply = <&vreg_l1f_e1_0p82>;
- vdda-refgen3-0p9-supply = <&vreg_l2f_e0_0p82>;
- vdda-refgen3-1p2-supply = <&vreg_l4h_e0_1p2>;
- vdda-refgen4-0p9-supply = <&vreg_l1f_e1_0p82>;
- vdda-refgen4-1p2-supply = <&vreg_l4f_e1_1p08>;
-};
-
&tlmm {
gpio-reserved-ranges = <4 4>, /* EC TZ Secure I3C */
<10 2>, /* OOB UART */
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH 3/4] arm64: dts: qcom: Commonize glymur-qcb.dts to glymur-qcb.dtsi
2026-10-27 11:49 ` [PATCH 3/4] arm64: dts: qcom: Commonize glymur-qcb.dts to glymur-qcb.dtsi Sivansh Gupta
@ 2026-10-27 15:36 ` Abel Vesa
2026-10-27 15:55 ` Konrad Dybcio
1 sibling, 0 replies; 10+ messages in thread
From: Abel Vesa @ 2026-10-27 15:36 UTC (permalink / raw)
To: Sivansh Gupta
Cc: linux-arm-msm, devicetree, linux-kernel, andersson, konradybcio,
abelvesa, robh, krzk+dt, conor+dt
On 26-10-27 17:19:54, Sivansh Gupta wrote:
> Glymur QCB and Mahua QCB both share common nodes as they use the same
> underlying board.
> Move all common nodes to glymur-qcb.dtsi file to allow for reuse.
>
> Signed-off-by: Sivansh Gupta <sivansh.gupta@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: Commonize glymur-qcb.dts to glymur-qcb.dtsi
2026-10-27 11:49 ` [PATCH 3/4] arm64: dts: qcom: Commonize glymur-qcb.dts to glymur-qcb.dtsi Sivansh Gupta
2026-10-27 15:36 ` Abel Vesa
@ 2026-10-27 15:55 ` Konrad Dybcio
1 sibling, 0 replies; 10+ messages in thread
From: Konrad Dybcio @ 2026-10-27 15:55 UTC (permalink / raw)
To: Sivansh Gupta, linux-arm-msm
Cc: devicetree, linux-kernel, andersson, konradybcio, abelvesa, robh,
krzk+dt, conor+dt
On 10/27/26 12:49 PM, Sivansh Gupta wrote:
> Glymur QCB and Mahua QCB both share common nodes as they use the same
> underlying board.
> Move all common nodes to glymur-qcb.dtsi file to allow for reuse.
>
> Signed-off-by: Sivansh Gupta <sivansh.gupta@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] arm64: dts: qcom: Add Mahua QCB
2026-10-27 11:49 [PATCH 0/4] arm64: dts: qcom: Add support for Mahua QCB Sivansh Gupta
` (2 preceding siblings ...)
2026-10-27 11:49 ` [PATCH 3/4] arm64: dts: qcom: Commonize glymur-qcb.dts to glymur-qcb.dtsi Sivansh Gupta
@ 2026-10-27 11:49 ` Sivansh Gupta
2026-10-27 15:38 ` Abel Vesa
2026-10-27 15:55 ` Konrad Dybcio
3 siblings, 2 replies; 10+ messages in thread
From: Sivansh Gupta @ 2026-10-27 11:49 UTC (permalink / raw)
To: linux-arm-msm
Cc: devicetree, linux-kernel, andersson, konradybcio, abelvesa, robh,
krzk+dt, conor+dt, Sivansh Gupta, Gopikrishna Garmidi
Add initial device tree support for Mahua QCB. Mahua QCB is a variant
of Glymur QCB but using Mahua SoC instead of Glymur SoC.
Mahua is a 12 core derivative of Glymur SoC.
Unlike the CRD, the QCB is suitable for compute workloads, power
measurements and oscilloscope-based hardware validation.
Includes glymur-qcb.dtsi, adds Mahua QCB specific board compatible,
adds tcsr regulator-supply properties, removed cluster2 PMIC/thermal
nodes.
Co-developed-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
Signed-off-by: Sivansh Gupta <sivansh.gupta@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/mahua-qcb.dts | 38 ++++++++++++++++++++++++++
2 files changed, 39 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/mahua-qcb.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 88230c4e00ea..830c43000897 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -65,6 +65,7 @@ lemans-evk-ifp-mezzanine-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += mahua-lenovo-thinkpad-t14s-gen7-lcd.dtb
+dtb-$(CONFIG_ARCH_QCOM) += mahua-qcb.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
dtb-$(CONFIG_ARCH_QCOM) += monaco-arduino-monza.dtb
diff --git a/arch/arm64/boot/dts/qcom/mahua-qcb.dts b/arch/arm64/boot/dts/qcom/mahua-qcb.dts
new file mode 100644
index 000000000000..0c742c54a237
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/mahua-qcb.dts
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include "mahua.dtsi"
+#include "glymur-qcb.dtsi"
+
+/* PMICs tied to Glymur's cluster2 are absent on Mahua. */
+/delete-node/ &pmcx0102_d_e0;
+/delete-node/ &pmcx0102_d0_thermal;
+/delete-node/ &pmh0104_i_e0;
+/delete-node/ &pmh0104_i0_thermal;
+/delete-node/ &pmh0104_j_e0;
+/delete-node/ &pmh0104_j0_thermal;
+
+/ {
+ model = "Qualcomm Technologies, Inc. Mahua QCB";
+ compatible = "qcom,mahua-qcb", "qcom,mahua";
+};
+
+&tcsr {
+ vdda-qrefrpt0-0p9-supply = <&vreg_l2f_e1_0p83>;
+ vdda-qrefrpt1-0p9-supply = <&vreg_l2f_e1_0p83>;
+ vdda-qrefrpt2-0p9-supply = <&vreg_l2f_e1_0p83>;
+ vdda-qrefrpt3-0p9-supply = <&vreg_l1f_e1_0p82>;
+ vdda-qrefrpt4-0p9-supply = <&vreg_l2h_e0_0p72>;
+ vdda-qrefrpt5-0p9-supply = <&vreg_l2h_e0_0p72>;
+ vdda-qrefrx0-0p9-supply = <&vreg_l2f_e1_0p83>;
+ vdda-qrefrx1-0p9-supply = <&vreg_l2f_e1_0p83>;
+ vdda-qrefrx2-0p9-supply = <&vreg_l2f_e1_0p83>;
+ vdda-qrefrx3-0p9-supply = <&vreg_l2h_e0_0p72>;
+ vdda-qreftx1-0p9-supply = <&vreg_l1f_e1_0p82>;
+ vdda-refgen3-0p9-supply = <&vreg_l1f_e1_0p82>;
+ vdda-refgen3-1p2-supply = <&vreg_l4f_e1_1p08>;
+};
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH 4/4] arm64: dts: qcom: Add Mahua QCB
2026-10-27 11:49 ` [PATCH 4/4] arm64: dts: qcom: Add Mahua QCB Sivansh Gupta
@ 2026-10-27 15:38 ` Abel Vesa
2026-10-27 15:55 ` Konrad Dybcio
1 sibling, 0 replies; 10+ messages in thread
From: Abel Vesa @ 2026-10-27 15:38 UTC (permalink / raw)
To: Sivansh Gupta
Cc: linux-arm-msm, devicetree, linux-kernel, andersson, konradybcio,
abelvesa, robh, krzk+dt, conor+dt, Gopikrishna Garmidi
On 26-10-27 17:19:55, Sivansh Gupta wrote:
> Add initial device tree support for Mahua QCB. Mahua QCB is a variant
> of Glymur QCB but using Mahua SoC instead of Glymur SoC.
> Mahua is a 12 core derivative of Glymur SoC.
>
> Unlike the CRD, the QCB is suitable for compute workloads, power
> measurements and oscilloscope-based hardware validation.
>
> Includes glymur-qcb.dtsi, adds Mahua QCB specific board compatible,
> adds tcsr regulator-supply properties, removed cluster2 PMIC/thermal
> nodes.
>
> Co-developed-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> Signed-off-by: Sivansh Gupta <sivansh.gupta@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: Add Mahua QCB
2026-10-27 11:49 ` [PATCH 4/4] arm64: dts: qcom: Add Mahua QCB Sivansh Gupta
2026-10-27 15:38 ` Abel Vesa
@ 2026-10-27 15:55 ` Konrad Dybcio
1 sibling, 0 replies; 10+ messages in thread
From: Konrad Dybcio @ 2026-10-27 15:55 UTC (permalink / raw)
To: Sivansh Gupta, linux-arm-msm
Cc: devicetree, linux-kernel, andersson, konradybcio, abelvesa, robh,
krzk+dt, conor+dt, Gopikrishna Garmidi
On 10/27/26 12:49 PM, Sivansh Gupta wrote:
> Add initial device tree support for Mahua QCB. Mahua QCB is a variant
> of Glymur QCB but using Mahua SoC instead of Glymur SoC.
> Mahua is a 12 core derivative of Glymur SoC.
>
> Unlike the CRD, the QCB is suitable for compute workloads, power
> measurements and oscilloscope-based hardware validation.
>
> Includes glymur-qcb.dtsi, adds Mahua QCB specific board compatible,
> adds tcsr regulator-supply properties, removed cluster2 PMIC/thermal
> nodes.
>
> Co-developed-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> Signed-off-by: Sivansh Gupta <sivansh.gupta@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 10+ messages in thread