It appears that the CFE boot loader found in the XG6846
cannot load kernels over a certain size, and the old
relocate hack is not working.
What to do? We can build a small U-Boot into the image,
make CFE boot that, place the kernel immediately after
U-Boot, and use U-Boot to boot the system instead.
The compiled u-boot.bin becomes around ~300KB and with
LZMA compression it will swiftly fit into 128KB, so
we use two 64KB erase blocks right after the CFE to
store an imagetag:ed U-Boot.
Reviewed-by: Paul Donald <newtwen+github@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This is needed on devices like Sercomm AD1018 for booting recent kernels due
to bigger kernels.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
The Netgear DGND3700 v1 and DGND3800B are the same device but with
different factory firmwares. It's an xDSL wifi router with a slim black
shiny casing and 4 PCB internal antennas connected via UFL to a miniPCI
detachable card.
Hardware:
- SoC: Broadcom BCM6368
- CPU: dual core BMIPS4350 V3.1 @400Mhz
- RAM: 128 MB DDR
- NOR Flash: 32 MB parallel (CFE and OS)
- NAND flash: 128 MB (empty)
- Ethernet LAN: 5x 1Gbit
- Wifi 2.4 GHz: Broadcom BCM43222 802.11bgn
- Wifi 5 GHz: Broadcom BCM43222 802.11abgn
- USB: 2x 2.0
- Buttons: 3x, 1 reset
- LEDs: 11x
- UART: yes
Installation via OEM web UI:
1. Open the Netgear administration web interface, by default:
http://192.168.0.1
user: admin
password: password
2. Look for "upgrade firmware" and proceed
3. Wait some minutes until it finishes
Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
This allows booting bigger ramdisk images via TFTP at the cost of breaking 32M
RAM compatibility, but those devices have been unable to boot ramdisks on this
target for some time anyway due to not having enough RAM.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
BMIPS is a generic arch that can be used for multiple Broadcom SoCs, each one
with its own specific drivers, so instead of having a huge kernel supporting
all of them, let's switch to a subtarget per SoC like other OpenWrt targets.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Make use of sercomm-pid script for generating the Sercomm PID, which avoids
having to add an array of hex bytes for every new Sercomm device.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
SERCOMM_VERSION is ambiguous and it should be more clear that it refers to the
version used for the filesystem.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This target has full device tree support, thus reducing the number of
patches needed for bcm63xx, in which there's a patch for every board.
The intention is to start with a minimal amount of downstream patches and
start upstreaming all of them.
Current status:
- Enabling EHCI/OHCI on BCM6358 causes a kernel panic.
- BCM63268 lacks Timer Clocks/Reset support.
- No PCI/PCIe drivers.
- No ethernet drivers.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>