Re: [PATCH v9 04/12] arm64: dts: qcom: sc7280: Add wcd9385 codec node for CRD 1.0 and CRD 2.0
From: Matthias Kaehlcke
Date: Thu Apr 21 2022 - 12:44:24 EST
On Thu, Apr 21, 2022 at 08:17:31PM +0530, Srinivasa Rao Mandadapu wrote:
> arm64: dts: qcom: sc7280: Add wcd9385 codec node for CRD 1.0 and CRD 2.0
nit: and IDP boards?
> Add wcd9385 codec node for audio use case on sc7280 based platforms
> of revision 3 and 4 (aka CRD 1.0 and 2.0).
> Add tlmm gpio property for switching CTIA/OMTP Headset.
>
> Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@xxxxxxxxxxx>
> Co-developed-by: Venkata Prasad Potturu <quic_potturu@xxxxxxxxxxx>
> Signed-off-by: Venkata Prasad Potturu <quic_potturu@xxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts | 8 +++++
> arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 50 ++++++++++++++++++++++++++++++
> 2 files changed, 58 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts
> index 344338a..462d655 100644
> --- a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts
> +++ b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts
> @@ -87,6 +87,14 @@ ap_ts_pen_1v8: &i2c13 {
> pins = "gpio51";
> };
>
> +&wcd938x {
> + pinctrl-names = "default", "sleep", "us_euro_hs_sel";
> + pinctrl-0 = <&wcd_reset_n>;
> + pinctrl-1 = <&wcd_reset_n_sleep>;
> + pinctrl-2 = <&us_euro_hs_sel>;
Which driver is supposed to select 'us_euro_hs_sel'?
I suppose 'us_euro_hs_sel' should always be configured in the same way,
so you probably want this:
pinctrl-names = "default", "sleep";
pinctrl-0 = <&wcd_reset_n>, <&us_euro_hs_sel>;
pinctrl-1 = <&wcd_reset_n_sleep>, <&us_euro_hs_sel>;
> + us-euro-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>;
> +};
> +
> &tlmm {
> tp_int_odl: tp-int-odl {
> pins = "gpio7";
> diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
> index 6cb5fc4..b711ad0 100644
> --- a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
> @@ -20,6 +20,34 @@
> serial1 = &uart7;
> };
>
> + wcd938x: audio-codec-1 {
> + compatible = "qcom,wcd9385-codec";
> + pinctrl-names = "default", "sleep";
> + pinctrl-0 = <&wcd_reset_n>;
> + pinctrl-1 = <&wcd_reset_n_sleep>;
> +
> + reset-gpios = <&tlmm 83 GPIO_ACTIVE_HIGH>;
> +
> + qcom,rx-device = <&wcd_rx>;
> + qcom,tx-device = <&wcd_tx>;
> +
> + vdd-rxtx-supply = <&vreg_l18b_1p8>;
> + vdd-io-supply = <&vreg_l18b_1p8>;
> + vdd-buck-supply = <&vreg_l17b_1p8>;
> + vdd-mic-bias-supply = <&vreg_bob>;
> +
> + qcom,micbias1-microvolt = <1800000>;
> + qcom,micbias2-microvolt = <1800000>;
> + qcom,micbias3-microvolt = <1800000>;
> + qcom,micbias4-microvolt = <1800000>;
> +
> + qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000
> + 500000 500000 500000>;
> + qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
> + qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
> + #sound-dai-cells = <1>;
> + };
> +
> gpio-keys {
> compatible = "gpio-keys";
> label = "gpio-keys";
> @@ -678,6 +706,28 @@
> function = "gpio";
> bias-pull-down;
> };
> +
> + us_euro_hs_sel: us-euro-hs-sel {
> + pins = "gpio81";
> + function = "gpio";
> + bias-pull-down;
> + drive-strength = <2>;
> + };
This config is only used by the CRD, move it to sc7280-crd-r3.dts
> +
> + wcd_reset_n: wcd-reset-n {
> + pins = "gpio83";
> + function = "gpio";
> + drive-strength = <8>;
> + output-high;
> + };
> +
> + wcd_reset_n_sleep: wcd-reset-n-sleep {
> + pins = "gpio83";
> + function = "gpio";
> + drive-strength = <8>;
> + bias-disable;
> + output-low;
> + };
> };
>
> &remoteproc_wpss {
> --
> 2.7.4
>