mbox series

[v4,0/4] X1E Asus Zenbook A14 support

Message ID 20250426130203.37659-1-alex.vinarskis@gmail.com
Headers show
Series X1E Asus Zenbook A14 support | expand

Message

Aleksandrs Vinarskis April 26, 2025, 12:57 p.m. UTC
Introduce support for the mentioned laptop.

Particular device exists in two model numbers:
* UX3407QA: X1P-42-100 or X1-26-100 (as tested)
* UX3407RA: X1E-78-100

Mostly similar to other X1-based laptops. Notable differences are:
* Wifi/Bluetooth combo being Qualcomm FastConnect 6900 on UX3407QA
  and Qualcomm FastConnect 7800 on UX3407RA
* USB Type-C retimers are Parade PS8833, appear to behave identical
  to Parade PS8830
* gpio90 is TZ protected

When comparing device firmware between UX3407QA, UX3407RA, it seems
that only ADSP firmware is different, CDSP and GPU firmware appears to
be the same. (At least assuming the GPU firmware name in both cases is
`qcdxkmsuc8380.mbn`). Since at least some blobs are different betweeen
X1E and X1/X1P, define new firmware directory for `qcom/x1p42100`. This
also makes it easier for distros to automatically extract firmware from
Windows and place all blobs for the model under the same path. If/When
firmware blobs make it to linux-firmware, same blobs can be easily
symlinked between `qcom/x1e80100` and `qcom/x1p42100`.

NVMe SSD depends on [1]. USB Type-A over USB MP controller  depends on
[2], or equivalent proposed solution.

Qualcomm FastConnect 6900 on UX3407QA did not work out of the box, and
additionally required both newer firmware and patches to `board-2.bin`.
I added a short how-to [3], as it is not exactly trivial.

ACPI dumps can be found on aarch64-laptops' github [4]. HWids on
dtbloader's github [5].

[1] https://lore.kernel.org/linux-arm-msm/20250319094544.3980357-1-quic_wenbyao@quicinc.com/
[2] https://lore.kernel.org/all/20250318-xps13-fingerprint-v1-1-fbb02d5a34a7@oss.qualcomm.com/
[3] https://github.com/alexVinarskis/linux-x1e80100-zenbook-a14?tab=readme-ov-file#wcn688x-wifi
[4] https://github.com/aarch64-laptops/build/pull/134/files
[5] https://github.com/TravMurav/dtbloader/pull/4/files

Changes to v3:
* Drop redundant comments
* Drop incomplete wcn7850 as it is causing dt errors
* Picked a-by
Link to v3: https://lore.kernel.org/all/20250416232345.5240-1-alex.vinarskis@gmail.com/

Changes to v2:
* Fix/re-add PS8833 as fallback
* Add EC's i2c address
* Add pwrseq for wcn6855, placeholder for wcn7850 until its tested
* Rename x1-zenbook.dtsi to x1-asus-zenbook.dtsi
Link to v2: https://lore.kernel.org/all/20250402084646.10098-1-alex.vinarskis@gmail.com/

Changes to v1:
* Drop PS8833 variant, fallback to PS8830 as they behave the same
* Drop wrong pcie6a_phy compatible revert
* Drop redundant comments, fix order of properties in the device-tree
* Fix device name bindings, express in model names instead of the soc
* Fix GPU firmware name for UX3407QA
* Fix model string, enclose variant in parenthesis
* Added missing new lines before 'status = "okay";'
* Updated cover letter to reflect some of the above changes
* Left SPI10 disabled as it is unknown how/what for to use it as of now
Link to v1: https://lore.kernel.org/all/20250331215720.19692-1-alex.vinarskis@gmail.com/

Aleksandrs Vinarskis (4):
  dt-bindings: usb: Add Parade PS8833 Type-C retimer variant
  dt-bindings: arm: qcom: Add Asus Zenbook A14
  firmware: qcom: scm: Allow QSEECOM on Asus Zenbook A14
  arm64: dts: qcom: Add support for X1-based Asus Zenbook A14

 .../devicetree/bindings/arm/qcom.yaml         |    2 +
 .../bindings/usb/parade,ps8830.yaml           |    7 +-
 arch/arm64/boot/dts/qcom/Makefile             |    2 +
 .../boot/dts/qcom/x1-asus-zenbook-a14.dtsi    | 1307 +++++++++++++++++
 .../dts/qcom/x1e80100-asus-zenbook-a14.dts    |   33 +
 .../dts/qcom/x1p42100-asus-zenbook-a14.dts    |  137 ++
 drivers/firmware/qcom/qcom_scm.c              |    2 +
 7 files changed, 1488 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-asus-zenbook-a14.dts
 create mode 100644 arch/arm64/boot/dts/qcom/x1p42100-asus-zenbook-a14.dts

Comments

