arm64: dts: qcom: ipq5018: add Ubiquiti UniFi U6 Enterprise
Subsystems (5)
v3 cover arm64: dts: qcom: ipq5018: add Ubiquiti UniFi U6 Enterprise
Add the Ubiquiti UniFi U6 Enterprise, an IPQ5018 access point with two QCN9074 radios on PCIe (5 GHz and 6 GHz). The first patch documents the QCN9074's PCI ID in the ath11k PCI binding, so the radios' nodes can carry the calibration variants their board data is looked up by.
The Ethernet port (GMAC1 with a QCA8081 PHY) and the IPQ5018's own 2.4 GHz radio are left out until the GMAC and the WCSS remoteproc have bindings.
The vendor U-Boot only boots Ubiquiti-signed images, so the boards were booted by chainloading from it. Tested on two units with Linux 7.2 and the out-of-tree board description these nodes come from: both QCN9074 radios come up with ath11k and their board data selected by these variants, and the eMMC and the SPI NOR (including U-Boot environment writes) are in use. The reset button and the accelerometer are described as in the vendor device tree and were not exercised.
Patch 1 is for the ath11k binding; the rest go through the qcom tree.
The patches were written with an AI coding assistant (Claude Code), which also drafted the changelogs; the testing above was done on the devices.
Changes in v3:
- New patch 3: the PRNG is enabled in the SoC dtsi rather than by the board (Konrad).
- Board: the reset button's label is "Reset", and a blank line precedes every status property (Konrad).
Changes in v2:
- Collected Krzysztof's Acked-by on the two binding patches.
- Squashed "label the PCIe1 root port" into the board patch, its only user (Krzysztof).
v2: https://lore.kernel.org/all/[email protected]/
v1: https://lore.kernel.org/all/[email protected]/
Andrei-Alexandru Bleortu (4):
dt-bindings: net: wireless: qcom,ath11k-pci: add QCN9074
dt-bindings: arm: qcom: add Ubiquiti UniFi U6 Enterprise
arm64: dts: qcom: ipq5018: enable the PRNG by default
arm64: dts: qcom: ipq5018: add Ubiquiti UniFi U6 Enterprise
.../devicetree/bindings/arm/qcom.yaml | 1 + .../net/wireless/qcom,ath11k-pci.yaml | 1 + arch/arm64/boot/dts/qcom/Makefile | 1 + .../dts/qcom/ipq5018-ubnt-u6-enterprise.dts | 235 ++++++++++++++++++ arch/arm64/boot/dts/qcom/ipq5018.dtsi | 3 +- 5 files changed, 239 insertions(+), 2 deletions(-) create mode 100644 arch/arm64/boot/dts/qcom/ipq5018-ubnt-u6-enterprise.dts
base-commit: bd1ecbb61afefc6a8b876ccbc31e9228b44e9eab
Signature · 1 line
2.47.3
PATCH v3 1/4 dt-bindings: net: wireless: qcom,ath11k-pci: add QCN9074
QCN9074 is a PCIe 802.11ax radio that boards such as the IPQ5018-based Ubiquiti UniFi U6 Enterprise solder down, two of them on different bands. Like the other ath11k PCIe devices, each needs qcom,calibration-variant to select its board data. Document its PCI ID.
No supplies are added: on these boards the radio's rails are fixed and not under software control.
--- .../devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml +1 -0
@@ -18,6 +18,7 @@ properties: enum: - pci17cb,1101 # QCA6390 - pci17cb,1103 # WCN6855 + - pci17cb,1104 # QCN9074 reg: maxItems: 1
Signature · 1 line
2.47.3
Re: [PATCH v3 1/4] dt-bindings: net: wireless: qcom,ath11k-pci: add QCN9074
Quoted 5 lines · Andrei-Alexandru Bleortu
QCN9074 is a PCIe 802.11ax radio that boards such as the IPQ5018-based Ubiquiti UniFi U6 Enterprise solder down, two of them on different bands. Like the other ath11k PCIe devices, each needs qcom,calibration-variant to select its board data. Document its PCI ID.
Quoted 7 lines
No supplies are added: on these boards the radio's rails are fixed and not under software control.
Assisted-by LLMSigned-off-by Andrei-Alexandru Bleortu <[email protected]>---
Bjorn, please take with 2/4 through your tree.
Quoted 15 lines
.../devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml | 1 + 1 file changed, 1 insertion(+)Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml +1
-0@@ -18,6 +18,7 @@ properties: enum: - pci17cb,1101 # QCA6390 - pci17cb,1103 # WCN6855 + - pci17cb,1104 # QCN9074 reg: maxItems: 1
PATCH v3 2/4 dt-bindings: arm: qcom: add Ubiquiti UniFi U6 Enterprise
In reply to Andrei-Alexandru BleortuDocument the Ubiquiti UniFi U6 Enterprise, an IPQ5018 based access point.
--- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/qcom.yaml +1 -0
@@ -113,6 +113,7 @@ properties: - enum: - qcom,ipq5018-rdp432-c2 - tplink,archer-ax55-v1 + - ubnt,u6-enterprise - const: qcom,ipq5018 - items:
Signature · 1 line
2.47.3
PATCH v3 3/4 arm64: dts: qcom: ipq5018: enable the PRNG by default
In reply to Andrei-Alexandru BleortuThe PRNG needs nothing from the board: its only resource is a GCC clock, and no IPQ5018 board has a reason to switch it off. Enable it in the SoC dtsi, as ipq5332 and ipq9574 do, rather than in every board file.
--- arch/arm64/boot/dts/qcom/ipq5018.dtsi | 1 - 1 file changed, 1 deletion(-)
arch/arm64/boot/dts/qcom/ipq5018.dtsi +0 -1
@@ -340,7 +340,6 @@ prng: rng@e3000 { reg = <0x000e3000 0x1000>; clocks = <&gcc GCC_PRNG_AHB_CLK>; clock-names = "core"; - status = "disabled"; }; tsens: thermal-sensor@4a9000 {
Signature · 1 line
2.47.3
Re: [PATCH v3 3/4] arm64: dts: qcom: ipq5018: enable the PRNG by default
Quoted 7 lines · Andrei-Alexandru Bleortu
The PRNG needs nothing from the board: its only resource is a GCC clock, and no IPQ5018 board has a reason to switch it off. Enable it in the SoC dtsi, as ipq5332 and ipq9574 do, rather than in every board file.
Assisted-by LLMSigned-off-by Andrei-Alexandru Bleortu <[email protected]>---
Konrad
PATCH v3 4/4 arm64: dts: qcom: ipq5018: add Ubiquiti UniFi U6 Enterprise
In reply to Andrei-Alexandru BleortuThe Ubiquiti UniFi U6 Enterprise is a ceiling-mount Wi-Fi 6E access point:
- SoC: Qualcomm IPQ5018
- RAM: 1 GiB
- Flash: SPI NOR (boot chain) and eMMC
- 5 GHz: QCN9074 on PCIe0
- 6 GHz: QCN9074 on PCIe1
- Ethernet: one 2.5GbE PoE port, a QCA8081 PHY behind GMAC1
- Accelerometer: ST LIS2DH12
- Button: reset
Describe what mainline supports today. The Ethernet port and the IPQ5018's own 2.4 GHz radio are left out until the GMAC and the WCSS remoteproc have bindings; the LED controller and the board MCU on the I2C bus have none. The QCN9074s carry the calibration variants their board data is looked up by. The SoC dtsi gains the pcie1_port0 label, as pcie0 has, for the 6 GHz radio below that root port. The vendor QSEE reserves 4 MiB, twice the SoC default.
--- arch/arm64/boot/dts/qcom/Makefile | 1 + .../dts/qcom/ipq5018-ubnt-u6-enterprise.dts | 235 ++++++++++++++++++ arch/arm64/boot/dts/qcom/ipq5018.dtsi | 2 +- 3 files changed, 237 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/boot/dts/qcom/ipq5018-ubnt-u6-enterprise.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -32,6 +32,7 @@ dtb-$(CONFIG_ARCH_QCOM) += hamoa-lenovo-ideacentre-mini-01q8x10.dtb dtb-$(CONFIG_ARCH_QCOM) += hawi-mtp.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5018-rdp432-c2.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5018-tplink-archer-ax55-v1.dtb +dtb-$(CONFIG_ARCH_QCOM) += ipq5018-ubnt-u6-enterprise.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5210-rdp504.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp441.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp442.dtb
arch/arm64/boot/dts/qcom/ipq5018-ubnt-u6-enterprise.dts new file +235 -0
235 lines not on this page · raw message
arch/arm64/boot/dts/qcom/ipq5018.dtsi +1 -1
@@ -837,7 +837,7 @@ pcie1: pcie@80000000 { status = "disabled"; - pcie@0 { + pcie1_port0: pcie@0 { device_type = "pci"; reg = <0x0 0x0 0x0 0x0 0x0>; bus-range = <0x01 0xff>;
Signature · 1 line
2.47.3
Quoted 19 lines · Andrei-Alexandru Bleortu
The Ubiquiti UniFi U6 Enterprise is a ceiling-mount Wi-Fi 6E access point:
- SoC: Qualcomm IPQ5018
- RAM: 1 GiB
- Flash: SPI NOR (boot chain) and eMMC
- 5 GHz: QCN9074 on PCIe0
- 6 GHz: QCN9074 on PCIe1
- Ethernet: one 2.5GbE PoE port, a QCA8081 PHY behind GMAC1
- Accelerometer: ST LIS2DH12
- Button: resetDescribe what mainline supports today. The Ethernet port and the IPQ5018's own 2.4 GHz radio are left out until the GMAC and the WCSS remoteproc have bindings; the LED controller and the board MCU on the I2C bus have none. The QCN9074s carry the calibration variants their board data is looked up by. The SoC dtsi gains the
pcie1_port0label, as pcie0 has, for the 6 GHz radio below that root port. The vendor QSEE reserves 4 MiB, twice the SoC default.
Quoted 3 lines
Assisted-by LLMSigned-off-by Andrei-Alexandru Bleortu <[email protected]>---
Konrad
Re: (subset) [PATCH v3 0/4] arm64: dts: qcom: ipq5018: add Ubiquiti UniFi U6 Enterprise
In reply to Andrei-Alexandru BleortuQuoted 10 lines · Andrei-Alexandru Bleortu
Add the Ubiquiti UniFi U6 Enterprise, an IPQ5018 access point with two QCN9074 radios on PCIe (5 GHz and 6 GHz). The first patch documents the QCN9074's PCI ID in the ath11k PCI binding, so the radios' nodes can carry the calibration variants their board data is looked up by.
The Ethernet port (GMAC1 with a QCA8081 PHY) and the IPQ5018's own 2.4 GHz radio are left out until the GMAC and the WCSS remoteproc have bindings.
[...]
Applied, thanks!
[2/4] dt-bindings: arm: qcom: add Ubiquiti UniFi U6 Enterprise
commit: c8ad14fa57232bf4a167b0fe2bd1e856e587cf48
Best regards,
Signature · 1 line
Bjorn Andersson <[email protected]>