Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +2 −1 Original line number Diff line number Diff line Loading @@ -1600,7 +1600,8 @@ Example: * MSM8952 ASoC Machine driver Required properties: - compatible : "qcom,msm8952-audio-codec" - compatible : "qcom,msm8952-audio-codec" for pmic codec, "qcom,msm8952-dig-asoc-snd" for digital internal codec, - qcom,model : The user-visible name of this sound card. - reg : Offset and length of the register region(s) for MI2S/PCM MUX - reg-names : Register region name(s) referenced in reg above Loading arch/arm64/boot/dts/qcom/msm8937-pinctrl.dtsi +105 −1 Original line number Diff line number Diff line /* * Copyright (c) 2015-2016, 2018, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2016, 2018-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -480,6 +480,58 @@ }; }; }; pmx_quat_mi2s { label = "quat_mi2s"; quat_mi2s_active: quat_mi2s_active { mux { pins = "gpio94", "gpio95"; function = "sec_mi2s"; }; configs { pins = "gpio94", "gpio95"; drive-strength = <8>; /* 8 MA */ bias-disable; /* No PULL */ }; }; quat_mi2s_sleep: quat_mi2s_sleep { mux { pins = "gpio94", "gpio95"; function = "sec_mi2s"; }; configs { pins = "gpio94", "gpio95"; drive-strength = <2>; /* 2 MA */ bias-pull-down; /* PULL DOWN */ }; }; }; pmx_quat_mi2s_din { label = "quat_mi2s_din"; quat_mi2s_din_active: quat_mi2s_din_active { mux { pins = "gpio12", "gpio13"; function = "sec_mi2s"; }; configs { pins = "gpio2", "gpio3"; drive-strength = <8>; /* 8 MA */ bias-disable; /* No PULL */ output-high; }; }; quat_mi2s_din_sleep: quat_mi2s_din_sleep { mux { pins = "gpio12", "gpio13"; function = "sec_mi2s"; }; configs { pins = "gpio2", "gpio3"; drive-strength = <2>; /* 2 MA */ bias-pull-down; /* PULL DOWN */ }; }; }; cdc_mclk2_pin { cdc_mclk2_sleep: cdc_mclk2_sleep { Loading Loading @@ -1455,7 +1507,59 @@ }; }; }; cdc-dmic-lines { cdc_dmic0_clk_act: dmic0_clk_on { mux { pins = "gpio89"; function = "dmic0_clk"; }; config { pins = "gpio89"; drive-strength = <8>; bias-pull-none; }; }; cdc_dmic0_clk_sus: dmic0_clk_off { mux { pins = "gpio89"; function = "gpio"; }; config { pins = "gpio89"; drive-strength = <2>; bias-disable; }; }; cdc_dmic0_data_act: dmic0_data_on { mux { pins = "gpio90"; function = "dmic0_data"; }; config { pins = "gpio90"; drive-strength = <8>; bias-pull-none; }; }; cdc_dmic0_data_sus: dmic0_data_off { mux { pins = "gpio90"; function = "gpio"; }; config { pins = "gpio90"; drive-strength = <2>; bias-disable; }; }; }; /*sensors */ cam_sensor_mclk0_default: cam_sensor_mclk0_default { /* MCLK0 */ Loading arch/arm64/boot/dts/qcom/sdm429-qrd-spyro-evt.dtsi +74 −0 Original line number Diff line number Diff line Loading @@ -184,3 +184,77 @@ &wcnss_fw_mem { reg = <0x0 0x8cc00000 0x0 0x700000>; }; &int_codec { compatible = "qcom,msm8952-dig-asoc-snd"; status = "okay"; qcom,model = "sdm429-qrd-snd-card"; qcom,msm-ext-pa = "quaternary"; /delete-property/ qcom,split-a2dp; asoc-wsa-codec-names; asoc-wsa-codec-prefixes; qcom,audio-routing = "CDC_CONN", "MCLK", "QUAT_MI2S_RX", "DIGIT_REGULATOR", "TX_I2S_CLK", "DIGIT_REGULATOR", "DMIC1", "Digital Mic1", "DMIC2", "Digital Mic2"; qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>; qcom,quat-mi2s-gpios = <&cdc_quat_mi2s_gpios>; qcom,msm-gpios = "quat_i2s", "dmic"; qcom,pinctrl-names = "all_off", "quat_i2s_act", "dmic_act", "quat_i2s_dmic_act"; pinctrl-names = "all_off", "quat_i2s_act", "dmic_act", "quat_i2s_dmic_act"; pinctrl-0 = <&quat_mi2s_sleep &quat_mi2s_din_sleep &cdc_dmic0_clk_sus &cdc_dmic0_data_sus>; pinctrl-1 = <&quat_mi2s_active &quat_mi2s_din_active &cdc_dmic0_clk_sus &cdc_dmic0_data_sus>; pinctrl-2 = <&quat_mi2s_sleep &quat_mi2s_din_sleep &cdc_dmic0_clk_act &cdc_dmic0_data_act>; pinctrl-3 = <&quat_mi2s_active &quat_mi2s_din_active &cdc_dmic0_clk_act &cdc_dmic0_data_act>; /delete-property/qcom,cdc-us-euro-gpios; asoc-codec = <&stub_codec>, <&msm_dig_codec>; asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec"; }; &soc { msm_dig_codec: msm_dig_codec { compatible = "qcom,msm-digital-codec"; reg = <0xc0f0000 0x0>; qcom,no-analog-codec; }; cdc_dmic_gpios: cdc_dmic_pinctrl { compatible = "qcom,msm-cdc-pinctrl"; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&cdc_dmic0_clk_act &cdc_dmic0_data_act>; pinctrl-1 = <&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>; }; cdc_quat_mi2s_gpios: msm_cdc_pinctrl_quat { compatible = "qcom,msm-cdc-pinctrl"; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&quat_mi2s_active &quat_mi2s_din_active>; pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_din_sleep>; }; }; &wsa881x_i2c_f { status = "disabled"; }; &wsa881x_i2c_45 { status = "disabled"; }; Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +2 −1 Original line number Diff line number Diff line Loading @@ -1600,7 +1600,8 @@ Example: * MSM8952 ASoC Machine driver Required properties: - compatible : "qcom,msm8952-audio-codec" - compatible : "qcom,msm8952-audio-codec" for pmic codec, "qcom,msm8952-dig-asoc-snd" for digital internal codec, - qcom,model : The user-visible name of this sound card. - reg : Offset and length of the register region(s) for MI2S/PCM MUX - reg-names : Register region name(s) referenced in reg above Loading
arch/arm64/boot/dts/qcom/msm8937-pinctrl.dtsi +105 −1 Original line number Diff line number Diff line /* * Copyright (c) 2015-2016, 2018, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2016, 2018-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -480,6 +480,58 @@ }; }; }; pmx_quat_mi2s { label = "quat_mi2s"; quat_mi2s_active: quat_mi2s_active { mux { pins = "gpio94", "gpio95"; function = "sec_mi2s"; }; configs { pins = "gpio94", "gpio95"; drive-strength = <8>; /* 8 MA */ bias-disable; /* No PULL */ }; }; quat_mi2s_sleep: quat_mi2s_sleep { mux { pins = "gpio94", "gpio95"; function = "sec_mi2s"; }; configs { pins = "gpio94", "gpio95"; drive-strength = <2>; /* 2 MA */ bias-pull-down; /* PULL DOWN */ }; }; }; pmx_quat_mi2s_din { label = "quat_mi2s_din"; quat_mi2s_din_active: quat_mi2s_din_active { mux { pins = "gpio12", "gpio13"; function = "sec_mi2s"; }; configs { pins = "gpio2", "gpio3"; drive-strength = <8>; /* 8 MA */ bias-disable; /* No PULL */ output-high; }; }; quat_mi2s_din_sleep: quat_mi2s_din_sleep { mux { pins = "gpio12", "gpio13"; function = "sec_mi2s"; }; configs { pins = "gpio2", "gpio3"; drive-strength = <2>; /* 2 MA */ bias-pull-down; /* PULL DOWN */ }; }; }; cdc_mclk2_pin { cdc_mclk2_sleep: cdc_mclk2_sleep { Loading Loading @@ -1455,7 +1507,59 @@ }; }; }; cdc-dmic-lines { cdc_dmic0_clk_act: dmic0_clk_on { mux { pins = "gpio89"; function = "dmic0_clk"; }; config { pins = "gpio89"; drive-strength = <8>; bias-pull-none; }; }; cdc_dmic0_clk_sus: dmic0_clk_off { mux { pins = "gpio89"; function = "gpio"; }; config { pins = "gpio89"; drive-strength = <2>; bias-disable; }; }; cdc_dmic0_data_act: dmic0_data_on { mux { pins = "gpio90"; function = "dmic0_data"; }; config { pins = "gpio90"; drive-strength = <8>; bias-pull-none; }; }; cdc_dmic0_data_sus: dmic0_data_off { mux { pins = "gpio90"; function = "gpio"; }; config { pins = "gpio90"; drive-strength = <2>; bias-disable; }; }; }; /*sensors */ cam_sensor_mclk0_default: cam_sensor_mclk0_default { /* MCLK0 */ Loading
arch/arm64/boot/dts/qcom/sdm429-qrd-spyro-evt.dtsi +74 −0 Original line number Diff line number Diff line Loading @@ -184,3 +184,77 @@ &wcnss_fw_mem { reg = <0x0 0x8cc00000 0x0 0x700000>; }; &int_codec { compatible = "qcom,msm8952-dig-asoc-snd"; status = "okay"; qcom,model = "sdm429-qrd-snd-card"; qcom,msm-ext-pa = "quaternary"; /delete-property/ qcom,split-a2dp; asoc-wsa-codec-names; asoc-wsa-codec-prefixes; qcom,audio-routing = "CDC_CONN", "MCLK", "QUAT_MI2S_RX", "DIGIT_REGULATOR", "TX_I2S_CLK", "DIGIT_REGULATOR", "DMIC1", "Digital Mic1", "DMIC2", "Digital Mic2"; qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>; qcom,quat-mi2s-gpios = <&cdc_quat_mi2s_gpios>; qcom,msm-gpios = "quat_i2s", "dmic"; qcom,pinctrl-names = "all_off", "quat_i2s_act", "dmic_act", "quat_i2s_dmic_act"; pinctrl-names = "all_off", "quat_i2s_act", "dmic_act", "quat_i2s_dmic_act"; pinctrl-0 = <&quat_mi2s_sleep &quat_mi2s_din_sleep &cdc_dmic0_clk_sus &cdc_dmic0_data_sus>; pinctrl-1 = <&quat_mi2s_active &quat_mi2s_din_active &cdc_dmic0_clk_sus &cdc_dmic0_data_sus>; pinctrl-2 = <&quat_mi2s_sleep &quat_mi2s_din_sleep &cdc_dmic0_clk_act &cdc_dmic0_data_act>; pinctrl-3 = <&quat_mi2s_active &quat_mi2s_din_active &cdc_dmic0_clk_act &cdc_dmic0_data_act>; /delete-property/qcom,cdc-us-euro-gpios; asoc-codec = <&stub_codec>, <&msm_dig_codec>; asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec"; }; &soc { msm_dig_codec: msm_dig_codec { compatible = "qcom,msm-digital-codec"; reg = <0xc0f0000 0x0>; qcom,no-analog-codec; }; cdc_dmic_gpios: cdc_dmic_pinctrl { compatible = "qcom,msm-cdc-pinctrl"; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&cdc_dmic0_clk_act &cdc_dmic0_data_act>; pinctrl-1 = <&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>; }; cdc_quat_mi2s_gpios: msm_cdc_pinctrl_quat { compatible = "qcom,msm-cdc-pinctrl"; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&quat_mi2s_active &quat_mi2s_din_active>; pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_din_sleep>; }; }; &wsa881x_i2c_f { status = "disabled"; }; &wsa881x_i2c_45 { status = "disabled"; };