Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ properties:
- fairphone,fp5-sndcard
- qcom,apq8096-sndcard
- qcom,glymur-sndcard
- qcom,nord-ride-sndcard
- qcom,qcm6490-idp-sndcard
- qcom,qcs615-sndcard
- qcom,qcs6490-rb3gen2-sndcard
Expand Down
37 changes: 37 additions & 0 deletions arch/arm64/boot/dts/qcom/nord-embedded.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -1425,6 +1425,43 @@
};

&tlmm {
aud_intfc8_mi2s_active: aud-intfc8-mi2s-active-state {
data-pins {
pins = "gpio75", "gpio76";
function = "aud_intfc8_data";
drive-strength = <8>;
bias-disable;
};

sclk-pins {
pins = "gpio73";
function = "aud_intfc8_clk";
drive-strength = <8>;
bias-disable;
};

ws-pins {
pins = "gpio74";
function = "aud_intfc8_ws";
drive-strength = <8>;
bias-disable;
};
};

aud_mclk0_mira_active: aud-mclk0-mira-active-state {
pins = "gpio99";
function = "aud_mclk0_mira";
drive-strength = <8>;
bias-disable;
};

aud_mclk1_mira_active: aud-mclk1-mira-active-state {
pins = "gpio100";
function = "aud_mclk1_mira";
drive-strength = <8>;
bias-disable;
};

qup_i2c0_default: qup-i2c0-default-state {
pins = "gpio111", "gpio112";
function = "qup0_se0";
Expand Down
114 changes: 114 additions & 0 deletions arch/arm64/boot/dts/qcom/nord-ride-sx.dts
Original file line number Diff line number Diff line change
Expand Up @@ -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 "nord-embedded.dtsi"
Expand Down Expand Up @@ -53,6 +54,46 @@
};
};

sound {
compatible = "qcom,nord-ride-sndcard";
model = "NORD-RIDE-SX";

pinctrl-0 = <&aud_intfc8_mi2s_active>, <&aud_mclk0_mira_active>;
pinctrl-names = "default";

aud-intfc8-mi2s-playback-dai-link {
link-name = "PCM1681 Playback";

codec {
sound-dai = <&pcm1681>;
};

cpu {
sound-dai = <&q6apmbedai TERTIARY_MI2S_RX>;
};

platform {
sound-dai = <&q6apm>;
};
};

aud-intfc8-mi2s-capture-dai-link {
link-name = "ADAU1977 Capture";

codec {
sound-dai = <&adau1979>;
};

cpu {
sound-dai = <&q6apmbedai TERTIARY_MI2S_TX>;
};

platform {
sound-dai = <&q6apm>;
};
};
};

ufs_vdd_hba: regulator-ufs-vdd-hba {
compatible = "regulator-fixed";
regulator-name = "ufs_vdd_hba";
Expand All @@ -78,6 +119,14 @@
enable-active-high;
regulator-always-on;
};

vreg_pre_reg_3p3: regulator-pre-reg-3p3 {
compatible = "regulator-fixed";
regulator-name = "vreg_pre_reg_3p3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};

&apps_rsc {
Expand Down Expand Up @@ -561,6 +610,54 @@
clock-frequency = <400000>;

status = "okay";

/* ADI ADAU1979 - 4-channel 24-bit ADC */
adau1979: adau1979@31 {
compatible = "adi,adau1979";
reg = <0x31>;

AVDD-supply = <&vreg_pre_reg_3p3>;
IOVDD-supply = <&vreg_pre_reg_3p3>;
#sound-dai-cells = <0>;
};

expander0: gpio@20 {
compatible = "ti,tca6408";
reg = <0x20>;
#gpio-cells = <2>;
gpio-controller;
#interrupt-cells = <2>;
interrupt-controller;
interrupts-extended = <&pmic_l_gpios 6 GPIO_ACTIVE_LOW>;
reset-gpios = <&pmic_l_gpios 5 GPIO_ACTIVE_LOW>;

click-pop-mute-hog {
gpio-hog;
gpios = <5 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "click-pop-mute-n";
};

dac-enable-hog {
gpio-hog;
gpios = <6 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "dac_enable";
};
};

/* PCM1681 DAC */
pcm1681: pcm1681@4c {
compatible = "ti,pcm1681";
reg = <0x4c>;

clocks = <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
clock-names = "sclk";
assigned-clocks = <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
assigned-clock-rates = <12288000>;

#sound-dai-cells = <0>;
};
};

&i2c19 {
Expand All @@ -569,6 +666,23 @@
status = "okay";
};

&q6apmbedai {
#address-cells = <1>;
#size-cells = <0>;

dai@20 {
reg = <TERTIARY_MI2S_RX>;
clocks = <&q6prmcc LPASS_CLK_ID_AUD_INTF8_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
clock-names = "bclk";
};

dai@21 {
reg = <TERTIARY_MI2S_TX>;
clocks = <&q6prmcc LPASS_CLK_ID_AUD_INTF8_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
clock-names = "bclk";
};
};

&qupv3_0 {
firmware-name = "qcom/nord/qupv3fw.elf";

Expand Down
113 changes: 113 additions & 0 deletions arch/arm64/boot/dts/qcom/nord-rrd.dts
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@
/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/sound/qcom,q6afe.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

#include "nord-embedded.dtsi"
#include "nord-pmics.dtsi"

/ {
model = "Qualcomm Technologies, Inc. IQ10 RRD";
Expand Down Expand Up @@ -52,6 +54,46 @@
};
};

sound {
compatible = "qcom,nord-ride-sndcard";
model = "NORD-RRD";

pinctrl-0 = <&aud_intfc8_mi2s_active>, <&aud_mclk0_mira_active>;
pinctrl-names = "default";

aud-intfc8-mi2s-playback-dai-link {
link-name = "PCM1681 Playback";

codec {
sound-dai = <&pcm1681>;
};

cpu {
sound-dai = <&q6apmbedai TERTIARY_MI2S_RX>;
};

platform {
sound-dai = <&q6apm>;
};
};

aud-intfc8-mi2s-capture-dai-link {
link-name = "ADAU1977 Capture";

codec {
sound-dai = <&adau1979>;
};

cpu {
sound-dai = <&q6apmbedai TERTIARY_MI2S_TX>;
};

platform {
sound-dai = <&q6apm>;
};
};
};

vreg_pre_reg_3p3: regulator-pre-reg-3p3 {
compatible = "regulator-fixed";
regulator-name = "vreg_pre_reg_3p3";
Expand Down Expand Up @@ -537,6 +579,77 @@
};
};