Bjorn Andersson May 7, 2025, 5:18 a.m. UTC | #1
On Sat, 26 Apr 2025 14:57:56 +0200, Aleksandrs Vinarskis wrote:
> Introduce support for the mentioned laptop.
> 
> Particular device exists in two model numbers:
> * UX3407QA: X1P-42-100 or X1-26-100 (as tested)
> * UX3407RA: X1E-78-100
> 
> Mostly similar to other X1-based laptops. Notable differences are:
> * Wifi/Bluetooth combo being Qualcomm FastConnect 6900 on UX3407QA
>   and Qualcomm FastConnect 7800 on UX3407RA
> * USB Type-C retimers are Parade PS8833, appear to behave identical
>   to Parade PS8830
> * gpio90 is TZ protected
> 
> [...]

Applied, thanks!

[2/4] dt-bindings: arm: qcom: Add Asus Zenbook A14
      commit: 9f2ae52acd5e6c95ddc55d1cc67f44860940a21b

Best regards,
Aleksandrs Vinarskis May 7, 2025, 4:36 p.m. UTC | #2
On Wed, 7 May 2025 at 07:18, Bjorn Andersson <andersson@kernel.org> wrote:
>
>
> On Sat, 26 Apr 2025 14:57:56 +0200, Aleksandrs Vinarskis wrote:
> > Introduce support for the mentioned laptop.
> >
> > Particular device exists in two model numbers:
> > * UX3407QA: X1P-42-100 or X1-26-100 (as tested)
> > * UX3407RA: X1E-78-100
> >
> > Mostly similar to other X1-based laptops. Notable differences are:
> > * Wifi/Bluetooth combo being Qualcomm FastConnect 6900 on UX3407QA
> >   and Qualcomm FastConnect 7800 on UX3407RA
> > * USB Type-C retimers are Parade PS8833, appear to behave identical
> >   to Parade PS8830
> > * gpio90 is TZ protected
> >
> > [...]
>
> Applied, thanks!
>
> [2/4] dt-bindings: arm: qcom: Add Asus Zenbook A14
>       commit: 9f2ae52acd5e6c95ddc55d1cc67f44860940a21b


Thanks!

I saw 2/4, 3/4 were applied. Is there a reason 4/4 was left behind,
eg. Does it have to go through different trees like 1/4?
I also saw that another later series with dtb changes for x1e devices
[1] has landed, so 4/4 of the current series won't apply anymore...
Would you like me to rebase & respin?

Regards,
Alex

[1] https://lore.kernel.org/all/174659597008.7675.2301017495937908497.b4-ty@kernel.org/
>
> Best regards,
> --
> Bjorn Andersson <andersson@kernel.org>
Bjorn Andersson May 9, 2025, 5:08 p.m. UTC | #3
On Wed, May 07, 2025 at 06:36:12PM +0200, Aleksandrs Vinarskis wrote:
> On Wed, 7 May 2025 at 07:18, Bjorn Andersson <andersson@kernel.org> wrote:
> >
> >
> > On Sat, 26 Apr 2025 14:57:56 +0200, Aleksandrs Vinarskis wrote:
> > > Introduce support for the mentioned laptop.
> > >
> > > Particular device exists in two model numbers:
> > > * UX3407QA: X1P-42-100 or X1-26-100 (as tested)
> > > * UX3407RA: X1E-78-100
> > >
> > > Mostly similar to other X1-based laptops. Notable differences are:
> > > * Wifi/Bluetooth combo being Qualcomm FastConnect 6900 on UX3407QA
> > >   and Qualcomm FastConnect 7800 on UX3407RA
> > > * USB Type-C retimers are Parade PS8833, appear to behave identical
> > >   to Parade PS8830
> > > * gpio90 is TZ protected
> > >
> > > [...]
> >
> > Applied, thanks!
> >
> > [2/4] dt-bindings: arm: qcom: Add Asus Zenbook A14
> >       commit: 9f2ae52acd5e6c95ddc55d1cc67f44860940a21b
> 
> 
> Thanks!
> 
> I saw 2/4, 3/4 were applied. Is there a reason 4/4 was left behind,
> eg. Does it have to go through different trees like 1/4?

The reason is that patch 1 still hasn't been merged, so patch 4 fails
dtbs_check at the moment. 

> I also saw that another later series with dtb changes for x1e devices
> [1] has landed, so 4/4 of the current series won't apply anymore...
> Would you like me to rebase & respin?
> 

Please resubmit patch 1 alone, so that it's convenient for USB
maintainers to pick it up.

Then once this binding change is in linux-next I can pick up patch 4.
Yes it would be convenient for me if you rebase it on top of [1].

Regards,
Bjorn

> Regards,
> Alex
> 
> [1] https://lore.kernel.org/all/174659597008.7675.2301017495937908497.b4-ty@kernel.org/
> >
> > Best regards,
> > --
> > Bjorn Andersson <andersson@kernel.org>