2022-11-27 17:11:32

by David Wronek

[permalink] [raw]
Subject: [PATCH 0/3] arm64: dts: qcom: sm8250-lenovo-j716f: Add initial device tree

The Lenovo Xiaoxin Pad Pro 2021 is an Android tablet based on Qualcomm
SM8250. The downstream kernel sources have not been released by the
vendor.

Following features are working:
- GPIO keys
- SimpleFB
- UFS
- USB
- Regulators
- I2C

David Wronek (3):
dt-bindings: arm: qcom: Document Lenovo Xiaoxin Pad Pro 2021
arm64: dts: qcom: sm8250-lenovo-j716f: Add initial device tree
arm64: dts: qcom: sm8250-lenovo-j716f: Enable ADSP/CDSP/SLPI

.../devicetree/bindings/arm/qcom.yaml | 1 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/sm8250-lenovo-j716f.dts | 576 ++++++++++++++++++
3 files changed, 578 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts

--
2.38.1


2022-11-27 17:15:23

by David Wronek

[permalink] [raw]
Subject: [PATCH 2/3] arm64: dts: qcom: sm8250-lenovo-j716f: Add initial device tree

Add the initial device tree for Lenovo Xiaoxin Pad Pro 2021 based on
Qualcomm SM8250 with the following features:

- SimpleFB
- GPIO keys
- Regulators
- I2C
- UFS
- USB

