Re: [PATCH v7 3/6] arm64: dts: qcom: Add AYN QCS8550 Common

Val Packett
2026-04-30T23:59:20Z

On 4/30/26 3:43 PM, Aaron Kling via B4 Relay wrote:
> From: Teguh Sobirin <teguh@sobir.in>
>
> This contains everything common between the AYN QCS8550 devices. It will
> be included by device specific dts'.
> [..]
> +
> + /* The tzlog label is required by ABL to apply a dtbo, but it can be on any node */
> + qcom_tzlog: chosen {
> [..]
> +
> + /* The arch_timer label is unused here, but is required by ABL to apply a dtbo */
> + arch_timer: timer { };

awkwaaard.. Is there any problem with requiring erased dtbo? For phones
that's generally what's done. Having junk from random dtbos is best avoided.

Also according to the pmOS wiki [1] at least on some of these devices,
there's no need to boot from ABL at all! There's also U-Boot and you can
switch between ABL and U-Boot at will (sounds awesome!)

> [..]
> +&i2c_hub_2 {
> + clock-frequency = <400000>;
> +
> + status = "okay";
> +
> + spk_amp_l: amplifier@34 {
> + compatible = "awinic,aw88166";
> + reg = <0x34>;
> + #sound-dai-cells = <0>;
> + reset-gpios = <&tlmm 103 GPIO_ACTIVE_LOW>;
> + awinic,audio-channel = <0>;
> + awinic,sync-flag;
> + sound-name-prefix = "SPK_L";
I guess there's no real standard/convention for the prefixes but maybe
worth changing to the more readable "Amplifier L" / "Amplifier R" that's
used on e.g. the fairphone,fp5?
> + };
> +
> + spk_amp_r: amplifier@35 {
> + compatible = "awinic,aw88166";
> + reg = <0x35>;
> + #sound-dai-cells = <0>;
Also #sound-dai-cells should go last, with a newline before it.
> + reset-gpios = <&tlmm 100 GPIO_ACTIVE_LOW>;
> + awinic,audio-channel = <1>;
> + awinic,sync-flag;
The awinic properties should also be a newline-separated "block", before
the # one.
> + sound-name-prefix = "SPK_R";
> + };
> +};
> [..]

BTW, do these "just work" right now?

If so, I guess you're lucky and the "firmware" / register config binary
for these devices configures a 16-bit 48kHz format which is the one the
soc driver forces.. because the aw88166 driver, just like other awinic
amp drivers, doesn't negotiate the format stuff at all and blatantly
lies about supporting multiple formats :) I'm currently fixing this for
aw88261[2] but eventually we'll probably need to actually kinda unify
these drivers..

[1]: https://wiki.postmarketos.org/wiki/AYN_Thor_(ayn-thor)
[2]: https://lore.kernel.org/all/20260420213250.215465-2-val@packett.cool/

~val