[PATCH v8 0/3] arm64: dts: qcom: sc8280xp-blackrock: dt definition for Windows Dev Kit 2023

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Microsoft Windows Dev Kit 2023" aka "Blackrock" aka "Project Volterra"

Device tree for the Microsoft Windows Dev Kit 2023. This work
is based on the initial work of Merck Hung <merckhung@xxxxxxxxx>.

The Windows Dev Kit 2023 is a nice little desktop based on sc8280xp.
Link: https://learn.microsoft.com/en-us/windows/arm/dev-kit/

Supported features:
- USB type-c and type-a ports
- minidp connector
- built-in r8152 Ethernet adapter
- PCIe devices
- nvme
- ath11k WiFi (WCN6855)
- WCN6855 Bluetooth
- A690 GPU
- ADSP and CDSP
- GPIO keys
- Audio definition (works via USB)

Signed-off-by: Jens Glathe <jens.glathe@xxxxxxxxxxxxxxxxxxxxxx>

Original work: https://github.com/merckhung/linux_ms_dev_kit/blob/ms-dev-kit-2023-v6.3.0/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-dev-kit-2023.dts

This dt is more or less deducted from the Thinkpad X13s.
It contains a lot of guesswork, and also a lot of research on
what works with the Windows Dev Kit.

The WiFi definition references qcom,ath11k-calibration-variant = "MS_Volterra"
which is unfortunately not yet in the linux-firmware. The ath11k driver finds
the default one for 
"bus=pci,vendor=17cb,device=1103,subsystem-vendor=17cb,subsystem-device=0108,qmi-chip-id=2|18,qmi-board-id=255"
when the entry with the variant is not found which is quite sub-optimal. I 
have placed a pr on github/qca-swiss-army-knife:
https://github.com/qca/qca-swiss-army-knife/pull/9 that provides an amended 
board-2.bin and a board-2.json to generate it. 

It is in use and under development since May 2023, pretty stable now.

---
Changes in v8:
- Re-checked and amended the usb_2_dwc3 definition as pointed out by Krishna.
  Reduced the usb_2 ports used to one, with usb_2_hsphy0 and usb_2_qmpphy0 as 
  phys. Removed all others from the definition. Apparently there is a 4 port
  hub on this port, with the r8152 ethernet adapter on port 001 of this, the
  other three are the external connectors.
- Removed max-link-speed = <4> from the pcie2a node. The cap warning is shown
  regardless.
- Link to v7: https://lore.kernel.org/r/20241101-jg-blackrock-for-upstream-v7-0-8295e9f545d9@xxxxxxxxxxxxxxxxxxxxxx

Changes in v7:
- re-checked and amended the usb_2_dwc3 definition as pointed out by Krishna. 
  The SoC definition already has most of it, reduced to enable node and pinctrl
- re-worked the sound definition - this box has no mics or speakers or jacks 
  for them AFAIK. There needs to be something done regarding Soundwire on DP, 
  but this isn't working yet.(Konrad)
- rebased the patch onto <20241018-sc8280xp-pwrseq-v6-0-8da8310d9564@xxxxxxxxxx>
  and updated wcn-6855-pmu accordingly. (Konrad)
- re-sorted the pmc8280_1_gpios (Konrad)
- removed the gpio-reserved-ranges since I don't know what they are for. Best I 
  could do is refer to the X13s dt, but it's not the same hardware. (Konrad)
- ath11k: opened a bug https://bugzilla.kernel.org/show_bug.cgi?id=219454 
  to add the board id with variant to board-2.bin
- Link to v6: https://lore.kernel.org/r/20241030-jg-blackrock-for-upstream-v6-0-7cd7f7d8d97c@xxxxxxxxxxxxxxxxxxxxxx

Changes in v6:
- added missing acked-by tag from Krzysztof
- removed aspm-no-l0s from the PCIe ports as suggested by Johan
- corrected max-link-speed to <4> on PCIe2 as suggested by Johan
- changed WLAN variant description to "MS_Volterra", added Kalle Valo 
  for approval / guidance
- trimmed the supply statements on hsphy and other pcie ports for what 
  is known and defined on the Thinkpad X13s
- Link to v5: https://lore.kernel.org/r/20241030-jg-blackrock-for-upstream-v5-0-830c938437ad@xxxxxxxxxxxxxxxxxxxxxx

Changes in v5:
- removed s-o-b from Merck Hung as suggested by Bjorn Andersson. The credits
  for the original work are in the cover letter and in the dts commit
- removed Venus codec from the list of supported features. It is, but that
  part is not in this patch set.
- Link to v4: https://lore.kernel.org/r/20241027-jg-blackrock-for-upstream-v4-0-703b254fc95f@xxxxxxxxxxxxxxxxxxxxxx

Changes in v4:
- removed the redundant regulator definitions
- changed the pinctrl property order
- use microsoft instead of MICROSOFT as subdirectory and device name component
- amend spacing in audio nodes
- change external connector dp1 for mini-dp to DP-3 for consistency
- Link to v3: https://lore.kernel.org/r/20241013-jg-blackrock-for-upstream-v3-0-839d3483a8e7@xxxxxxxxxxxxxxxxxxxxxx

Changes in v3:
- tried to heed all advice and comments given - thank you
- re-ordered patches to definition before use
- added "microsoft,blackrock" as compatible in QSEECOM driver
- removed the qseecom node
- ordered nodes alphabetically {address, node name, label}
- amended indentation
- consistently used blackrock as identifier / directory name
- sorted identifiers by the same order for multiple instances
- added some explanation re WiFi
- added definition for PMU on the WCN6855
- added some explanation for pcie2 max-link-speed
- Link to v2: https://lore.kernel.org/r/20240920-jg-blackrock-for-upstream-v2-0-9bf2f1b2191c@xxxxxxxxxxxxxxxxxxxxxx

Changes in v2:
- removed whitespaces and breaks
- added compatibility binding
- added feature list
- reformatted Signed-off list
- Link to v1: https://lore.kernel.org/r/5f5487e1-e458-4a3a-af02-c52e50ca1964@xxxxxxxxxxxxxxxxxxxxxx

---
Jens Glathe (3):
      dt-bindings: arm: qcom: Add Microsoft Windows Dev Kit 2023
      firmware: qcom: scm: Allow QSEECOM for Windows Dev Kit 2023
      arm64: dts: qcom: sc8280xp-blackrock: dt definition for WDK2023

 Documentation/devicetree/bindings/arm/qcom.yaml    |    1 +
 arch/arm64/boot/dts/qcom/Makefile                  |    1 +
 .../boot/dts/qcom/sc8280xp-microsoft-blackrock.dts | 1325 ++++++++++++++++++++
 drivers/firmware/qcom/qcom_scm.c                   |    1 +
 4 files changed, 1328 insertions(+)
---
base-commit: 5b913f5d7d7fe0f567dea8605f21da6eaa1735fb
change-id: 20240920-jg-blackrock-for-upstream-7c7aca20e832

Best regards,
-- 
Jens Glathe <jens.glathe@xxxxxxxxxxxxxxxxxxxxxx>






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux