mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
282 lines
6.9 KiB
Diff
282 lines
6.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jianhua Lu <lujianhua000@gmail.com>
|
|
Date: Sat, 18 Mar 2023 22:26:22 +0800
|
|
Subject: arm64: dts: qcom: sm8250-xiaomi-elish: Add sound support
|
|
|
|
---
|
|
arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi | 232 ++++++++++
|
|
1 file changed, 232 insertions(+)
|
|
|
|
diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
|
|
index 2da3820dd..45775428c 100644
|
|
--- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
|
|
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
|
|
@@ -6,6 +6,8 @@
|
|
#include <dt-bindings/arm/qcom,ids.h>
|
|
#include <dt-bindings/phy/phy.h>
|
|
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
|
+#include <dt-bindings/sound/qcom,q6afe.h>
|
|
+#include <dt-bindings/sound/qcom,q6asm.h>
|
|
#include "sm8250.dtsi"
|
|
#include "pm8150.dtsi"
|
|
#include "pm8150b.dtsi"
|
|
@@ -529,6 +531,152 @@ fuel-gauge@55 {
|
|
};
|
|
};
|
|
|
|
+&i2c1 {
|
|
+ clock-frequency = <400000>;
|
|
+ status = "okay";
|
|
+
|
|
+ cs35l41_brh: speaker-amp@40 {
|
|
+ compatible = "cirrus,cs35l41";
|
|
+ reg = <0x40>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,boost-type = <0>;
|
|
+ cirrus,boost-peak-milliamp = <4000>;
|
|
+ cirrus,boost-ind-nanohenry = <1000>;
|
|
+ cirrus,boost-cap-microfarad = <15>;
|
|
+ cirrus,asp-sdout-hiz = <3>;
|
|
+ cirrus,gpio2-src-select = <4>;
|
|
+ cirrus,gpio2-output-enable;
|
|
+ sound-name-prefix = "BRH";
|
|
+ #sound-dai-cells = <1>;
|
|
+ };
|
|
+
|
|
+ cs35l41_blh: speaker-amp@41 {
|
|
+ compatible = "cirrus,cs35l41";
|
|
+ reg = <0x41>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <67 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,boost-type = <0>;
|
|
+ cirrus,boost-peak-milliamp = <4000>;
|
|
+ cirrus,boost-ind-nanohenry = <1000>;
|
|
+ cirrus,boost-cap-microfarad = <15>;
|
|
+ cirrus,asp-sdout-hiz = <3>;
|
|
+ cirrus,gpio2-src-select = <4>;
|
|
+ cirrus,gpio2-output-enable;
|
|
+ sound-name-prefix = "BLH";
|
|
+ #sound-dai-cells = <1>;
|
|
+ };
|
|
+
|
|
+ cs35l41_brl: speaker-amp@42 {
|
|
+ compatible = "cirrus,cs35l41";
|
|
+ reg = <0x42>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <100 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 69 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,boost-type = <0>;
|
|
+ cirrus,boost-peak-milliamp = <4000>;
|
|
+ cirrus,boost-ind-nanohenry = <1000>;
|
|
+ cirrus,boost-cap-microfarad = <15>;
|
|
+ cirrus,asp-sdout-hiz = <3>;
|
|
+ cirrus,gpio2-src-select = <4>;
|
|
+ cirrus,gpio2-output-enable;
|
|
+ sound-name-prefix = "BRL";
|
|
+ #sound-dai-cells = <1>;
|
|
+ };
|
|
+
|
|
+ cs35l41_bll: speaker-amp@43 {
|
|
+ compatible = "cirrus,cs35l41";
|
|
+ reg = <0x43>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <126 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,boost-type = <0>;
|
|
+ cirrus,boost-peak-milliamp = <4000>;
|
|
+ cirrus,boost-ind-nanohenry = <1000>;
|
|
+ cirrus,boost-cap-microfarad = <15>;
|
|
+ cirrus,asp-sdout-hiz = <3>;
|
|
+ cirrus,gpio2-src-select = <4>;
|
|
+ cirrus,gpio2-output-enable;
|
|
+ sound-name-prefix = "BLL";
|
|
+ #sound-dai-cells = <1>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c3 {
|
|
+ clock-frequency = <400000>;
|
|
+ status = "okay";
|
|
+
|
|
+ cs35l41_trh: speaker-amp@40 {
|
|
+ compatible = "cirrus,cs35l41";
|
|
+ reg = <0x40>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,boost-type = <0>;
|
|
+ cirrus,boost-peak-milliamp = <4000>;
|
|
+ cirrus,boost-ind-nanohenry = <1000>;
|
|
+ cirrus,boost-cap-microfarad = <15>;
|
|
+ cirrus,asp-sdout-hiz = <3>;
|
|
+ cirrus,gpio2-src-select = <4>;
|
|
+ cirrus,gpio2-output-enable;
|
|
+ sound-name-prefix = "TRH";
|
|
+ #sound-dai-cells = <1>;
|
|
+ };
|
|
+
|
|
+ cs35l41_tlh: speaker-amp@41 {
|
|
+ compatible = "cirrus,cs35l41";
|
|
+ reg = <0x41>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <92 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 78 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,boost-type = <0>;
|
|
+ cirrus,boost-peak-milliamp = <4000>;
|
|
+ cirrus,boost-ind-nanohenry = <1000>;
|
|
+ cirrus,boost-cap-microfarad = <15>;
|
|
+ cirrus,asp-sdout-hiz = <3>;
|
|
+ cirrus,gpio2-src-select = <4>;
|
|
+ cirrus,gpio2-output-enable;
|
|
+ sound-name-prefix = "TLH";
|
|
+ #sound-dai-cells = <1>;
|
|
+ };
|
|
+
|
|
+ cs35l41_tll: speaker-amp@42 {
|
|
+ compatible = "cirrus,cs35l41";
|
|
+ reg = <0x42>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <112 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,boost-type = <0>;
|
|
+ cirrus,boost-peak-milliamp = <4000>;
|
|
+ cirrus,boost-ind-nanohenry = <1000>;
|
|
+ cirrus,boost-cap-microfarad = <15>;
|
|
+ cirrus,asp-sdout-hiz = <3>;
|
|
+ cirrus,gpio2-src-select = <4>;
|
|
+ cirrus,gpio2-output-enable;
|
|
+ sound-name-prefix = "TLL";
|
|
+ #sound-dai-cells = <1>;
|
|
+ };
|
|
+
|
|
+ cs35l41_trl: speaker-amp@43 {
|
|
+ compatible = "cirrus,cs35l41";
|
|
+ reg = <0x43>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <129 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 144 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,boost-type = <0>;
|
|
+ cirrus,boost-peak-milliamp = <4000>;
|
|
+ cirrus,boost-ind-nanohenry = <1000>;
|
|
+ cirrus,boost-cap-microfarad = <15>;
|
|
+ cirrus,asp-sdout-hiz = <3>;
|
|
+ cirrus,gpio2-src-select = <4>;
|
|
+ cirrus,gpio2-output-enable;
|
|
+ sound-name-prefix = "TRL";
|
|
+ #sound-dai-cells = <1>;
|
|
+ };
|
|
+};
|
|
+
|
|
&i2c11 {
|
|
clock-frequency = <400000>;
|
|
status = "okay";
|
|
@@ -684,11 +832,63 @@ &qupv3_id_2 {
|
|
status = "okay";
|
|
};
|
|
|
|
+&q6afedai {
|
|
+ dai@56 {
|
|
+ reg = <TERTIARY_TDM_RX_0>;
|
|
+ qcom,tdm-sync-mode = <0>;
|
|
+ qcom,tdm-sync-src = <1>;
|
|
+ qcom,tdm-data-out = <0>;
|
|
+ qcom,tdm-invert-sync = <1>;
|
|
+ qcom,tdm-data-delay = <1>;
|
|
+ qcom,tdm-data-align = <0>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&q6asmdai {
|
|
+ dai@0 {
|
|
+ reg = <0>;
|
|
+ };
|
|
+};
|
|
+
|
|
&slpi {
|
|
firmware-name = "qcom/sm8250/xiaomi/elish/slpi.mbn";
|
|
status = "disabled";
|
|
};
|
|
|
|
+&sound {
|
|
+ compatible = "qcom,sm8250-sndcard";
|
|
+ model = "Xiaomi Mi Pad 5 Pro";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&tert_tdm_active>;
|
|
+
|
|
+ mm1-dai-link {
|
|
+ link-name = "MultiMedia1";
|
|
+
|
|
+ cpu {
|
|
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ speaker-dai-link {
|
|
+ link-name = "Tertiary TDM Playback";
|
|
+
|
|
+ cpu {
|
|
+ sound-dai = <&q6afedai TERTIARY_TDM_RX_0>;
|
|
+ };
|
|
+
|
|
+ platform {
|
|
+ sound-dai = <&q6routing>;
|
|
+ };
|
|
+
|
|
+ codec {
|
|
+ sound-dai = <&cs35l41_tlh 0>, <&cs35l41_tll 0>,
|
|
+ <&cs35l41_trh 0>, <&cs35l41_trl 0>,
|
|
+ <&cs35l41_blh 0>, <&cs35l41_bll 0>,
|
|
+ <&cs35l41_brh 0>, <&cs35l41_brl 0>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
&spi4 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
@@ -735,6 +935,38 @@ wlan-en-pins {
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
+
|
|
+ tert_tdm_active: tert-tdm-active-state {
|
|
+ sck-pins {
|
|
+ pins = "gpio133";
|
|
+ function = "mi2s2_sck";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ din-pins {
|
|
+ pins = "gpio134";
|
|
+ function = "mi2s2_data0";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ };
|
|
+
|
|
+ ws-pins {
|
|
+ pins = "gpio135";
|
|
+ function = "mi2s2_ws";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ dout-pins {
|
|
+ pins = "gpio137";
|
|
+ function = "mi2s2_data1";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ };
|
|
+ };
|
|
};
|
|
|
|
&uart6 {
|
|
--
|
|
Armbian
|
|
|