&i2c18 {
clock-frequency = <400000>;

status = "okay";

/* ADI ADAU1979 - 4-channel 24-bit ADC */
adau1979: adau1979@31 {
compatible = "adi,adau1979";
reg = <0x31>;

AVDD-supply = <&vreg_pre_reg_3p3>;
IOVDD-supply = <&vreg_pre_reg_3p3>;
#sound-dai-cells = <0>;
};

expander0: gpio@20 {
compatible = "ti,tca6408";
reg = <0x20>;
#gpio-cells = <2>;
gpio-controller;
#interrupt-cells = <2>;
interrupt-controller;
interrupts-extended = <&pmic_l_gpios 6 GPIO_ACTIVE_LOW>;
reset-gpios = <&pmic_l_gpios 5 GPIO_ACTIVE_LOW>;

click-pop-mute-hog {
gpio-hog;
gpios = <5 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "click-pop-mute-n";
};

dac-enable-hog {
gpio-hog;
gpios = <6 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "dac_enable";
};
};

/* PCM1681 DAC */
pcm1681: pcm1681@4c {
compatible = "ti,pcm1681";
reg = <0x4c>;

clocks = <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
clock-names = "sclk";
assigned-clocks = <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
assigned-clock-rates = <12288000>;

#sound-dai-cells = <0>;
};
};

&q6apmbedai {
#address-cells = <1>;
#size-cells = <0>;

dai@20 {
reg = <TERTIARY_MI2S_RX>;
clocks = <&q6prmcc LPASS_CLK_ID_AUD_INTF8_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
clock-names = "bclk";
};

dai@21 {
reg = <TERTIARY_MI2S_TX>;
clocks = <&q6prmcc LPASS_CLK_ID_AUD_INTF8_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
clock-names = "bclk";
};
};

&qupv3_0 {
firmware-name = "qcom/nord/qupv3fw.elf";

Expand Down
36 changes: 36 additions & 0 deletions arch/arm64/boot/dts/qcom/nord.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -1936,6 +1936,42 @@
dma-coherent;
};
};

gpr {
compatible = "qcom,gpr";
qcom,glink-channels = "adsp_apps";
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
qcom,intents = <512 20>;
label = "adsp";
#address-cells = <1>;
#size-cells = <0>;

q6apm: service@1 {
compatible = "qcom,q6apm";
reg = <GPR_APM_MODULE_IID>;
#sound-dai-cells = <0>;

q6apmbedai: bedais {
compatible = "qcom,q6apm-lpass-dais";
#sound-dai-cells = <1>;
};

q6apmdai: dais {
compatible = "qcom,q6apm-dais";
iommus = <&apps_smmu_0 0x09E1 0x0400>;
};
};

q6prm: service@2 {
compatible = "qcom,q6prm";
reg = <GPR_PRM_MODULE_IID>;

q6prmcc: clock-controller {
compatible = "qcom,q6prm-lpass-clocks";
#clock-cells = <2>;
};
};
};
};
};

Expand Down
3 changes: 3 additions & 0 deletions arch/arm64/configs/defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1080,6 +1080,8 @@ CONFIG_SND_HDA_CODEC_HDMI=m
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_USB_AUDIO_QMI=m
CONFIG_SND_SOC=m
CONFIG_SND_SOC_ADAU1977=m
CONFIG_SND_SOC_ADAU1977_I2C=m
CONFIG_SND_SOC_USB=m
CONFIG_SND_SOC_APPLE_MCA=m
CONFIG_SND_BCM2835_SOC_I2S=m
Expand Down Expand Up @@ -1164,6 +1166,7 @@ CONFIG_SND_SOC_GTM601=m
CONFIG_SND_SOC_MAX98090=m
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
CONFIG_SND_SOC_PCM1681=m
CONFIG_SND_SOC_PM4125_SDW=m
CONFIG_SND_SOC_PCM3168A_I2C=m
CONFIG_SND_SOC_RK3308=m
Expand Down
Loading
Loading