Signed-off-by: David Wronek <[email protected]>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/sm8250-lenovo-j716f.dts | 561 ++++++++++++++++++
2 files changed, 562 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index afe496a93f94..c002f78144b6 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -158,6 +158,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8150-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8150-sony-xperia-kumano-bahamut.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8150-sony-xperia-kumano-griffin.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-hdk.dtb
+dtb-$(CONFIG_ARCH_QCOM) += sm8250-lenovo-j716f.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx203.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx206.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts b/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
new file mode 100644
index 000000000000..c493721ef664
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
@@ -0,0 +1,561 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2022, David Wronek <[email protected]>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "sm8250.dtsi"
+#include "pm8150.dtsi"
+#include "pm8150b.dtsi"
+#include "pm8150l.dtsi"
+#include "pm8009.dtsi"
+
+/ {
+ model = "Lenovo Xiaoxin Pad Pro 2021";
+ compatible = "lenovo,j716f", "qcom,sm8250";
+ classis-type = "tablet";
+
+ qcom,msm-id = <0x164 0x20001>;
+ qcom,board-id = <0x2010008 0>;
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ bootargs = "fw_devlink=permissive clk_ignore_unused pd_ignore_unused";
+ stdout-path = "framebuffer0";
+
+ framebuffer0: framebuffer@9c000000 {
+ compatible = "simple-framebuffer";
+ reg = <0 0x9c000000 0 0x2300000>;
+ width = <2560>;
+ height = <1600>;
+ stride = <(2560 * 4)>;
+ format = "a8r8g8b8";
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ key-vol-up {
+ label = "Volume Up";
+ linux,code = <KEY_VOLUMEUP>;
+ gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
+ debounce-interval = <15>;
+ };
+ };
+
+ reserved-memory {
+ cont_splash_mem: memory@9c000000 {
+ reg = <0x0 0x9c000000 0x0 0x2300000>;
+ no-map;
+ };
+ };
+
+ vph_pwr: vph-pwr-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vph_pwr";
+ regulator-min-microvolt = <3700000>;
+ regulator-max-microvolt = <3700000>;
+ };
+
+ /* S6c is really ebi.lvl but it's there for supply map completeness sake. */
+ vreg_s6c_0p88: smpc6-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_s6c_0p88";
+
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-always-on;
+ vin-supply = <&vph_pwr>;
+ };
+};
+
+&apps_rsc {
+ pm8150-rpmh-regulators {
+ compatible = "qcom,pm8150-rpmh-regulators";
+ qcom,pmic-id = "a";
+
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vph_pwr>;
+ vdd-s3-supply = <&vph_pwr>;
+ vdd-s4-supply = <&vph_pwr>;
+ vdd-s5-supply = <&vph_pwr>;
+ vdd-s6-supply = <&vph_pwr>;
+ vdd-s7-supply = <&vph_pwr>;
+ vdd-s8-supply = <&vph_pwr>;
+ vdd-s9-supply = <&vph_pwr>;
+ vdd-s10-supply = <&vph_pwr>;
+ vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
+ vdd-l2-l10-supply = <&vreg_bob>;
+ vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
+ vdd-l6-l9-supply = <&vreg_s8c_1p35>;
+ vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
+ vdd-l13-l16-l17-supply = <&vreg_bob>;
+
+ /* (S1+S2+S3) - cx.lvl (ARC) */
+
+ vreg_s4a_1p8: smps4 {
+ regulator-name = "vreg_s4a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s5a_1p9: smps5 {
+ regulator-name = "vreg_s5a_1p9";
+ regulator-min-microvolt = <1900000>;
+ regulator-max-microvolt = <2040000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s6a_0p95: smps6 {
+ regulator-name = "vreg_s6a_0p95";
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1128000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2a_3p1: ldo2 {
+ regulator-name = "vreg_l2a_3p1";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3a_0p93: ldo3 {
+ regulator-name = "vreg_l3a_0p93";
+ regulator-min-microvolt = <928000>;
+ regulator-max-microvolt = <932000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ /* L4 - lmx.lvl (ARC) */
+
+ vreg_l5a_0p88: ldo5 {
+ regulator-name = "vreg_l5a_0p88";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6a_1p2: ldo6 {
+ regulator-name = "vreg_l6a_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7a_1p7: ldo7 {
+ regulator-name = "vreg_l7a_1p7";
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9a_1p2: ldo9 {
+ regulator-name = "vreg_l9a_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10a_1p8: ldo10 {
+ regulator-name = "vreg_l10a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ /* L11 - lcx.lvl (ARC) */
+
+ vreg_l12a_1p8: ldo12 {
+ regulator-name = "vreg_l12a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l13a_3p0: ldo13 {
+ regulator-name = "vreg_l13a_3p0";
+ regulator-min-microvolt = <3008000>;
+ regulator-max-microvolt = <3008000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l14a_1p8: ldo14 {
+ regulator-name = "vreg_l14a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l15a_1p8: ldo15 {
+ regulator-name = "vreg_l15a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l16a_3p0: ldo16 {
+ regulator-name = "vreg_l16a_3p0";
+ regulator-min-microvolt = <3024000>;
+ regulator-max-microvolt = <3304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l17a_2p5: ldo17 {
+ regulator-name = "vreg_l17a_2p5";
+ regulator-min-microvolt = <2496000>;
+ regulator-max-microvolt = <3008000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l18a_0p8: ldo18 {
+ regulator-name = "vreg_l18a_0p8";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ /*
+ * Remaining regulators that are not yet supported:
+ * OLEDB: 4925000-8100000
+ * ab: 4600000-6100000
+ * ibb: 800000-5400000
+ */
+
+ pm8150l-rpmh-regulators {
+ compatible = "qcom,pm8150l-rpmh-regulators";
+ qcom,pmic-id = "c";
+
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vph_pwr>;
+ vdd-s3-supply = <&vph_pwr>;
+ vdd-s4-supply = <&vph_pwr>;
+ vdd-s5-supply = <&vph_pwr>;
+ vdd-s6-supply = <&vph_pwr>;
+ vdd-s7-supply = <&vph_pwr>;
+ vdd-s8-supply = <&vph_pwr>;
+ vdd-l1-l8-supply = <&vreg_s4a_1p8>;
+ vdd-l2-l3-supply = <&vreg_s8c_1p35>;
+ vdd-l4-l5-l6-supply = <&vreg_bob>;
+ vdd-l7-l11-supply = <&vreg_bob>;
+ vdd-l9-l10-supply = <&vreg_bob>;
+ vdd-bob-supply = <&vph_pwr>;
+
+ vreg_bob: bob {
+ regulator-name = "vreg_bob";
+ regulator-min-microvolt = <3008000>;
+ regulator-max-microvolt = <3960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+ };
+
+ /*
+ * S1-S6 are ARCs:
+ * (S1+S2) - gfx.lvl,
+ * S3 - mx.lvl,
+ * (S4+S5) - mmcx.lvl,
+ * S6 - ebi.lvl
+ */
+
+ vreg_s7c_0p35: smps7 {
+ regulator-name = "vreg_s7c_0p35";
+ regulator-min-microvolt = <348000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s8c_1p35: smps8 {
+ regulator-name = "vreg_s8c_1p4";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1c_1p8: ldo1 {
+ regulator-name = "vreg_l1c_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2c_1p2: ldo2 {
+ regulator-name = "vreg_l2c_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3c_0p8: ldo3 {
+ regulator-name = "vreg_l3c_0p8";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4c_1p8: ldo4 {
+ regulator-name = "vreg_l4c_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l5c_1p8: ldo5 {
+ regulator-name = "vreg_l5c_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6c_2p9: ldo6 {
+ regulator-name = "vreg_l6c_2p9";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l7c_2p9: ldo7 {
+ regulator-name = "vreg_l7c_2p9";
+ regulator-min-microvolt = <2856000>;
+ regulator-max-microvolt = <3104000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8c_1p8: ldo8 {
+ regulator-name = "vreg_l8c_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9c_2p7: ldo9 {
+ regulator-name = "vreg_l9c_2p7";
+ regulator-min-microvolt = <2704000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ };
+
+ vreg_l10c_3p0: ldo10 {
+ regulator-name = "vreg_l10c_3p0";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3312000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l11c_3p1: ldo11 {
+ regulator-name = "vreg_l11c_3p1";
+ regulator-min-microvolt = <3104000>;
+ regulator-max-microvolt = <3304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ pm8009-rpmh-regulators {
+ compatible = "qcom,pm8009-rpmh-regulators";
+ qcom,pmic-id = "f";
+
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vreg_bob>;
+ vdd-l2-supply = <&vreg_s8c_1p35>;
+ vdd-l5-l6-supply = <&vreg_bob>;
+ vdd-l7-supply = <&vreg_s4a_1p8>;
+
+ vreg_s1f_1p2: smps1 {
+ regulator-name = "vreg_s1f_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s2f_0p5: smps2 {
+ regulator-name = "vreg_s2f_0p5";
+ regulator-min-microvolt = <512000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1f_1p1: ldo1 {
+ regulator-name = "vreg_l1f_1p1";
+ regulator-min-microvolt = <1104000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2f_1p2: ldo2 {
+ regulator-name = "vreg_l2f_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3f_1p1: ldo3 {
+ regulator-name = "vreg_l3f_1p1";
+ regulator-min-microvolt = <1056000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4f_1p1: ldo4 {
+ regulator-name = "vreg_l4f_1p1";
+ regulator-min-microvolt = <1096000>;
+ regulator-max-microvolt = <1304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l5f_2p8: ldo5 {
+ regulator-name = "vreg_l5f_2p8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6f_2p8: ldo6 {
+ regulator-name = "vreg_l6f_2p8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7f_1p8: ldo7 {
+ regulator-name = "vreg_l7f_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
+
+&gpi_dma0 {
+ status = "okay";
+};
+
+&gpi_dma1 {
+ status = "okay";
+};
+
+&gpi_dma2 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+ clock-frequency = <1000000>;
+
+ /* hid-over-i2c ptp @ 60 */
+};
+
+&i2c3 {
+ status = "okay";
+ clock-frequency = <400000>;
+
+ bq27541@55 {
+ compatible = "ti,bq27541";
+ reg = <0x55>;
+ };
+};
+
+&i2c4 {
+ status = "okay";
+ clock-frequency = <400000>;
+
+ /* onnn,redriver (DP out) @ 19 */
+ /* Cirrus CS35L41 (Speaker 1) @ 40 */
+ /* Cirrus CS35L41 (Speaker 2) @ 41 */
+ /* Cirrus CS35L41 (Speaker 3) @ 42 */
+ /* Cirrus CS35L41 (Speaker 4) @ 43 */
+ /* hid-over-i2c keyboard @ 61 */
+};
+
+&i2c13 {
+ status = "okay";
+ clock-frequency = <400000>;
+
+ /* goodix,gt738x (Touchscreen) @ 5d */
+};
+
+&i2c15 {
+ status = "okay";
+ clock-frequency = <400000>;
+
+ /* Qcom SMB1390 @ 10 */
+ /* HALO HL6111R Qi charger @ 25 */
+ /* Everest-semi ES7210 4-ch ADC @ 40 */
+ /* Qcom FSA4480 USB-C audio switch @ 43 */
+ /* Richwave RTC6226 FM Radio Receiver @ 64 */
+};
+
+&pon_pwrkey {
+ status = "okay";
+};
+
+&pon_resin {
+ status = "okay";
+
+ linux,code = <KEY_VOLUMEDOWN>;
+};
+
+&qupv3_id_0 {
+ status = "okay";
+};
+
+&qupv3_id_1 {
+ status = "okay";
+};
+
+&qupv3_id_2 {
+ status = "okay";
+};
+
+&tlmm {
+ gpio-reserved-ranges = <40 4>;
+};
+
+&ufs_mem_hc {
+ status = "okay";
+
+ vcc-supply = <&vreg_l17a_2p5>;
+ vcc-max-microamp = <800000>;
+ vccq-supply = <&vreg_l6a_1p2>;
+ vccq-max-microamp = <800000>;
+ vccq2-supply = <&vreg_s4a_1p8>;
+ vccq2-max-microamp = <800000>;
+};
+
+&ufs_mem_phy {
+ status = "okay";
+
+ vdda-phy-supply = <&vreg_l5a_0p88>;
+ vdda-pll-supply = <&vreg_l9a_1p2>;
+};
+
+&usb_1 {
+ status = "okay";
+};
+
+&usb_1_dwc3 {
+ dr_mode = "peripheral";
+};
+
+&usb_1_hsphy {
+ status = "okay";
+
+ vdda-pll-supply = <&vreg_l5a_0p88>;
+ vdda18-supply = <&vreg_l12a_1p8>;
+ vdda33-supply = <&vreg_l2a_3p1>;
+};
+
+&usb_1_qmpphy {
+ status = "okay";
+
+ vdda-phy-supply = <&vreg_l9a_1p2>;
+ vdda-pll-supply = <&vreg_l18a_0p8>;
+};
--
2.38.1

2022-11-27 17:22:02

by David Wronek

[permalink] [raw]
Subject: [PATCH 1/3] dt-bindings: arm: qcom: Document Lenovo Xiaoxin Pad Pro 2021

Document the compatible for the Lenovo Xiaoxin Pad Pro 2021 Android
tablet.

Signed-off-by: David Wronek <[email protected]>
---
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 463509f0f23a..588ac7f12a81 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -796,6 +796,7 @@ properties:

- items:
- enum:
+ - lenovo,j716f
- qcom,qrb5165-rb5
- qcom,sm8250-hdk
- qcom,sm8250-mtp
--
2.38.1

2022-11-27 17:22:30

by David Wronek

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: qcom: sm8250-lenovo-j716f: Enable ADSP/CDSP/SLPI

Enabled the ADSP, CDSP and SLPI remoteprocs with a simple "okay".
Firmware needs to be provided by the Linux distribution, as it's signed
and needs to come from stock Android.

Signed-off-by: David Wronek <[email protected]>
---
arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts b/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
index c493721ef664..33edeb6f3ef4 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
+++ b/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
@@ -76,6 +76,11 @@ vreg_s6c_0p88: smpc6-regulator {
};
};

+&adsp {
+ status = "okay";
+ firmware-name = "qcom/sm8250/j716f/adsp.mbn";
+};
+
&apps_rsc {
pm8150-rpmh-regulators {
compatible = "qcom,pm8150-rpmh-regulators";
@@ -434,6 +439,11 @@ vreg_l7f_1p8: ldo7 {
};
};

+&cdsp {
+ status = "okay";
+ firmware-name = "qcom/sm8250/j716f/cdsp.mbn";
+};
+
&gpi_dma0 {
status = "okay";
};
@@ -515,6 +525,11 @@ &qupv3_id_2 {
status = "okay";
};

+&slpi {
+ status = "okay";
+ firmware-name = "qcom/sm8250/j716f/slpi.mbn";
+};
+
&tlmm {
gpio-reserved-ranges = <40 4>;
};
--
2.38.1

2022-11-27 19:07:22

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/3] dt-bindings: arm: qcom: Document Lenovo Xiaoxin Pad Pro 2021

On 27/11/2022 18:08, David Wronek wrote:
> Document the compatible for the Lenovo Xiaoxin Pad Pro 2021 Android
> tablet.
>
> Signed-off-by: David Wronek <[email protected]>


Acked-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof

2022-11-27 19:08:35

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: qcom: sm8250-lenovo-j716f: Enable ADSP/CDSP/SLPI

On 27/11/2022 18:08, David Wronek wrote:
> Enabled the ADSP, CDSP and SLPI remoteprocs with a simple "okay".

s/Enabled/Enable/

> Firmware needs to be provided by the Linux distribution, as it's signed
> and needs to come from stock Android.
>
> Signed-off-by: David Wronek <[email protected]>
> ---

You just added the DTS, so this should be squashed with previous patch.
Why adding incomplete DTS just to fix it up/extend immediately?

Best regards,
Krzysztof

2022-11-27 19:09:55

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/3] arm64: dts: qcom: sm8250-lenovo-j716f: Add initial device tree

On 27/11/2022 18:08, David Wronek wrote:
> Add the initial device tree for Lenovo Xiaoxin Pad Pro 2021 based on
> Qualcomm SM8250 with the following features:
>
> - SimpleFB
> - GPIO keys
> - Regulators
> - I2C
> - UFS
> - USB
>
> Signed-off-by: David Wronek <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> .../boot/dts/qcom/sm8250-lenovo-j716f.dts | 561 ++++++++++++++++++
> 2 files changed, 562 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index afe496a93f94..c002f78144b6 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -158,6 +158,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8150-mtp.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8150-sony-xperia-kumano-bahamut.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8150-sony-xperia-kumano-griffin.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8250-hdk.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += sm8250-lenovo-j716f.dtb

Thank you for your patch. There is something to discuss/improve.

> +/ {
> + model = "Lenovo Xiaoxin Pad Pro 2021";
> + compatible = "lenovo,j716f", "qcom,sm8250";
> + classis-type = "tablet";
> +
> + qcom,msm-id = <0x164 0x20001>;
> + qcom,board-id = <0x2010008 0>;
> +
> + chosen {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + bootargs = "fw_devlink=permissive clk_ignore_unused pd_ignore_unused";

These do not belong to mainlined DTS.

> + stdout-path = "framebuffer0";
> +
> + framebuffer0: framebuffer@9c000000 {
> + compatible = "simple-framebuffer";
> + reg = <0 0x9c000000 0 0x2300000>;
> + width = <2560>;
> + height = <1600>;
> + stride = <(2560 * 4)>;
> + format = "a8r8g8b8";
> + };
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> +
> + key-vol-up {
> + label = "Volume Up";
> + linux,code = <KEY_VOLUMEUP>;
> + gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
> + debounce-interval = <15>;
> + };
> + };
> +
> + reserved-memory {
> + cont_splash_mem: memory@9c000000 {
> + reg = <0x0 0x9c000000 0x0 0x2300000>;
> + no-map;
> + };
> + };
> +
> + vph_pwr: vph-pwr-regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "vph_pwr";
> + regulator-min-microvolt = <3700000>;
> + regulator-max-microvolt = <3700000>;
> + };
> +
> + /* S6c is really ebi.lvl but it's there for supply map completeness sake. */
> + vreg_s6c_0p88: smpc6-regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_s6c_0p88";
> +
> + regulator-min-microvolt = <880000>;
> + regulator-max-microvolt = <880000>;
> + regulator-always-on;
> + vin-supply = <&vph_pwr>;
> + };
> +};
> +
> +&apps_rsc {
> + pm8150-rpmh-regulators {

Node name: regulators-0
(this should already complain with dtbs_check)

> + compatible = "qcom,pm8150-rpmh-regulators";
> + qcom,pmic-id = "a";
> +
> + vdd-s1-supply = <&vph_pwr>;
> + vdd-s2-supply = <&vph_pwr>;
> + vdd-s3-supply = <&vph_pwr>;
> + vdd-s4-supply = <&vph_pwr>;
> + vdd-s5-supply = <&vph_pwr>;
> + vdd-s6-supply = <&vph_pwr>;
> + vdd-s7-supply = <&vph_pwr>;
> + vdd-s8-supply = <&vph_pwr>;
> + vdd-s9-supply = <&vph_pwr>;
> + vdd-s10-supply = <&vph_pwr>;
> + vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
> + vdd-l2-l10-supply = <&vreg_bob>;
> + vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
> + vdd-l6-l9-supply = <&vreg_s8c_1p35>;
> + vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
> + vdd-l13-l16-l17-supply = <&vreg_bob>;
> +
> + /* (S1+S2+S3) - cx.lvl (ARC) */
> +
> + vreg_s4a_1p8: smps4 {
> + regulator-name = "vreg_s4a_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1920000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s5a_1p9: smps5 {
> + regulator-name = "vreg_s5a_1p9";
> + regulator-min-microvolt = <1900000>;
> + regulator-max-microvolt = <2040000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s6a_0p95: smps6 {
> + regulator-name = "vreg_s6a_0p95";
> + regulator-min-microvolt = <950000>;
> + regulator-max-microvolt = <1128000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l2a_3p1: ldo2 {
> + regulator-name = "vreg_l2a_3p1";
> + regulator-min-microvolt = <3072000>;
> + regulator-max-microvolt = <3072000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l3a_0p93: ldo3 {
> + regulator-name = "vreg_l3a_0p93";
> + regulator-min-microvolt = <928000>;
> + regulator-max-microvolt = <932000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + /* L4 - lmx.lvl (ARC) */
> +
> + vreg_l5a_0p88: ldo5 {
> + regulator-name = "vreg_l5a_0p88";
> + regulator-min-microvolt = <880000>;
> + regulator-max-microvolt = <880000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l6a_1p2: ldo6 {
> + regulator-name = "vreg_l6a_1p2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l7a_1p7: ldo7 {
> + regulator-name = "vreg_l7a_1p7";
> + regulator-min-microvolt = <1704000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l9a_1p2: ldo9 {
> + regulator-name = "vreg_l9a_1p2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l10a_1p8: ldo10 {
> + regulator-name = "vreg_l10a_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <2960000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + /* L11 - lcx.lvl (ARC) */
> +
> + vreg_l12a_1p8: ldo12 {
> + regulator-name = "vreg_l12a_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l13a_3p0: ldo13 {
> + regulator-name = "vreg_l13a_3p0";
> + regulator-min-microvolt = <3008000>;
> + regulator-max-microvolt = <3008000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l14a_1p8: ldo14 {
> + regulator-name = "vreg_l14a_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1880000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l15a_1p8: ldo15 {
> + regulator-name = "vreg_l15a_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l16a_3p0: ldo16 {
> + regulator-name = "vreg_l16a_3p0";
> + regulator-min-microvolt = <3024000>;
> + regulator-max-microvolt = <3304000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l17a_2p5: ldo17 {
> + regulator-name = "vreg_l17a_2p5";
> + regulator-min-microvolt = <2496000>;
> + regulator-max-microvolt = <3008000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l18a_0p8: ldo18 {
> + regulator-name = "vreg_l18a_0p8";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <920000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> + };
> +
> + /*
> + * Remaining regulators that are not yet supported:
> + * OLEDB: 4925000-8100000
> + * ab: 4600000-6100000
> + * ibb: 800000-5400000
> + */
> +
> + pm8150l-rpmh-regulators {

Node name: regulators-1

> + compatible = "qcom,pm8150l-rpmh-regulators";
> + qcom,pmic-id = "c";
> +
> + vdd-s1-supply = <&vph_pwr>;
> + vdd-s2-supply = <&vph_pwr>;
> + vdd-s3-supply = <&vph_pwr>;
> + vdd-s4-supply = <&vph_pwr>;
> + vdd-s5-supply = <&vph_pwr>;
> + vdd-s6-supply = <&vph_pwr>;
> + vdd-s7-supply = <&vph_pwr>;
> + vdd-s8-supply = <&vph_pwr>;
> + vdd-l1-l8-supply = <&vreg_s4a_1p8>;
> + vdd-l2-l3-supply = <&vreg_s8c_1p35>;
> + vdd-l4-l5-l6-supply = <&vreg_bob>;
> + vdd-l7-l11-supply = <&vreg_bob>;
> + vdd-l9-l10-supply = <&vreg_bob>;
> + vdd-bob-supply = <&vph_pwr>;
> +
> + vreg_bob: bob {
> + regulator-name = "vreg_bob";
> + regulator-min-microvolt = <3008000>;
> + regulator-max-microvolt = <3960000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
> + };
> +
> + /*
> + * S1-S6 are ARCs:
> + * (S1+S2) - gfx.lvl,
> + * S3 - mx.lvl,
> + * (S4+S5) - mmcx.lvl,
> + * S6 - ebi.lvl
> + */
> +
> + vreg_s7c_0p35: smps7 {
> + regulator-name = "vreg_s7c_0p35";
> + regulator-min-microvolt = <348000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s8c_1p35: smps8 {
> + regulator-name = "vreg_s8c_1p4";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <1400000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l1c_1p8: ldo1 {
> + regulator-name = "vreg_l1c_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l2c_1p2: ldo2 {
> + regulator-name = "vreg_l2c_1p2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1304000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l3c_0p8: ldo3 {
> + regulator-name = "vreg_l3c_0p8";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l4c_1p8: ldo4 {
> + regulator-name = "vreg_l4c_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l5c_1p8: ldo5 {
> + regulator-name = "vreg_l5c_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l6c_2p9: ldo6 {
> + regulator-name = "vreg_l6c_2p9";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <2960000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-allow-set-load;
> + };
> +
> + vreg_l7c_2p9: ldo7 {
> + regulator-name = "vreg_l7c_2p9";
> + regulator-min-microvolt = <2856000>;
> + regulator-max-microvolt = <3104000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l8c_1p8: ldo8 {
> + regulator-name = "vreg_l8c_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l9c_2p7: ldo9 {
> + regulator-name = "vreg_l9c_2p7";
> + regulator-min-microvolt = <2704000>;
> + regulator-max-microvolt = <2960000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-allow-set-load;
> + };
> +
> + vreg_l10c_3p0: ldo10 {
> + regulator-name = "vreg_l10c_3p0";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3312000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l11c_3p1: ldo11 {
> + regulator-name = "vreg_l11c_3p1";
> + regulator-min-microvolt = <3104000>;
> + regulator-max-microvolt = <3304000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> + };
> +
> + pm8009-rpmh-regulators {

Node name: regulators-2

> + compatible = "qcom,pm8009-rpmh-regulators";
> + qcom,pmic-id = "f";
> +
> + vdd-s1-supply = <&vph_pwr>;
> + vdd-s2-supply = <&vreg_bob>;
> + vdd-l2-supply = <&vreg_s8c_1p35>;
> + vdd-l5-l6-supply = <&vreg_bob>;
> + vdd-l7-supply = <&vreg_s4a_1p8>;
> +
> + vreg_s1f_1p2: smps1 {
> + regulator-name = "vreg_s1f_1p2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s2f_0p5: smps2 {
> + regulator-name = "vreg_s2f_0p5";
> + regulator-min-microvolt = <512000>;
> + regulator-max-microvolt = <1100000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l1f_1p1: ldo1 {
> + regulator-name = "vreg_l1f_1p1";
> + regulator-min-microvolt = <1104000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l2f_1p2: ldo2 {
> + regulator-name = "vreg_l2f_1p2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l3f_1p1: ldo3 {
> + regulator-name = "vreg_l3f_1p1";
> + regulator-min-microvolt = <1056000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l4f_1p1: ldo4 {
> + regulator-name = "vreg_l4f_1p1";
> + regulator-min-microvolt = <1096000>;
> + regulator-max-microvolt = <1304000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l5f_2p8: ldo5 {
> + regulator-name = "vreg_l5f_2p8";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l6f_2p8: ldo6 {
> + regulator-name = "vreg_l6f_2p8";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l7f_1p8: ldo7 {
> + regulator-name = "vreg_l7f_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> + };
> +};
> +
> +&gpi_dma0 {
> + status = "okay";
> +};
> +
> +&gpi_dma1 {
> + status = "okay";
> +};
> +
> +&gpi_dma2 {
> + status = "okay";
> +};
> +
> +&i2c1 {
> + status = "okay";
> + clock-frequency = <1000000>;
> +
> + /* hid-over-i2c ptp @ 60 */
> +};
> +
> +&i2c3 {
> + status = "okay";
> + clock-frequency = <400000>;
> +
> + bq27541@55 {

Node names should be generic.
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

> + compatible = "ti,bq27541";
> + reg = <0x55>;
> + };
> +};

Best regards,
Krzysztof

2022-11-27 19:22:47

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: qcom: sm8250-lenovo-j716f: Enable ADSP/CDSP/SLPI



On 27 November 2022 20:08:58 GMT+03:00, David Wronek <[email protected]> wrote:
>Enabled the ADSP, CDSP and SLPI remoteprocs with a simple "okay".
>Firmware needs to be provided by the Linux distribution, as it's signed
>and needs to come from stock Android.
>
>Signed-off-by: David Wronek <[email protected]>
>---
> arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
>diff --git a/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts b/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
>index c493721ef664..33edeb6f3ef4 100644
>--- a/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
>+++ b/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
>@@ -76,6 +76,11 @@ vreg_s6c_0p88: smpc6-regulator {
> };
> };
>
>+&adsp {
>+ status = "okay";
>+ firmware-name = "qcom/sm8250/j716f/adsp.mbn";
>+};
>+
> &apps_rsc {
> pm8150-rpmh-regulators {
> compatible = "qcom,pm8150-rpmh-regulators";
>@@ -434,6 +439,11 @@ vreg_l7f_1p8: ldo7 {
> };
> };
>
>+&cdsp {
>+ status = "okay";
>+ firmware-name = "qcom/sm8250/j716f/cdsp.mbn";

Please add vendor to the firmware path, see sc8280 x13s dts


>+};
>+
> &gpi_dma0 {
> status = "okay";
> };
>@@ -515,6 +525,11 @@ &qupv3_id_2 {
> status = "okay";
> };
>
>+&slpi {
>+ status = "okay";
>+ firmware-name = "qcom/sm8250/j716f/slpi.mbn";
>+};
>+
> &tlmm {
> gpio-reserved-ranges = <40 4>;
> };

--
With best wishes
Dmitry