openwrt/target/linux/mvebu/patches-6.1
Daniel Golle 3f7637b050 mvebu: add support for Synology DS213j
The Synology DS213j is a rather dated dual-bay SATA NAS based on on the
Marvell Armada-370 SoC. It has long been supported in vanilla Linux,
however, flash partitioning there didn't match with reality (ie. the
bootloaders expectations) and nobody cared to wrap up OpenWrt support
for the device.

CPU: Marvell Armada-370 ARMv7 SoC @ 1200 MHz
RAM: 512 MB DDR3
Flash: 8 MB (Micron Technology N25Q064)
Network: 1x 1000M/100M/10M Ethernet (Marvell 88E1510)
SATA: 2x 3.0Gbps
USB: 2x USB 2.0

As OS options are becoming limited on that still quite useful hardware,
patch the flash partitions to be able to get the most out of it when
using OpenWrt.

The vendor firmware loads kernel and initrd from fixed addresses in
the flash, not making use of a modifyable environment stored in flash
which is stored at a location right in the middle of the vendor's
zImage partition (at 0x100000).

Stock firmware flash layout:

0x000000 ~ 0x0c0000 : "RedBoot" (actually U-Boot)
0x0c0000 ~ 0x390000 : "zImage"
0x390000 ~ 0x7d0000 : "rd.gz"
0x7d0000 ~ 0x7e0000 : "vendor" (contains MAC address, serial no)
0x7e0000 ~ 0x7f0000 : "RedBoot Config" (unused? legacy left-over)
0x7f0000 ~ 0x800000 : "FIS directory" (unused? legacy left-over)

OpenWrt flash layout:

0x000000 ~ 0x0c0000 : "u-boot"
0x0c0000 ~ 0x100000 : "gap"
0x100000 ~ 0x110000 : "u-boot-env"
0x110000 ~ 0x7d0000 : "kernel"
0x7d0000 ~ 0x7e0000 : "vendor" (contains MAC address, serial no)
0x7e0000 ~ 0x800000 : "gap2"

"kernel", "gap" and "gap2" are concatenated using the mtd-concat
virtual MTD driver, resulting in a partition "firmware" used by
OpenWrt for kernel, rootfs and rootfs-overlay, 0x720000 (7296kiB) in
total.

Installation:
1. Connect to internal serial console port and Ethernet port,
   providing a TFTP server at a static IPv4 address, e.g.
   192.168.1.254/24.
2. Interrupt bootloader using CTRL+C
3. Configure bootloader to load OpenWrt on future boot:
   setenv bootcmd "bootm f4110000"
   saveenv
4. Load and boot initramfs image via TFTP:
   setenv ipaddr 192.168.1.1
   setenv serverip 192.168.1.254
   tftpboot openwrt-mvebu-cortexa9-synology_ds213j-initramfs-kernel.bin
   bootm
5. Use sysupgrade to load final image.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-11-20 13:24:06 +00:00
..
100-aardvark-workaround-PCIe.patch
105-power-reset-linkstation-poweroff-add-ls220de.patch
106-Revert-i2c-pxa-move-to-generic-GPIO-recovery.patch mvebu: fix PXA I2C bus with recovery 2023-11-12 14:28:21 +01:00
300-mvebu-Mangle-bootloader-s-kernel-arguments.patch kernel: bump 6.1 to 6.1.44 2023-08-09 20:39:20 -04:00
301-mvebu-armada-38x-enable-libata-leds.patch
302-add_powertables.patch
304-revert_i2c_delay.patch
305-armada-385-rd-mtd-partitions.patch
306-ARM-mvebu-385-ap-Add-partitions.patch
307-armada-xp-linksys-mamba-broken-idle.patch
308-armada-xp-linksys-mamba-wan.patch
309-linksys-status-led.patch
310-linksys-use-eth0-as-cpu-port.patch
311-adjust-compatible-for-linksys.patch
312-ARM-dts-armada388-clearfog-emmc-on-clearfog-base.patch
313-helios4-dts-status-led-alias.patch
314-arm64-dts-marvell-enable-heartbeat-LED-by-default.patch mvebu: mcbin-singleshot: enable hearbeat LED by default 2023-08-10 23:09:37 +02:00
315-armada-xp-linksys-mamba-resize-kernel.patch
316-armada-370-dts-fix-crypto-engine.patch
320-arm-dts-armada-370-synology-ds213j-mtd-parts.patch mvebu: add support for Synology DS213j 2023-11-20 13:24:06 +00:00
400-find_active_root.patch
700-mvneta-tx-queue-workaround.patch
800-cpuidle-mvebu-indicate-failure-to-enter-deeper-sleep.patch
801-pci-mvebu-time-out-reset-on-link-up.patch
901-dt-bindings-Add-IEI-vendor-prefix-and-IEI-WT61P803-P.patch
902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch
903-drivers-hwmon-Add-the-IEI-WT61P803-PUZZLE-HWMON-driv.patch
904-drivers-leds-Add-the-IEI-WT61P803-PUZZLE-LED-driver.patch
905-Documentation-ABI-Add-iei-wt61p803-puzzle-driver-sys.patch
906-Documentation-hwmon-Add-iei-wt61p803-puzzle-hwmon-dr.patch
907-MAINTAINERS-Add-an-entry-for-the-IEI-WT61P803-PUZZLE.patch
910-drivers-leds-wt61p803-puzzle-improvements.patch
911-drivers-leds-wt61p803-puzzle-mcu-retry.patch