Skip to content
Open
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 @@ -1403,6 +1403,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
113 changes: 113 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 @@ -78,6 +79,54 @@
enable-active-high;
regulator-always-on;
};

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>;
};
};
};

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,53 @@
clock-frequency = <400000>;

status = "okay";
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>;
};

/* 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>;
};
};

&i2c19 {
Expand Down Expand Up @@ -622,6 +718,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";
};
};

&uart15 {
status = "okay";
};
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 @@ -521,6 +563,77 @@
};
};

&i2c18 {
clock-frequency = <400000>;

status = "okay";

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>;
};

/* 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>;
};
};

&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 @@ -1862,6 +1862,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
2 changes: 2 additions & 0 deletions arch/arm64/configs/defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1101,6 +1101,8 @@ CONFIG_SND_SOC_MT8195=m
CONFIG_SND_SOC_MT8195_MT6359=m
CONFIG_SND_SOC_MT8365=m
CONFIG_SND_SOC_MT8365_MT6357=m
CONFIG_SND_SOC_PCM1681=m
CONFIG_SND_SOC_ADAU1977_I2C=m
CONFIG_SND_MESON_AXG_SOUND_CARD=m
CONFIG_SND_MESON_GX_SOUND_CARD=m
CONFIG_SND_SOC_QCOM=m
Expand Down
2 changes: 0 additions & 2 deletions arch/arm64/configs/prune.config
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,6 @@
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_XGENE is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCA953X_IRQ is not set
# CONFIG_GPIO_BD9571MWV is not set
# CONFIG_GPIO_MAX77620 is not set
# CONFIG_POWER_RESET_BRCMSTB is not set
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -529,7 +529,7 @@ config SND_SOC_ADAU1977_SPI
select REGMAP_SPI

config SND_SOC_ADAU1977_I2C
tristate
tristate "Texas Instruments ADAU1977 CODEC (I2C)"
depends on I2C
select SND_SOC_ADAU1977
select REGMAP_I2C
Expand Down
Loading
Loading