<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/xback/package/firmware, branch master</title>
<subtitle>Staging tree of Koen Vandeputte</subtitle>
<id>https://git-03.infra.openwrt.org/openwrt/staging/xback/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/'/>
<updated>2026-10-11T17:30:48Z</updated>
<entry>
<title>mipi-dbi: mark as non-shared, drop tool from tree</title>
<updated>2026-10-11T17:30:48Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-11T17:27:33Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=8b767c4bd50fe343e6d1e8556c9f27ec690ec52c'/>
<id>urn:sha1:8b767c4bd50fe343e6d1e8556c9f27ec690ec52c</id>
<content type='text'>
As the MIPI-DBI firmware blobs are carrying target-dependencies to only
be available and get built for the targets they are actually used by,
the package needs to be flagged as 'nonshared'.

While at it, remove the duplicated firmware compiler and instead use the
(archived) upstream repo it came from.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>linux-firmware: add the ARM Mali CSF GPU firmware</title>
<updated>2026-10-07T09:12:12Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-08T20:06:45Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=43fef80eaf5a2426513db58b13d18e580b95295b'/>
<id>urn:sha1:43fef80eaf5a2426513db58b13d18e580b95295b</id>
<content type='text'>
The Panthor driver loads arm/mali/arch&lt;version&gt;/mali_csffw.bin for the
Mali GPUs with a command stream front end, such as the G610 in the
RK3588. Package every architecture version so one package serves all
of them.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>mipi-dbi: depend on kmod-drm-panel-mipi-dbi</title>
<updated>2026-10-06T23:03:51Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-03T22:01:29Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=dc7acc188815285d3f0aa9e49cf1b33d3fc313dd'/>
<id>urn:sha1:dc7acc188815285d3f0aa9e49cf1b33d3fc313dd</id>
<content type='text'>
Apply the established OpenWrt packaging pattern of a firmware package
depending on its only consumer.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>mipi-dbi: add init sequence for PH240240T004-ZAR</title>
<updated>2026-10-06T23:03:51Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-03T12:50:59Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=77c54b72be1e1277f4a873afbda9e68b10f6ea73'/>
<id>urn:sha1:77c54b72be1e1277f4a873afbda9e68b10f6ea73</id>
<content type='text'>
Add the controller init sequence for the PH240240T004-ZAR 240x240 LCD
as the mipi-dbi-ph240240t004-zar package. panel-mipi-dbi requests it
for a panel node whose first compatible string is "ph240240t004-zar".

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>mipi-dbi: build init sequences from source</title>
<updated>2026-10-06T23:03:51Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-03T12:50:48Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=92e40beed9950fcb1005f96272bc2684613c4d55'/>
<id>urn:sha1:92e40beed9950fcb1005f96272bc2684613c4d55</id>
<content type='text'>
The panel-mipi-dbi driver requests "&lt;compatible&gt;.bin", a blob that the
upstream mipi-dbi-cmd tool assembles from a readable list of controller
commands and delays. Keep only that list in files/, vendor the
CC0-licensed tool, and assemble the blob in Build/Compile with the host
python3 the build system already requires. Every .txt in files/ is
assembled, so a further panel needs only its command list and an
install recipe.

Link: https://github.com/notro/panel-mipi-dbi
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>mipi-dbi: mark init sequence packages PKGARCH:=all</title>
<updated>2026-10-06T23:03:51Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-03T12:50:35Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=663696fb7f1d65f61214fcb07ecd53e09d1da16c'/>
<id>urn:sha1:663696fb7f1d65f61214fcb07ecd53e09d1da16c</id>
<content type='text'>
A MIPI DBI init sequence is a target-independent data blob holding
controller commands and delays, so one build serves every architecture.
Mark the packages accordingly.

Fixes: 51627b9699b7 ("mipi-dbi: add MIPI DBI LCD init sequence packages")
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>wireless-regdb: update to version 2026.09.03</title>
<updated>2026-10-03T20:22:41Z</updated>
<author>
<name>Shiji Yang</name>
</author>
<published>2026-09-03T11:39:03Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=6bfbb7ef9da14105a7723a52e9080c5b37c2be9d'/>
<id>urn:sha1:6bfbb7ef9da14105a7723a52e9080c5b37c2be9d</id>
<content type='text'>
Git commit changes:
389b9b7 wireless-regdb: update regulatory database based on preceding changes
8f1e802 wireless-regdb: allow 320MHz channel width for Hong Kong (HK)
74cb99f wireless-regdb: Update 2.4 and 5 GHz rules for South Africa (ZA)
2482838 wireless-regdb: Remove DFS flag from 60 GHz band for Togo (TG)

Signed-off-by: Shiji Yang &lt;yangshiji66@outlook.com&gt;
Link: https://github.com/openwrt/openwrt/pull/25008
Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>qualcommax: add support for TP-Link RE700X</title>
<updated>2026-10-03T18:17:43Z</updated>
<author>
<name>Eduard Hart</name>
</author>
<published>2026-06-29T17:43:57Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=a20047f6ee25725a97063af0517aa5c254931a8b'/>
<id>urn:sha1:a20047f6ee25725a97063af0517aa5c254931a8b</id>
<content type='text'>
TP-Link RE700X is a dual-band Wi-Fi 6 (AX3000) range extender based on
Qualcomm IPQ5018 (2.4 GHz) with a QCN6122 (5 GHz) companion radio.

Specifications:
- SoC: Qualcomm IPQ5018 (dual-core ARM Cortex-A53)
- RAM: 256 MiB
- Flash: 128 MiB SPI-NAND (ESMT F50D1G41LB)
- Wi-Fi: IPQ5018 2.4 GHz + QCN6122 5 GHz, both 802.11ax
- Ethernet: 1x Gigabit - IPQ5018 MAC1 (DWMAC) via SGMII/uniphy0 to a
  Realtek RTL8211F (MDIO1 addr 6). The SoC internal GE PHY (MAC0/gmac0)
  is not wired to any external port and stays disabled.
- LEDs: 5, Buttons: reset + WPS
- Power: 100-240 V AC, 50/60 Hz, 0.4 A (internal PSU, wall-plug)
- UART: 3.3 V serial console, 115200 8N1; on-board 4-pad header,
  pinout from top: TX, RX, GND, VCC

MAC addresses (factory_data UBI volume, file default-mac, mounted
read-only in preinit like on the EAP650):
- LAN (label MAC): default-mac
- 2.4 GHz: default-mac + 1
- 5 GHz: default-mac + 2

Calibration data is extracted from the 0:art partition (IPQ5018 at
0x1000, QCN6122 at 0x26800).

Installation:
- From OpenWrt (or after a RAM-boot of the initramfs via U-Boot/TFTP):
  sysupgrade.
- From the stock firmware: openwrt-...-squashfs-factory-webflash.bin via
  the TP-Link web UI (System -&gt; Firmware Upgrade).
  scripts/tplink-re700x-factory.py wraps the rootfs UBI into the stock
  "nvrammanager" upload container (the same "tplink2022"/safeloader
  family as scripts/tplink-mkimage-2022.py); the stock flasher writes it
  into the inactive dual-boot slot. This path has not been tested end to
  end (no unit on stock firmware was left), so keep UART at hand for a
  first install.

The stock U-Boot passes a slot-correct ubi.mtd= (rootfs / rootfs_1 per the
dual-boot index) but with an unmountable root=mtd:ubi_rootfs. The DTS /chosen
inherits ubi.mtd= and appends root=/dev/ubiblock0_1, so OpenWrt boots from
whichever slot the flasher wrote. Like on the EAP650, sysupgrade installs
into the inactive slot and then points tp_boot_idx at it, keeping the
running slot as a fallback; the U-Boot environment is on 0:appsblenv.

The QCN6122/IPQ5018 board-2.bin (BDF) data is supplied via
ipq-wifi-tplink_re700x (openwrt/firmware_qca-wireless).

Wi-Fi is disabled in the DTS for now: with the default ath11k DP ring
sizes both radios exhaust the 256 MiB of RAM. It will be enabled in a
follow-up together with the ath11k patch that selects smaller rings on
low-memory boards, once that has been accepted upstream.

Signed-off-by: Eduard Hart &lt;eduard.hart@etik.com&gt;
Link: https://github.com/openwrt/openwrt/pull/23982
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>ipq-wifi: update to Git HEAD (2026-10-01)</title>
<updated>2026-10-02T08:19:34Z</updated>
<author>
<name>Robert Marko</name>
</author>
<published>2026-10-02T08:19:23Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=c2eb687d76a04bd66e45fdb2e47998f8f0f565b0'/>
<id>urn:sha1:c2eb687d76a04bd66e45fdb2e47998f8f0f565b0</id>
<content type='text'>
73091ab6bf52 ci: safely handle changed BDF lists
133ced5d9165 ci: pin BDF workflow dependencies
f4123f64c204 ci: cancel superseded BDF workflow runs
5a222aea811f ci: comment BDF details on pull requests
e7026095be09 ci: parse IPQ9574 BDF files
033d9392777e ci: initialize BDF artifact path at runtime
0fd886523d7c ci: parse ipq9574 BDF as ath11k
dc51f4c40621 ci: skip BDF comments without an artifact
b8e840138fa9 ci: resolve PRs from workflow-run metadata
9a202b023de2 qcn9274: add TP-Link Archer BE800 BDF
dd938a6a367f kiwi: update BDF to v5
6a0f508b9ce3 add TP-Link RE700X board files

Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>qualcommax: ipq50xx: add support for GL.iNet GL-X2000</title>
<updated>2026-09-28T12:21:38Z</updated>
<author>
<name>Gilberto Conde</name>
</author>
<published>2026-09-18T15:29:35Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/xback/commit/?id=9e15f1f49353d57011649c91eb4f9659107d6422'/>
<id>urn:sha1:9e15f1f49353d57011649c91eb4f9659107d6422</id>
<content type='text'>
GL.iNet GL-X2000 (Spitz Plus) is a dual-SIM 4G LTE Wi-Fi 6 router.

