<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/svanheule/target/linux, branch main</title>
<subtitle>Staging tree of Sander Vanheule</subtitle>
<id>https://git.openwrt.org/openwrt/staging/svanheule/atom?h=main</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/svanheule/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/'/>
<updated>2026-06-19T20:30:58Z</updated>
<entry>
<title>bcm53xx: backport meraki mx6x warning fix</title>
<updated>2026-06-19T20:30:58Z</updated>
<author>
<name>Rosen Penev</name>
</author>
<published>2026-06-18T19:54:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=e2d12cfae6bec4f65f2b5bec6eecb7ca1c6455da'/>
<id>urn:sha1:e2d12cfae6bec4f65f2b5bec6eecb7ca1c6455da</id>
<content type='text'>
The kernel ended up fixing this dts problem at runtime, but fix it
directly instead. Upstream backport.

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/23870
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>ath79: improve reset-controller driver</title>
<updated>2026-06-19T20:30:14Z</updated>
<author>
<name>Rosen Penev</name>
</author>
<published>2026-06-16T20:39:11Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=bf8ca30dbea99a084d16ddabd59d5d18c1ad14b3'/>
<id>urn:sha1:bf8ca30dbea99a084d16ddabd59d5d18c1ad14b3</id>
<content type='text'>
Use _scoped loop to about fwnode_handle_put everywhere.

Remove usage of of_node.

Use devm_led_classdev_register_ext to avoid fwnode handle leaks.

Remove custom struct_size function.

Fix other various issues found with AI.

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/21027
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>ath79: move leds-reset driver to files</title>
<updated>2026-06-19T20:30:14Z</updated>
<author>
<name>Rosen Penev</name>
</author>
<published>2026-06-16T20:19:45Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=30214f3b03edc61ac1f4c9af6b61fe5c22c8afa9'/>
<id>urn:sha1:30214f3b03edc61ac1f4c9af6b61fe5c22c8afa9</id>
<content type='text'>
This driver looks like it will never be upstreamed. Keep it local for
easier modification.

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/21027
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>realtek: rtl931x: add support for Hasivo F5800W-12S+</title>
<updated>2026-06-19T15:43:51Z</updated>
<author>
<name>Lars Gierth</name>
</author>
<published>2026-05-19T01:52:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=4694bb11a40629441312722f5a9763d8f21daac7'/>
<id>urn:sha1:4694bb11a40629441312722f5a9763d8f21daac7</id>
<content type='text'>
This commit adds support for the Hasivo F5800W-12S+ 12-port SFP+ switch.
Based on board revision `RTL_12S+ v1.01`.

Hardware
--------

|          |                                                                |
|----------|----------------------------------------------------------------|
| SoC      | RTL9313 rev B                                                  |
| RAM      | 512 MB Samsung K4B4G1646E                                      |
| Flash    | 32 MB Macronix MX25L25645G SPI NOR, 29 MB usable by OpenWrt    |
| Ethernet | 12x SFP+ via SoC (10G/2.5G/1G)                                 |
| LEDs     | 12x green 10G link, 12x green 1G link,                         |
|          | 3x green power and PSUs -- no system status LED                |
| Button   | Reset                                                          |
| Console  | RJ45 38400 bps 8n1                                             |
| Watchdog | via Hasivo MCU                                                 |
| Power    | 2x internal 100-240V AC PSUs with 2x C14 inputs                |
| Clock    | NXP PCF8563 with coin cell battery                             |
| Fans     | 2x 40mm case fan via Hasivo MCU                                |

Installing OpenWrt
------------------

1. Attach to RJ45 serial console port using a cisco cable.
2. Attach SFP to port 12.
3. Serve initramfs-kernel.bin on TFTP 192.168.1.111.
4. Power on the device.
5. Interrupt U-Boot by pressing `Ctrl+c`, then `z`, then `h`, during 3 second countdown.
6. Bring up networking: `rtk network on ; rtk 10g 55 fiber10g`.
7. Boot from TFTP: `tftpboot 0x84f00000 initramfs-kernel.bin ; bootm 0x84f00000`.
8. Use `mtd dump` to make backups of all flash partitions.
9. Use SCP to copy `squashfs-sysupgrade.bin` to the device, then run `sysupgrade`.

Restoring factory firmware
--------------------------

OpenWrt uses the `RUNTIME` and `RUNTIME2` partitions as one combined partition.
To restore them from backups, boot from `initramfs-kernel.bin` just like during
the installation, then use `mtd write` to write your backups of the factory
`mtd5` and `mtd6` partitions to the live `mtd5` partition.

Notes/Quirks
------------

- U-Boot interruption is obfuscated. Press `Ctrl+c`, then `z`, then `h`,
  during the 3 second countdown.
- MAC address is stored on the `RUNTIME` or `RUNTIME2` partitions,
  which are used by OpenWrt. Instead, we generate one random MAC address
  and store it in the U-Boot environment.
- There is no system status LED. The three non-network LEDs are for
  primary PSU (MS label), secondary PSU (SL), and powered on/off (PW).

Signed-off-by: Lars Gierth &lt;larsg@systemli.org&gt;
Link: https://github.com/openwrt/openwrt/pull/23443
Signed-off-by: Markus Stockhausen &lt;markus.stockhausen@gmx.de&gt;
</content>
</entry>
<entry>
<title>realtek: uci-defaults: refactor and expand fwenv ethaddr hack</title>
<updated>2026-06-19T15:43:51Z</updated>
<author>
<name>Lars Gierth</name>
</author>
<published>2026-05-28T23:33:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=bef32df164b78d55b7c93ea1c3801212f53b38c4'/>
<id>urn:sha1:bef32df164b78d55b7c93ea1c3801212f53b38c4</id>
<content type='text'>
With the upcoming addition of the Hasivo F5800W-12S+ switch model,
another invariant of the u-boot env ethaddr fixup will be neccessary.
While previously all devices used the exact "zero" dummy ethaddr,
this new Hasivo ends in :10 instead of :00.

