diff mbox series

[2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition

Message ID 20231027-aspire1-sound-v1-2-5ff3cf8b5701@trvn.ru
State Accepted
Commit feec9f0add432a867f23e29afcd2f7088889b8e2
Headers show
Series [1/3] arm64: dts: qcom: acer-aspire1: Enable RTC | expand

Commit Message

Nikita Travkin Oct. 27, 2023, 2:42 p.m. UTC
When initially added, a mistake was made in the definition of the codec.

Despite the fact that the DMIC line is connected on the side of the
codec chip, and relevant passive components, including 0-ohm resistors
connecting the dmics, are present, the dmic line is still cut in
another place on the board, which was overlooked.

Correct this by replacing the dmic configuration with a comment
describing this hardware detail.

While at it, also add missing regulators definitions. This is not a
functional change as all the relevant regulators were already added via
the other rail supplies.

Fixes: 4a9f8f8f2ada ("arm64: dts: qcom: Add Acer Aspire 1")
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
 arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

Comments

Konrad Dybcio Oct. 30, 2023, 9:48 p.m. UTC | #1
On 27.10.2023 16:42, Nikita Travkin wrote:
> When initially added, a mistake was made in the definition of the codec.
> 
> Despite the fact that the DMIC line is connected on the side of the
> codec chip, and relevant passive components, including 0-ohm resistors
> connecting the dmics, are present, the dmic line is still cut in
> another place on the board, which was overlooked.
> 
> Correct this by replacing the dmic configuration with a comment
> describing this hardware detail.
> 
> While at it, also add missing regulators definitions. This is not a
> functional change as all the relevant regulators were already added via
> the other rail supplies.
> 
> Fixes: 4a9f8f8f2ada ("arm64: dts: qcom: Add Acer Aspire 1")
> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
> ---
>  arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
> index cfde8cd47107..00b442696618 100644
> --- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
> +++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
> @@ -209,9 +209,22 @@ alc5682: codec@1a {
>  		AVDD-supply = <&vreg_l15a_1p8>;
>  		MICVDD-supply = <&reg_codec_3p3>;
>  		VBAT-supply = <&reg_codec_3p3>;
> +		DBVDD-supply = <&vreg_l15a_1p8>;
> +		LDO1-IN-supply = <&vreg_l15a_1p8>;
> +
> +		/*
> +		 * NOTE: The board has a path from this codec to the
> +		 * DMIC microphones in the lid, however some of the option
> +		 * resistors are absent and the microphones are connected
> +		 * to the SoC instead.
Would that not also require more DT changes and maybe UCM?

Konrad
Nikita Travkin Oct. 31, 2023, 10:48 a.m. UTC | #2
Konrad Dybcio писал(а) 31.10.2023 15:06:
> On 31.10.2023 08:20, Nikita Travkin wrote:
>> Konrad Dybcio писал(а) 31.10.2023 02:48:
>>> On 27.10.2023 16:42, Nikita Travkin wrote:
>>>> When initially added, a mistake was made in the definition of the codec.
>>>>
>>>> Despite the fact that the DMIC line is connected on the side of the
>>>> codec chip, and relevant passive components, including 0-ohm resistors
>>>> connecting the dmics, are present, the dmic line is still cut in
>>>> another place on the board, which was overlooked.
>>>>
>>>> Correct this by replacing the dmic configuration with a comment
>>>> describing this hardware detail.
>>>>
>>>> While at it, also add missing regulators definitions. This is not a
>>>> functional change as all the relevant regulators were already added via
>>>> the other rail supplies.
>>>>
>>>> Fixes: 4a9f8f8f2ada ("arm64: dts: qcom: Add Acer Aspire 1")
>>>> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
>>>> ---
>>>>  arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts | 17 +++++++++++++++--
>>>>  1 file changed, 15 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
>>>> index cfde8cd47107..00b442696618 100644
>>>> --- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
>>>> @@ -209,9 +209,22 @@ alc5682: codec@1a {
>>>>  		AVDD-supply = <&vreg_l15a_1p8>;
>>>>  		MICVDD-supply = <&reg_codec_3p3>;
>>>>  		VBAT-supply = <&reg_codec_3p3>;
>>>> +		DBVDD-supply = <&vreg_l15a_1p8>;
>>>> +		LDO1-IN-supply = <&vreg_l15a_1p8>;
>>>> +
>>>> +		/*
>>>> +		 * NOTE: The board has a path from this codec to the
>>>> +		 * DMIC microphones in the lid, however some of the option
>>>> +		 * resistors are absent and the microphones are connected
>>>> +		 * to the SoC instead.
>>> Would that not also require more DT changes and maybe UCM?
>>
>> I don't think I had any other descriptions to support the dmic in
>> the initial set (first audio support for this board is 3/3 here)
>> and there is no upstream UCM yet - I will probably hold it off until
>> I get vamacro and dmic on it working.
> I was told that VAMACRO is "the easiest thing possible to get going"
> (paraphrasing), did you go through something like this sequence [1]?
> 

The problem is that no one introduced it for sc7180 - it's not
in the dtsi. And so isn't the lpass-tlmm I'd need...

So the set of due changes per my understanding is like:

 - Add va-macro to sc7180 (need new compatible/fallback)
 - Add relevant clocks for it (seems to be firmware backed, so easy?)
 - Add lpass-tlmm (it seems like we add a new driver for each soc
   even if they are same? Are they same?)
 - Add va macro dma dais to the asoc boardfile (trivial)
 - Finally, add the dmic to the board dts and enable in the UCM
   (also trivial)

So I decided to follow the "release early, release often" and
only introduce partial sound for now, following it up with
all above later.

> https://git.linaro.org/people/srinivas.kandagatla/alsa-ucm-conf.git/tree/ucm2/codecs/qcom-lpass/va-macro/DMIC0EnableSeq.conf?h=x13s&id=244979b03f5b9284e6a68eae6f9995f6ac735be8

Thanks, this is useful to have, I was indeed looking at
x13s for dmic/vamacro example after I realized my board
tricked me and it's not how trogdor does it...

Nikita
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
index cfde8cd47107..00b442696618 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -209,9 +209,22 @@  alc5682: codec@1a {
 		AVDD-supply = <&vreg_l15a_1p8>;
 		MICVDD-supply = <&reg_codec_3p3>;
 		VBAT-supply = <&reg_codec_3p3>;
+		DBVDD-supply = <&vreg_l15a_1p8>;
+		LDO1-IN-supply = <&vreg_l15a_1p8>;
+
+		/*
+		 * NOTE: The board has a path from this codec to the
+		 * DMIC microphones in the lid, however some of the option
+		 * resistors are absent and the microphones are connected
+		 * to the SoC instead.
+		 *
+		 * If the resistors were to be changed by the user to
+		 * connect the codec, the following could be used:
+		 *
+		 * realtek,dmic1-data-pin = <1>;
+		 * realtek,dmic1-clk-pin = <1>;
+		 */
 
-		realtek,dmic1-data-pin = <1>;
-		realtek,dmic1-clk-pin = <1>;
 		realtek,jd-src = <1>;
 	};
 };