Specifications:
  SoC:      Qualcomm IPQ5018, dual-core Cortex-A53 @ 1.0 GHz
  RAM:      512 MiB DDR3
  Flash:    128 MiB SPI NAND (Winbond W25N01GWZEIG)
  WLAN:     IPQ5018 2x2 2.4 GHz, QCN6122 2x2 5 GHz (802.11ax)
  Ethernet: 1x GbE WAN (IPQ5018 internal GE PHY)
            1x GbE LAN (Atheros AR8031, SGMII)
  WWAN:     Quectel EG120K-EA, LTE Cat.12, USB 3.0 SuperSpeed
  USB:      1x USB 2.0 host behind an internal hub
  Buttons:  reset
  LEDs:     power, internet, 2.4G, 5G, 4x signal strength
  Serial:   3v3 TTL, 115200 8N1; 4-pin header labelled GND/RX/TX/3V3 on
            the mainboard, under the Quectel module in the top right
            corner. The case opens after pulling the four rubber feet
  Power:    DC 9-35 V, shipped with a 12 V 2.5 A supply
  Misc:     PWM fan, dual SIM slots (muxed inside the modem)

The base MAC address is stored at offset 0x6 of the 0:art partition; the
first six bytes are erased, which is why U-Boot reports the ART address as
invalid. WAN uses the base address (this is the one on the label), LAN
base+1, the 2.4 GHz radio base+2 and the 5 GHz radio base+3. The ethernet
addresses come from nvmem cells. The board deliberately has no ethernetN
aliases: GL.iNet's U-Boot uses them to write its own mac-address
properties into both GMAC nodes (a placeholder for WAN, the base address
for LAN), which of_get_mac_address() would prefer over the nvmem cells.

The modem enumerates at SuperSpeed and therefore requires the IPQ5018 USB3
UNIPHY, so both usbphy0 and usbphy1 are enabled. uqmi cannot communicate
with this modem, so modemmanager has to be installed separately to use it.

The QCN6122 is wired to the second radio instance, so wifi@b00b040 with
userpd3 is enabled rather than wifi@b00a040: the stock device tree enables
wifi2@/userpd3 and leaves wifi1@/userpd2 disabled. That instance places
its BDF and M3 dump above the default q6 region, so the reserved region
is grown accordingly.

Board data for the two radios is submitted separately to
firmware_qca-wireless. It is taken from the stock firmware's wifi_fw
partition, which is a squashfs image: bdwlan.b24 for the IPQ5018 2.4 GHz
radio and qcn6122/bdwlan.b60 for the QCN6122 5 GHz radio, matching the
qcom,board_id values of 0x24 and 0x60 that the stock device tree assigns
to the respective radios. The two radios require distinct board data;
sharing a single BDF leaves the front-end misconfigured and the affected
radio unable to transmit or receive at usable power.

The device tree started from the initial port by Hostle, was largely
rewritten by georgem83 and further reworked by Andreas Boeckler, published
in the OpenWrt forum thread linked below. It is carried here with fixes for
the WLAN board data, the QCN6122 radio instance, the U-Boot environment
partition and the fan cooling map.

Link: https://forum.openwrt.org/t/plain-openwrt-on-gl-x2000/231554

Installation:
  Interrupt the bootloader over serial (115200 8N1) by typing "gl", then
  TFTP the initramfs image and boot it:

    tftpboot 0x44000000 openwrt-qualcommax-ipq50xx-glinet_gl-x2000-initramfs-uImage.itb
    bootm 0x44000000

  Then flash the factory image with sysupgrade.

Signed-off-by: Gilberto Conde &lt;gilbertorconde@gmail.com&gt;
</content>
</entry>
</feed>
