* [PATCH 0/3] sc7180-acer-aspire1: Add sound
@ 2023-10-27 14:42 Nikita Travkin
2023-10-27 14:42 ` [PATCH 1/3] arm64: dts: qcom: acer-aspire1: Enable RTC Nikita Travkin
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: Nikita Travkin @ 2023-10-27 14:42 UTC (permalink / raw)
To: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Nikita Travkin
This series adds initial sound support to Acer Aspire 1.
The following sound devices are enabled:
- External stereo speakers
- Headphone jack
- Headset microphone
- DisplayPort sound*
[*] The DisplayPort itself is not yet enabled as it depends on
the embedded controller, which will be added later.
The stereo DMIC in the device lid is omitted from this series
as it requires introduction of the in-soc audio codec, which will
be done later.
While at it, also enable the PMIC RTC that, while is locked
by the firmware as read-only, still allows userspace to track
time with extra tools to save the offset.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
Nikita Travkin (3):
arm64: dts: qcom: acer-aspire1: Enable RTC
arm64: dts: qcom: acer-aspire1: Correct audio codec definition
arm64: dts: qcom: acer-aspire1: Add sound
arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts | 174 ++++++++++++++++++++++-
1 file changed, 172 insertions(+), 2 deletions(-)
---
base-commit: 66f1e1ea3548378ff6387b1ce0b40955d54e86aa
change-id: 20231027-aspire1-sound-53a4c06ac9fd
Best regards,
--
Nikita Travkin <nikita@trvn.ru>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/3] arm64: dts: qcom: acer-aspire1: Enable RTC
2023-10-27 14:42 [PATCH 0/3] sc7180-acer-aspire1: Add sound Nikita Travkin
@ 2023-10-27 14:42 ` Nikita Travkin
2023-10-30 21:47 ` Konrad Dybcio
2023-10-27 14:42 ` [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition Nikita Travkin
2023-10-27 14:42 ` [PATCH 3/3] arm64: dts: qcom: acer-aspire1: Add sound Nikita Travkin
2 siblings, 1 reply; 16+ messages in thread
From: Nikita Travkin @ 2023-10-27 14:42 UTC (permalink / raw)
To: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Nikita Travkin
pm6150 has a read-only RTC that can be used to keep the time with some
extra userspace tools. Enable it.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
index dbb48934d499..cfde8cd47107 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -351,6 +351,10 @@ &pm6150_pon {
status = "disabled";
};
+&pm6150_rtc {
+ status = "okay";
+};
+
&qupv3_id_0 {
status = "okay";
};
--
2.41.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition
2023-10-27 14:42 [PATCH 0/3] sc7180-acer-aspire1: Add sound Nikita Travkin
2023-10-27 14:42 ` [PATCH 1/3] arm64: dts: qcom: acer-aspire1: Enable RTC Nikita Travkin
@ 2023-10-27 14:42 ` Nikita Travkin
2023-10-30 21:48 ` Konrad Dybcio
2023-10-27 14:42 ` [PATCH 3/3] arm64: dts: qcom: acer-aspire1: Add sound Nikita Travkin
2 siblings, 1 reply; 16+ messages in thread
From: Nikita Travkin @ 2023-10-27 14:42 UTC (permalink / raw)
To: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Nikita Travkin
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 = <®_codec_3p3>;
VBAT-supply = <®_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>;
};
};
--
2.41.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 3/3] arm64: dts: qcom: acer-aspire1: Add sound
2023-10-27 14:42 [PATCH 0/3] sc7180-acer-aspire1: Add sound Nikita Travkin
2023-10-27 14:42 ` [PATCH 1/3] arm64: dts: qcom: acer-aspire1: Enable RTC Nikita Travkin
2023-10-27 14:42 ` [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition Nikita Travkin
@ 2023-10-27 14:42 ` Nikita Travkin
2023-10-30 21:50 ` Konrad Dybcio
2 siblings, 1 reply; 16+ messages in thread
From: Nikita Travkin @ 2023-10-27 14:42 UTC (permalink / raw)
To: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Nikita Travkin
This laptop has two i2s speakers; an i2s audio codec for the headset
jack; two DMIC microphones in the lid and the displayport audio channel.
This commit adds the audio node that describes all of the above with the
exception of the DMICs that require in-SoC digital codec to be brought
up, which will be done later.
Note that the displayport channel is connected here for completeness,
but the displayport can't be used yet since the HPD signal is created by
the embedded controller, which will be added later.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts | 153 +++++++++++++++++++++++
1 file changed, 153 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
index 00b442696618..5afcb8212f49 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -3,6 +3,7 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sc7180.dtsi"
@@ -129,6 +130,113 @@ reg_lcm_3p3: panel-regulator {
pinctrl-names = "default";
};
+ sound: sound {
+ compatible = "qcom,sc7180-qdsp6-sndcard";
+ pinctrl-0 = <&pri_mi2s_active>, <&pri_mi2s_mclk_active>, <&ter_mi2s_active>;
+ pinctrl-names = "default";
+ model = "Acer-Aspire-1";
+
+ audio-routing =
+ "Headphone Jack", "HPOL",
+ "Headphone Jack", "HPOR";
+
+ multimedia1-dai-link {
+ link-name = "MultiMedia1";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
+ };
+ };
+
+ multimedia2-dai-link {
+ link-name = "MultiMedia2";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
+ };
+ };
+
+ multimedia3-dai-link {
+ link-name = "MultiMedia3";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
+ };
+ };
+
+ multimedia4-dai-link {
+ link-name = "MultiMedia4";
+
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>;
+ };
+ };
+
+ primary-rx-dai-link {
+ link-name = "Primary MI2S Playback";
+
+ cpu {
+ sound-dai = <&q6afedai PRIMARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&alc5682 0>;
+ };
+ };
+
+ primary-tx-dai-link {
+ link-name = "Primary MI2S Capture";
+
+ cpu {
+ sound-dai = <&q6afedai PRIMARY_MI2S_TX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&alc5682 0>;
+ };
+ };
+
+ tertiary-rx-dai-link {
+ link-name = "Tertiary MI2S Playback";
+
+ cpu {
+ sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&max98357a>;
+ };
+ };
+
+ displayport-rx-dai-link {
+ link-name = "DisplayPort Playback";
+
+ cpu {
+ sound-dai = <&q6afedai DISPLAY_PORT_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&mdss_dp>;
+ };
+ };
+ };
+
reg_tp_3p3: touchpad-regulator {
compatible = "regulator-fixed";
regulator-name = "tp_3p3";
@@ -368,6 +476,45 @@ &pm6150_rtc {
status = "okay";
};
+&q6afedai {
+ dai@16 {
+ reg = <PRIMARY_MI2S_RX>;
+ qcom,sd-lines = <1>;
+ };
+
+ dai@17 {
+ reg = <PRIMARY_MI2S_TX>;
+ qcom,sd-lines = <0>;
+ };
+
+ dai@20 {
+ reg = <TERTIARY_MI2S_RX>;
+ qcom,sd-lines = <0>;
+ };
+
+ dai@104 {
+ reg = <DISPLAY_PORT_RX>;
+ };
+};
+
+&q6asmdai {
+ dai@0 {
+ reg = <0>;
+ };
+
+ dai@1 {
+ reg = <1>;
+ };
+
+ dai@2 {
+ reg = <2>;
+ };
+
+ dai@3 {
+ reg = <3>;
+ };
+};
+
&qupv3_id_0 {
status = "okay";
};
@@ -376,6 +523,12 @@ &qupv3_id_1 {
status = "okay";
};
+&remoteproc_adsp {
+ memory-region = <&adsp_mem>;
+ firmware-name = "qcom/sc7180/acer/aspire1/qcadsp7180.mbn";
+ status = "okay";
+};
+
&remoteproc_mpss {
firmware-name = "qcom/sc7180/acer/aspire1/qcmpss7180_nm.mbn";
status = "okay";
--
2.41.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 1/3] arm64: dts: qcom: acer-aspire1: Enable RTC
2023-10-27 14:42 ` [PATCH 1/3] arm64: dts: qcom: acer-aspire1: Enable RTC Nikita Travkin
@ 2023-10-30 21:47 ` Konrad Dybcio
2023-10-30 21:55 ` Doug Anderson
0 siblings, 1 reply; 16+ messages in thread
From: Konrad Dybcio @ 2023-10-30 21:47 UTC (permalink / raw)
To: Nikita Travkin, cros-qcom-dts-watchers, Andy Gross,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 27.10.2023 16:42, Nikita Travkin wrote:
> pm6150 has a read-only RTC that can be used to keep the time with some
> extra userspace tools. Enable it.
>
> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
kinda unsure why it'd ever be disabled
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition
2023-10-27 14:42 ` [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition Nikita Travkin
@ 2023-10-30 21:48 ` Konrad Dybcio
2023-10-31 7:20 ` Nikita Travkin
0 siblings, 1 reply; 16+ messages in thread
From: Konrad Dybcio @ 2023-10-30 21:48 UTC (permalink / raw)
To: Nikita Travkin, cros-qcom-dts-watchers, Andy Gross,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
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 = <®_codec_3p3>;
> VBAT-supply = <®_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
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: acer-aspire1: Add sound
2023-10-27 14:42 ` [PATCH 3/3] arm64: dts: qcom: acer-aspire1: Add sound Nikita Travkin
@ 2023-10-30 21:50 ` Konrad Dybcio
2023-10-30 21:51 ` Konrad Dybcio
0 siblings, 1 reply; 16+ messages in thread
From: Konrad Dybcio @ 2023-10-30 21:50 UTC (permalink / raw)
To: Nikita Travkin, cros-qcom-dts-watchers, Andy Gross,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 27.10.2023 16:42, Nikita Travkin wrote:
> This laptop has two i2s speakers; an i2s audio codec for the headset
> jack; two DMIC microphones in the lid and the displayport audio channel.
>
> This commit adds the audio node that describes all of the above with the
> exception of the DMICs that require in-SoC digital codec to be brought
> up, which will be done later.
>
> Note that the displayport channel is connected here for completeness,
> but the displayport can't be used yet since the HPD signal is created by
> the embedded controller, which will be added later.
>
> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
> ---
[...]
> + primary-tx-dai-link {
> + link-name = "Primary MI2S Capture";
> +
> + cpu {
> + sound-dai = <&q6afedai PRIMARY_MI2S_TX>;
> + };
> +
> + platform {
> + sound-dai = <&q6routing>;
> + };
> +
> + codec {
> + sound-dai = <&alc5682 0>;
Both RX and TX going to 5862 interface?
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: acer-aspire1: Add sound
2023-10-30 21:50 ` Konrad Dybcio
@ 2023-10-30 21:51 ` Konrad Dybcio
2023-10-31 7:26 ` Nikita Travkin
0 siblings, 1 reply; 16+ messages in thread
From: Konrad Dybcio @ 2023-10-30 21:51 UTC (permalink / raw)
To: Nikita Travkin, cros-qcom-dts-watchers, Andy Gross,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 30.10.2023 22:50, Konrad Dybcio wrote:
> On 27.10.2023 16:42, Nikita Travkin wrote:
>> This laptop has two i2s speakers; an i2s audio codec for the headset
>> jack; two DMIC microphones in the lid and the displayport audio channel.
>>
>> This commit adds the audio node that describes all of the above with the
>> exception of the DMICs that require in-SoC digital codec to be brought
>> up, which will be done later.
>>
>> Note that the displayport channel is connected here for completeness,
>> but the displayport can't be used yet since the HPD signal is created by
>> the embedded controller, which will be added later.
>>
>> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
>> ---
> [...]
>
>
>> + primary-tx-dai-link {
>> + link-name = "Primary MI2S Capture";
>> +
>> + cpu {
>> + sound-dai = <&q6afedai PRIMARY_MI2S_TX>;
>> + };
>> +
>> + platform {
>> + sound-dai = <&q6routing>;
>> + };
>> +
>> + codec {
>> + sound-dai = <&alc5682 0>;
> Both RX and TX going to 5862 interface?
interface1*
>
> Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/3] arm64: dts: qcom: acer-aspire1: Enable RTC
2023-10-30 21:47 ` Konrad Dybcio
@ 2023-10-30 21:55 ` Doug Anderson
2023-10-31 7:18 ` Nikita Travkin
0 siblings, 1 reply; 16+ messages in thread
From: Doug Anderson @ 2023-10-30 21:55 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Nikita Travkin, cros-qcom-dts-watchers, Andy Gross,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-arm-msm, devicetree, linux-kernel
Hi,
On Mon, Oct 30, 2023 at 2:47 PM Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>
> On 27.10.2023 16:42, Nikita Travkin wrote:
> > pm6150 has a read-only RTC that can be used to keep the time with some
> > extra userspace tools. Enable it.
> >
> > Signed-off-by: Nikita Travkin <nikita@trvn.ru>
> > ---
> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>
> kinda unsure why it'd ever be disabled
>
> Konrad
FWIW we don't use the PMIC RTC in Chrome boards. I can't quite
remember why, but I _think_ that the power lines aren't hooked up to
the PMIC to keep power on for the board's lowest power states.
Instead we use the RTC that's on the EC (Embedded Controller).
-Doug
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/3] arm64: dts: qcom: acer-aspire1: Enable RTC
2023-10-30 21:55 ` Doug Anderson
@ 2023-10-31 7:18 ` Nikita Travkin
0 siblings, 0 replies; 16+ messages in thread
From: Nikita Travkin @ 2023-10-31 7:18 UTC (permalink / raw)
To: Doug Anderson
Cc: Konrad Dybcio, cros-qcom-dts-watchers, Andy Gross,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-arm-msm, devicetree, linux-kernel
Doug Anderson писал(а) 31.10.2023 02:55:
> Hi,
>
> On Mon, Oct 30, 2023 at 2:47 PM Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>>
>> On 27.10.2023 16:42, Nikita Travkin wrote:
>> > pm6150 has a read-only RTC that can be used to keep the time with some
>> > extra userspace tools. Enable it.
>> >
>> > Signed-off-by: Nikita Travkin <nikita@trvn.ru>
>> > ---
>> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>>
>> kinda unsure why it'd ever be disabled
>>
>> Konrad
>
> FWIW we don't use the PMIC RTC in Chrome boards. I can't quite
> remember why, but I _think_ that the power lines aren't hooked up to
> the PMIC to keep power on for the board's lowest power states.
> Instead we use the RTC that's on the EC (Embedded Controller).
>
When it was submitted, I suggested to keep it disabled by default
because of the firmware mess qcom has - the rtc is set to
read-only and if one enables it on cros without allow-set-time;
and validating that qtiseclib doesn't block it too, it would
likely cause issues by taking devices back to 1970s :D
Nikita
> -Doug
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition
2023-10-30 21:48 ` Konrad Dybcio
@ 2023-10-31 7:20 ` Nikita Travkin
2023-10-31 10:06 ` Konrad Dybcio
0 siblings, 1 reply; 16+ messages in thread
From: Nikita Travkin @ 2023-10-31 7:20 UTC (permalink / raw)
To: Konrad Dybcio
Cc: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
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 = <®_codec_3p3>;
>> VBAT-supply = <®_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.
Nikita
>
> Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: acer-aspire1: Add sound
2023-10-30 21:51 ` Konrad Dybcio
@ 2023-10-31 7:26 ` Nikita Travkin
2023-10-31 10:07 ` Konrad Dybcio
0 siblings, 1 reply; 16+ messages in thread
From: Nikita Travkin @ 2023-10-31 7:26 UTC (permalink / raw)
To: Konrad Dybcio
Cc: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
Konrad Dybcio писал(а) 31.10.2023 02:51:
> On 30.10.2023 22:50, Konrad Dybcio wrote:
>> On 27.10.2023 16:42, Nikita Travkin wrote:
>>> This laptop has two i2s speakers; an i2s audio codec for the headset
>>> jack; two DMIC microphones in the lid and the displayport audio channel.
>>>
>>> This commit adds the audio node that describes all of the above with the
>>> exception of the DMICs that require in-SoC digital codec to be brought
>>> up, which will be done later.
>>>
>>> Note that the displayport channel is connected here for completeness,
>>> but the displayport can't be used yet since the HPD signal is created by
>>> the embedded controller, which will be added later.
>>>
>>> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
>>> ---
>> [...]
>>
>>
>>> + primary-tx-dai-link {
>>> + link-name = "Primary MI2S Capture";
>>> +
>>> + cpu {
>>> + sound-dai = <&q6afedai PRIMARY_MI2S_TX>;
>>> + };
>>> +
>>> + platform {
>>> + sound-dai = <&q6routing>;
>>> + };
>>> +
>>> + codec {
>>> + sound-dai = <&alc5682 0>;
>> Both RX and TX going to 5862 interface?
> interface1*
Yes, indeed. The codec has a single i2s with rx and tx, and
shared i2s clocks. They are connected to the prim i2s.
Codec playback is headphone jack, and capture is headset
mic. It could have also been the lid dmics, like on trogdor
but 2/3 describes that sad story...
Nikita
>>
>> Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition
2023-10-31 7:20 ` Nikita Travkin
@ 2023-10-31 10:06 ` Konrad Dybcio
2023-10-31 10:48 ` Nikita Travkin
0 siblings, 1 reply; 16+ messages in thread
From: Konrad Dybcio @ 2023-10-31 10:06 UTC (permalink / raw)
To: Nikita Travkin
Cc: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
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 = <®_codec_3p3>;
>>> VBAT-supply = <®_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]?
https://git.linaro.org/people/srinivas.kandagatla/alsa-ucm-conf.git/tree/ucm2/codecs/qcom-lpass/va-macro/DMIC0EnableSeq.conf?h=x13s&id=244979b03f5b9284e6a68eae6f9995f6ac735be8
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: acer-aspire1: Add sound
2023-10-31 7:26 ` Nikita Travkin
@ 2023-10-31 10:07 ` Konrad Dybcio
0 siblings, 0 replies; 16+ messages in thread
From: Konrad Dybcio @ 2023-10-31 10:07 UTC (permalink / raw)
To: Nikita Travkin
Cc: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On 31.10.2023 08:26, Nikita Travkin wrote:
> Konrad Dybcio писал(а) 31.10.2023 02:51:
>> On 30.10.2023 22:50, Konrad Dybcio wrote:
>>> On 27.10.2023 16:42, Nikita Travkin wrote:
>>>> This laptop has two i2s speakers; an i2s audio codec for the headset
>>>> jack; two DMIC microphones in the lid and the displayport audio channel.
>>>>
>>>> This commit adds the audio node that describes all of the above with the
>>>> exception of the DMICs that require in-SoC digital codec to be brought
>>>> up, which will be done later.
>>>>
>>>> Note that the displayport channel is connected here for completeness,
>>>> but the displayport can't be used yet since the HPD signal is created by
>>>> the embedded controller, which will be added later.
>>>>
>>>> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
>>>> ---
>>> [...]
>>>
>>>
>>>> + primary-tx-dai-link {
>>>> + link-name = "Primary MI2S Capture";
>>>> +
>>>> + cpu {
>>>> + sound-dai = <&q6afedai PRIMARY_MI2S_TX>;
>>>> + };
>>>> +
>>>> + platform {
>>>> + sound-dai = <&q6routing>;
>>>> + };
>>>> +
>>>> + codec {
>>>> + sound-dai = <&alc5682 0>;
>>> Both RX and TX going to 5862 interface?
>> interface1*
>
> Yes, indeed. The codec has a single i2s with rx and tx, and
> shared i2s clocks. They are connected to the prim i2s.
>
> Codec playback is headphone jack, and capture is headset
> mic. It could have also been the lid dmics, like on trogdor
> but 2/3 describes that sad story...
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition
2023-10-31 10:06 ` Konrad Dybcio
@ 2023-10-31 10:48 ` Nikita Travkin
2023-10-31 10:58 ` Konrad Dybcio
0 siblings, 1 reply; 16+ messages in thread
From: Nikita Travkin @ 2023-10-31 10:48 UTC (permalink / raw)
To: Konrad Dybcio
Cc: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
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 = <®_codec_3p3>;
>>>> VBAT-supply = <®_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
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition
2023-10-31 10:48 ` Nikita Travkin
@ 2023-10-31 10:58 ` Konrad Dybcio
0 siblings, 0 replies; 16+ messages in thread
From: Konrad Dybcio @ 2023-10-31 10:58 UTC (permalink / raw)
To: Nikita Travkin
Cc: cros-qcom-dts-watchers, Andy Gross, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On 31.10.2023 11:48, Nikita Travkin wrote:
> 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 = <®_codec_3p3>;
>>>>> VBAT-supply = <®_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?)
yes
> - Add lpass-tlmm (it seems like we add a new driver for each soc
> even if they are same? Are they same?)
there are rare cases when it's identical
> - Add va macro dma dais to the asoc boardfile (trivial)
y
> - Finally, add the dmic to the board dts and enable in the UCM
> (also trivial)
y
> So I decided to follow the "release early, release often" and
> only introduce partial sound for now, following it up with
> all above later.
Sure that makes sense, just wanted to make sure you know about this
Konrad
>
>> 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
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2023-10-31 10:58 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-27 14:42 [PATCH 0/3] sc7180-acer-aspire1: Add sound Nikita Travkin
2023-10-27 14:42 ` [PATCH 1/3] arm64: dts: qcom: acer-aspire1: Enable RTC Nikita Travkin
2023-10-30 21:47 ` Konrad Dybcio
2023-10-30 21:55 ` Doug Anderson
2023-10-31 7:18 ` Nikita Travkin
2023-10-27 14:42 ` [PATCH 2/3] arm64: dts: qcom: acer-aspire1: Correct audio codec definition Nikita Travkin
2023-10-30 21:48 ` Konrad Dybcio
2023-10-31 7:20 ` Nikita Travkin
2023-10-31 10:06 ` Konrad Dybcio
2023-10-31 10:48 ` Nikita Travkin
2023-10-31 10:58 ` Konrad Dybcio
2023-10-27 14:42 ` [PATCH 3/3] arm64: dts: qcom: acer-aspire1: Add sound Nikita Travkin
2023-10-30 21:50 ` Konrad Dybcio
2023-10-30 21:51 ` Konrad Dybcio
2023-10-31 7:26 ` Nikita Travkin
2023-10-31 10:07 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox