"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>