Make the hack work based on the 5-byte prefix of the ethaddr.
The currently known possible values for the 6th byte are 0x00 and 0x10.
This can be further expanded in the future if neccessary.

The separate XGS1010-12-A1 case doesn't need to deal with ethaddr prefixes
as it only covers one single device with one single dummy ethaddr.

Also use this opportunity to add more documentation,
and extract the common json and fw_setenv logic to a separate function.

Signed-off-by: Lars Gierth &lt;larsg@systemli.org&gt;
Link: https://github.com/openwrt/openwrt/pull/23443
Signed-off-by: Markus Stockhausen &lt;markus.stockhausen@gmx.de&gt;
</content>
</entry>
<entry>
<title>net: pcs: airoha: fix swapped JCPLL SDM DI_LS/DI_EN REG_FIELD entries</title>
<updated>2026-06-19T08:11:06Z</updated>
<author>
<name>Wayen Yan</name>
</author>
<published>2026-06-19T08:03:52Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=0d7add7433c5327cc4fe9d04d46189e8d2b55e7e'/>
<id>urn:sha1:0d7add7433c5327cc4fe9d04d46189e8d2b55e7e</id>
<content type='text'>
The JCPLL SDM DI_LS and DI_EN REG_FIELD entries have their bit
positions swapped compared to the #define macros:

  #define JCPLL_SDM_DI_LS   GENMASK(25,24)  → bits 24-25
  #define JCPLL_SDM_DI_EN   BIT(16)          → bit 16

But the REG_FIELD mapping is:
  DI_LS → REG_FIELD(..., 16, 16)  ← wrong, should be (24, 25)
  DI_EN → REG_FIELD(..., 24, 25)  ← wrong, should be (16, 16)

Fix by swapping the enum and REG_FIELD order so DI_EN comes before
DI_LS, keeping the bit values in ascending order and matching the
register layout. This way:

  [DI_EN] = REG_FIELD(..., 16, 16)  ← BIT(16) ✓
  [DI_LS] = REG_FIELD(..., 24, 25)  ← GENMASK(25,24) ✓

The TXPLL section in the same file already follows this bit-order
convention (DI_EN at bit 0, DI_LS at bits 8-9).

Signed-off-by: Wayen Yan &lt;win847@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/23876
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>airoha: replace multi serdes patch with upstream kernel version</title>
<updated>2026-06-19T07:06:15Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2026-06-17T17:47:16Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=3ed5f087337c6e3d23da446647193c07277a39b4'/>
<id>urn:sha1:3ed5f087337c6e3d23da446647193c07277a39b4</id>
<content type='text'>
Now that multi serdes patch are accepted upstream, reorder the current
patch in the 1xx numbering and add the kernel version tag.

Also replace the downstream patch with the exact version merged upstream.

Downstream PCS implementation is updated with a new revision for the
ethernet code.

Update any patch affected by these changes.

Link: https://github.com/openwrt/openwrt/pull/23849
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>generic: 6.18: backport netdev_from_priv() helper</title>
<updated>2026-06-19T07:06:15Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2026-06-17T17:44:29Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=cdb3dee613d1c0aea5236e8b7cbcdfa984c80ba9'/>
<id>urn:sha1:cdb3dee613d1c0aea5236e8b7cbcdfa984c80ba9</id>
<content type='text'>
Backport netdev_from_priv() helper from upstream kernel to reduce patch
delta on backporting new driver and fixes from upstream kernel.

Link: https://github.com/openwrt/openwrt/pull/23849
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>realtek: pcs: drop setup_serdes</title>
<updated>2026-06-18T20:23:31Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-06-18T07:46:12Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=4ec2d6dd974751fede83ad69c6b4a4a29d973c77'/>
<id>urn:sha1:4ec2d6dd974751fede83ad69c6b4a4a29d973c77</id>
<content type='text'>
Introducing the setup_serdes hook in the PCS driver was always intended
to be only a temporary solution. It was needed to be able to collect all
scattered code in the PCS driver first. Later, refactoring can be done
to bring everything into a proper shape.

Now we've reached the point where the setup of all variants has been
refactored in such a way that all share the same high-level sequence.
This is fully orchestrated in pcs_config now. Thus, the setup_serdes hook
is no longer needed. Move the last piece out of it into another SerDes
op hook, then drop setup_serdes.

Link: https://github.com/openwrt/openwrt/pull/23861
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>realtek: pcs: rtl931x: call CMU config from hw mode config</title>
<updated>2026-06-18T20:23:31Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-06-18T07:24:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/svanheule/commit/?id=f6d95ca8c2f743378a3e974818b7f221839c1642'/>
<id>urn:sha1:f6d95ca8c2f743378a3e974818b7f221839c1642</id>
<content type='text'>
One deviating piece left is the extra call in 931x's setup_serdes to
config_cmu. It is called right after the hw mode configuration, in
contrast to 930x. Until we find a better home, move it to the end of
config_hw_mode to retain behavior but to pave the way for the final
unification steps.

Link: https://github.com/openwrt/openwrt/pull/23861
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
</feed>
