aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx
Commit message (Collapse)AuthorAgeFilesLines
* brcm47xx: relocate the stack in loaderHauke Mehrtens2017-10-112-2/+4
| | | | | | | | | | | By default we are reusing the stack provided by CFE, like it is intended by CFE. On my WRT54GS it is located at 0x8043BF30, so a big kernel image could overwrite it. Relocate it to a different memory region which is still under the 8MB RAM, but in the higher area. We only need this memory region for the stack of the loader, Linux will set up this for its own. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* brcm47xx: relocate loader to higher addressHauke Mehrtens2017-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | The boot process on a WRT54GL works the following way: 1. CFE gets loaded by the boot rom from flash 2. CFE loads the loader from the flash and gzip uncompresses it 3. CFE starts the loader 4. The loader stores the FW arguments and relocates itself to BZ_TEXT_START (now 0x80600000) 5. The loader reads the Linux image from flash 6. The loader lzma decompresses the Linux image to LOADADDR (0x80001000) 7. The loader executes the uncompress Linux image at LOADADDR The BZ_TEXT_START was set to 0x80400000 before. When the kernel gets uncompressed and is bigger than BZ_TEXT_START - LOADADDR it overwrote the loader which was currently uncompressing it and made the board crash. Increase the BZ_TEXT_START my 2 MB to have more space for the kernel. Even on 16MB RAM devices the memory goes till 0x80FFFFFF so this should not be a problem. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Revert "brcm47xx: Fix sysupgrade with E1200v1"Hauke Mehrtens2017-09-251-1/+0
| | | | | | | | | | This reverts commit 31e9445b7e614f54daa0caf3148e223d088311ab. "Linksys E1200 V1" is not a valid board name, as the brcm47xx arch code can not detect this device. Stefan Lippers-Hollmann also found a typo in this patch "cybetran" instead of "cybertan". Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* brcm47xx: Fix sysupgrade with E1200v1Rosen Penev2017-09-241-0/+1
| | | | | | Entry was missing for some reason. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* brcm47xx: fix switch port mapping on Asus RT-N12 and RT-N16 modelsJo-Philipp Wich2017-07-211-0/+2
| | | | | | | | | | | | | On Asus RT-N12 and RT-N16 models, the WAN and LAN4 ports are swapped in the initial switch configuration since the presets present in nvram appear to be wrong. Add special casing for these models to detect_by_model() in order to ensure a proper switch configuration. Fixes FS#502. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* treewide: use only board_name function to get nameMathias Kresin2017-07-151-1/+1
| | | | | | | | | | | | Do not parse /tmp/sysinfo/board_name, /proc/cpuinfo or the device tree compatible string directly. Always use the board_name function to get the board name. The admswconfig package still reads /proc/cpuinfo directly. The code looks somehow broken and the whole adm5120 which uses this package looks unmaintained. Leave it as it is for now. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: use the generic board_name functionMathias Kresin2017-07-151-5/+1
| | | | | | Use the generic function instead ot the target specific ones. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: do board detection during preinitMathias Kresin2017-07-151-0/+12
| | | | | | Do the board detection during preinit to unify it across all targets. Signed-off-by: Mathias Kresin <dev@kresin.me>
* brcm47xx: Add support for kernel 4.9Hauke Mehrtens2017-07-0222-0/+2782
| | | | | | | I tested this on a WRT54GS and a WRT610N V1. The WRT610N does not boot when the kernel is too big, so I deactivated KALLSYMS Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* brcm47xx: refresh kernel configurationHauke Mehrtens2017-07-021-8/+8
| | | | | | Run make kernel_oldconfig on the brcm47xx target. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* brcm47xx: remove kernel 4.1 supportHauke Mehrtens2017-07-0236-3487/+0
| | | | | | Kernel 4.1 is not supported by LEDE for some time now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* brcm47xx: use DMZ LED as status indicatorMirko Parthey2017-07-021-15/+7
| | | | | | | | | | | | | On the Linksys WRT54GSv1, the Power LED flickers in the "off" state. Indicate status using the DMZ LED if available, since it has solid "on" and "off" states. This change was tested on the WRT54GSv1, but may also affect other brcm47xx devices. Fixes FS#793. Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
* brcm47xx: resolve GPIO conflict for WRT54GSv1Mirko Parthey2017-07-021-8/+7
| | | | | | | | | | | | | | | On the Linksys WRT54GSv1, the adm6996 switch driver and the gpio_button_hotplug module both claim GPIO 6, which is connected to the Reset button. When the switch driver's request wins, the Reset button cannot work. This makes it impossible to enter failsafe mode without a serial console. Stop requesting the "adm_rc" GPIO in the switch driver, since it is not used anywhere. Fixes FS#792. Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
* kernel: cleanup CONFIG_SCHED_HRTICKStijn Tintel2017-06-291-1/+0
| | | | | | | Remove CONFIG_SCHED_HRTICK from target configs, as it was added to the generic config in b47fd7656336162360ebf66147326763ddae3f8d. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* brcm47xx: remove target specific network preinit configJo-Philipp Wich2017-05-272-32/+0
| | | | | | | | | The generic preinit code is now able to setup network and switch vlan settings from the /etc/board.json file, therefor drop the target specific code. Fixes FS#790. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: update kernel 4.4 to 4.4.61Jo-Philipp Wich2017-04-151-5/+5
| | | | Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: update kernel 4.4 to 4.4.53Hauke Mehrtens2017-03-123-44/+6
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: update kernel 4.4 to 4.4.50Kevin Darbyshire-Bryant2017-02-232-9/+9
| | | | | | | | | | Bump kernel from 4.4.49 to 4.4.50 Compile tested: All targets Run tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* kernel: update kernel 4.4 to version 4.4.49Hauke Mehrtens2017-02-161-1/+1
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* brcm47xx: fix button inversion for Asus WL-500WMirko Parthey2017-02-161-0/+38
| | | | | | | | | The Asus WL-500W buttons are active high, but the software treats them as active low. Fix the inverted logic. Signed-off-by: Mirko Parthey <mirko.parthey@web.de> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: fix USB driver choice for Asus WL-500WMirko Parthey2017-02-151-1/+1
| | | | | | | | | | | | | | | | BCM4704 SoC has only USB 1.1 core: ssb: Core 3 found: USB 1.1 Hostdev (cc 0x808, rev 0x03, vendor 0x4243) but this device actually comes with two USB 2.0 ports. It appears embedded controller isn't used but instead there are two PCI attached controllers (next to the BCM4321 wireless card): 1106:3038 VT82xx/62xx UHCI USB 1.1 Controller 1106:3104 USB 2.0 Choose a set of USB drivers which actually support this hardware. Signed-off-by: Mirko Parthey <mirko.parthey@web.de> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: backport arch patch with Luxul devices supportRafał Miłecki2017-01-242-14/+260
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* build: remove mips16 feature flag from target makefilesFelix Fietkau2017-01-241-1/+0
| | | | | | | It can be implicitly derived from the MIPS32 revision support in the kernel configuration Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: backport MIPS changes introducing a separate IRQ stackFelix Fietkau2017-01-151-1/+1
| | | | | | | | Prevents crashes when IRQs arrive when the current kernel stack context already contains deeply nested function calls, e.g. when stacking lots of network devices on top of each other Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: update 4.4 kernel to 4.4.42Hauke Mehrtens2017-01-131-3/+3
| | | | | | | Refresh patches on all 4.4 supported platforms. Compile & run tested: lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* brcm47xx: generic: include Ethernet drivers in standard imageRafał Miłecki2017-01-041-0/+5
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: drop some personal profilesRafał Miłecki2017-01-043-50/+0
| | | | | | | | | | | | | | WL500GPv1 profile included ath5k which made it usable only for people who decided to replace default BCM4318 card with Atheros one. We can't have profile for every possible configuration. If someone adjusts hw in such a way he can always install a proper package. WRTSL54GS profile got extra packages for a specific USB usage. Our standard profile provides basic USB and we should stick to this. We can't make everyone happy by including packages for all common USB use cases and all common filesystems. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: generic: drop standalone profiles duplicating device onesRafał Miłecki2017-01-042-33/+0
| | | | | | We have identical profiles for these devices thanks to DEVICE_PACKAGES. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: generic: specify DEVICE_PACKAGES for all devicesRafał Miłecki2017-01-041-0/+6
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: fix bgmac packageRafał Miłecki2017-01-041-2/+5
| | | | | | With all recent patches & changes it needs more modules. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: mips74k: specify DEVICE_PACKAGES for all devicesRafał Miłecki2017-01-041-0/+39
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: legacy: specify DEVICE_PACKAGES for all devicesRafał Miłecki2017-01-041-1/+29
| | | | | | | This allows more feature complete images. Of course it affect the size, e.g. enabling b43 bumped rootfs from 1569618 to 2029122 for me. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: drop standalone Netgear WGT634U profileRafał Miłecki2016-12-301-17/+0
| | | | | | | We have profile for this device thanks to DEVICE_PACKAGES now. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Cc: Russell Senior <russell@personaltelco.net>
* brcm47xx: specify DEVICE_PACKAGES for Netgear WGT634URafał Miłecki2016-12-301-0/+3
| | | | | | | This allows using it nicely with PER_DEVICE_ROOTFS. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Cc: Russell Senior <russell@personaltelco.net>
* brcm47xx: mips74k: fix typo in Netgear WN3000RP model nameRafał Miłecki2016-12-291-8/+8
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump to 4.4.36Álvaro Fernández Rojas2016-12-041-7/+8
| | | | | | | Refresh patches on all 4.4 supported platforms. Compile & run tested: brcm2708/bcm2710 - Raspberry Pi 3 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: bump to 4.4.35Kevin Darbyshire-Bryant2016-11-291-1/+1
| | | | | | | | | | | Refresh patches on all 4.4 supported platforms. 077-0005-bgmac-stop-clearing-DMA-receive-control-register-rig.patch removed as now upstream. Compile & run tested: ar71xx - Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* brcm47xx: fix initramfs image build errorFelix Fietkau2016-11-291-0/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* brcm47xx: merge cpu cache workaround patches into one, ensure they get ↵Felix Fietkau2016-11-292-177/+115
| | | | | | compiled out on mips74k Signed-off-by: Felix Fietkau <nbd@nbd.name>
* brcm47xx: image: use append-rootfs step for per-device rootfs supportRafał Miłecki2016-10-281-18/+18
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: image: make TRX steps work with rootfs passed as $@Rafał Miłecki2016-10-281-2/+4
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: image: make linksys-pattern-partition leave specific fileRafał Miłecki2016-10-281-2/+2
| | | | | | | Thanks to leaving .pattern file we can easily insert extra step between linksys-pattern-partition and trx-v2-with-loader, e.g. rootfs one. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: add support for per-device rootfsRafał Miłecki2016-10-271-4/+95
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: reorder older entries in image MakefileRafał Miłecki2016-10-241-64/+63
| | | | | | Keep all entries sorted and replace tabs with spaces while at it. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: bump kernel to 4.4Rafał Miłecki2016-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel 4.4 was ready for brcm47xx for almost a year now but I kept postponing the bump due to problems with Linksys WRT300N v1.0. OpenWrt and LEDE with 4.4 were hanging at the booting with the: > Starting program at 0x80001000 (the last CFE message). This was a permanent state, "make distclean" wasn't helping, I spent hours debugging this and I was reliably reproducing the issue every time. I also reported it on linux-mips ML in the thread: > BCM4704 stopped booting with 4.4 (due to vmlinux size?) After ~month I started working on WRT300N again. I got hangs as expected every time I switched from 4.1 to 4.4. I started experimenting with: 1) TRX content (I tried dropping rootfs partition) 2) BZ_TEXT_START of lzma-loader 3) Flashing other variants of image: lzma compressed kernel (without a loader), gzip compressed one, uncompressed one. At some point I got rootfs-less image booting and after that I couldn't reproduce problem anymore, even with a complete firmware. It seems like hardware was in some locked/unstable state that got magically fixed. I have LEDE working now, tested it even with "make distclean", it seems we can bump kernel now. I'll keep testing it on WRT300N for some time. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: build also TRX image for Linksys WRT300N V1Rafał Miłecki2016-10-241-0/+1
| | | | | | | Linksys WRT300N V1 has pretty bugged CFE bootloader (it crashes in a lot of situations) that doesn't accept .bin image. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* brcm47xx: open code Makefile entries for all devicesRafał Miłecki2016-10-241-115/+527
| | | | | | | If we want to use some of new features like per device rootfs we will need this to specify them there. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: remove bad local shell variable declarationsJo-Philipp Wich2016-09-242-9/+9
| | | | | | | Local variable declarations outside of functions are illegal since the Busybox update to v1.25.0, therfore remove them from the appropriate places. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: fix subtarget descriptionsFelix Fietkau2016-09-041-3/+2
| | | | | | Move Target/Description above the target.mk include Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: update kernel 4.4 to version 4.4.19Stijn Tintel2016-08-231-2/+2
| | | | | | | | Refresh patches for all targets that support kernel 4.4. Compile-tested on all targets that use kernel 4.4 and aren't marked broken. Runtime-tested on ar71xx, octeon and x86/64. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>