[RFC] New Annapurna Labs Alpine target (MikroTik RB1100AHx4)

Hello OpenWrt developers,

I’m working on initial OpenWrt support for the Annapurna Labs Alpine platform, starting with MikroTik RB1100AHx4, and I would really appreciate review and collaboration.

PR:
Add Annapurna Labs Alpine target with RB1100AHx4 support

Current status:

  • New target/linux/alpine integration is in place
  • RB1100AHx4 DTS + image definitions added
  • DSA-based switch path (RTL8367SB via rtl8365mb) is functional
  • Boot to userspace works on real hardware
  • LAN forwarding and ping are working in initramfs testing

Important note:

  • NAND/sysupgrade is intentionally disabled for now
  • Flash partition layout and safe persistent upgrade flow are still being finalized

I’m specifically looking for feedback on:

  • target structure and patch split quality
  • DTS correctness and maintainability
  • DSA/switch integration review
  • NAND partition mapping and future sysupgrade design

Good job! Thanks for the work. I've put in some comments on the PR; but will expound on some points here:

  • DTS - there already exists an alpine.dtsi in mainline but it's so short as to be almost useless. Still, it's a good starting point, and in my implementation I did the following:
alpine.dtsi (upstream)
> alpine-openwrt.dtsi (containing the rest of the platform devices)
>> alpine-netgear.dtsi (for the common netgear platform)
>>> r9000/xr700.dtsi (device specific)
  • DSA: Definitely the hardest part. alpine_eth was never upstreamed and the downstream driver depends on the Annapurna fabric and DMA devices. There is an upstream fabric driver but it's totally different from what the alpine platform uses (or should we call it amazon v1?)
  • The driver will have to be extensively rewritten to support DSA (it is currently a switchdev driver) and phylink. The driver is also the sole remaining consumer of the DSA and fabric subsystems, so perhaps it can be folded into the driver instead of being something separate?
  • The good news is that this will fix SFP issues as that is currently extremely buggy.
  • NAND driver - no way around it, just like Mediatek NMBM, Airoha BMT/BBT and the others, it is not compliant with the Linux kernel MTD facilities. It will have to be ported. The good news is that porting it is relatively simple.