Commit Graph

86 Commits

Author SHA1 Message Date
Hauke Mehrtens
2909a4b78e brcm47xx: relocate the stack in loader
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>
2017-10-11 21:36:24 +02:00
Hauke Mehrtens
d5cf4a5aa4 brcm47xx: relocate loader to higher address
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>
2017-10-11 21:36:24 +02:00
Mirko Parthey
ac3a4e7ae2 brcm47xx: fix USB driver choice for Asus WL-500W
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>
2017-02-15 23:43:19 +01:00
Rafał Miłecki
2406b3488f brcm47xx: generic: include Ethernet drivers in standard image
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-04 12:49:03 +01:00
Rafał Miłecki
b138e690e5 brcm47xx: generic: specify DEVICE_PACKAGES for all devices
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-04 11:55:45 +01:00
Rafał Miłecki
18152e71d8 brcm47xx: mips74k: specify DEVICE_PACKAGES for all devices
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-04 09:36:34 +01:00
Rafał Miłecki
1d74f78877 brcm47xx: legacy: specify DEVICE_PACKAGES for all devices
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>
2017-01-04 09:35:46 +01:00
Rafał Miłecki
b1bdb6e5ea brcm47xx: specify DEVICE_PACKAGES for Netgear WGT634U
This allows using it nicely with PER_DEVICE_ROOTFS.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Cc: Russell Senior <russell@personaltelco.net>
2016-12-30 09:22:55 +01:00
Rafał Miłecki
ef4fc00c91 brcm47xx: mips74k: fix typo in Netgear WN3000RP model name
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-12-29 09:41:00 +01:00
Felix Fietkau
a07c4977ac brcm47xx: fix initramfs image build error
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 10:20:27 +01:00
Rafał Miłecki
f20ba0f0d5 brcm47xx: image: use append-rootfs step for per-device rootfs support
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-28 17:03:55 +02:00
Rafał Miłecki
027b2c5b83 brcm47xx: image: make TRX steps work with rootfs passed as $@
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-28 16:46:57 +02:00
Rafał Miłecki
8bd2167236 brcm47xx: image: make linksys-pattern-partition leave specific file
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>
2016-10-28 16:41:05 +02:00
Rafał Miłecki
bc6be3e953 brcm47xx: add support for per-device rootfs
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-27 13:25:51 +02:00
Rafał Miłecki
13e6f7a75d brcm47xx: reorder older entries in image Makefile
Keep all entries sorted and replace tabs with spaces while at it.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-10-24 20:35:24 +02:00
Rafał Miłecki
6e64a38b00 brcm47xx: build also TRX image for Linksys WRT300N V1
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>
2016-10-24 10:34:59 +02:00
Rafał Miłecki
337f219130 brcm47xx: open code Makefile entries for all devices
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>
2016-10-24 10:33:33 +02:00
Felix Fietkau
63b525dd6b image: add a helper variable for getting kernel/rootfs from within image Build/* templates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 12:25:25 +02:00
Gabor Juhos
395fff6f8b brcm47xx: lzma-loader: fix cache invalidation
The current code only partially invalidates both caches
because the cache size and cache-line size values are
incorrectly passed to the C code.

Fix the assembly code to pass the arguments in the correct
order.

Compile tested only.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 49060
2016-03-21 13:15:22 +00:00
Gabor Juhos
f8933cbd5f brcm47xx: lzma-loader: remove trailing whitespaces from head.S
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 49059
2016-03-21 13:15:21 +00:00
Rafał Miłecki
210803df03 brcm47xx: image: create standard TRX images using new building system
Apart from using our new building system there are 2 more changes:

1) Limit amount of images
So far we were generating all standard images (optimized one and two
with no loader) for every SUBTARGET. This is not needed, as e.g. the
only device requiring gzipped kernel is legacy Huawei E970.

2) Change output names
The new image building system requires specifying device name. This
forced picking some and resulted in:
openwrt-brcm47xx-$(SUBTARGET)-squashfs.trx
openwrt-brcm47xx-$(SUBTARGET)-squashfs-gz.trx
openwrt-brcm47xx-$(SUBTARGET)-squashfs-noloader-nodictionary.trx
becoming:
openwrt-brcm47xx-$(SUBTARGET)-standard-squashfs.trx
openwrt-brcm47xx-$(SUBTARGET)-standard-noloader-gz-squashfs.trx
openwrt-brcm47xx-$(SUBTARGET)-standard-noloader-nodictionarylzma-squashfs.trx

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 49006
2016-03-11 21:31:34 +00:00
Rafał Miłecki
4e6e23582b brcm47xx: image: move disabled devices to the new building system
This only drops WGR614 V9 which has 2 MiB flash and it's unlikely to get
any interest.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48975
2016-03-09 06:34:29 +00:00
Rafał Miłecki
9a6ad203f6 brcm47xx: image: switch Linksys WRT54G3GV2-VF to the new building system
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48974
2016-03-09 06:34:25 +00:00
Rafał Miłecki
ee76a07fbf brcm47xx: image: switch Netgear WGT634U to the new building system
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48973
2016-03-08 18:33:25 +00:00
Rafał Miłecki
0d3da888d2 brcm47xx: image: switch rest of 64k block devices to the new building system
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48972
2016-03-08 18:33:22 +00:00
Rafał Miłecki
5e2930a888 brcm47xx: image: switch Motorola devices to the new building system
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48971
2016-03-08 18:33:19 +00:00
Rafał Miłecki
6eb0df3543 brcm47xx: image: switch D-Link DWL-3150 to the new building system
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48970
2016-03-08 18:33:16 +00:00
Rafał Miłecki
db7f2d9531 brcm47xx: add Netgear WN2500RP support
We generate V1 image only for now. We lack buttons support for V2.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 47682
2015-12-02 09:24:52 +00:00
Hauke Mehrtens
5caee877dc brcm47xx: increase max image size
the trx utile uses a maximum image size of 7.2MB. There are brcm47xx
devices even with serial flash with bigger flash chips, but OpenWrt was
not able to create images for these devices. This patch provides an
additional parameter which increases this limit to 32 MB. There is a
warning in the trx utile code which suggests that bigger images could
overwrite the nvram partition on some devices, but normally the program
writing the image should make sure that it is safe to write it to the
flash.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46872
2015-09-11 17:55:28 +00:00
Hauke Mehrtens
c9bebfb9ce brcm47xx: break long lines in image Makefile
This patch changes nothing on the behaviour, it just breaks long lines
with bin/trx to make it easier to add additional parameters.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46871
2015-09-11 17:54:55 +00:00
Rafał Miłecki
a9559efe43 brcm47xx: fix Linksys E1200 V2 image filename
Drop unwanted suffix (copy & paste mistake).

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 46742
2015-08-29 09:23:19 +00:00
Jonas Gorski
4ecae78c16 image.mk: replace all Build/netgear-chk with a generic implementation
Instead of letting each target define it themselves, create on in
include/image.mk and let the targets use it.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46596
2015-08-14 13:05:14 +00:00
Jonas Gorski
bee065262a brcm47xx: prefix netgear specific device variables with NETGEAR_
Rename BOARD_ID to NETGEAR_BOARD_ID and REGION to NETGEAR_REGION.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46594
2015-08-14 13:04:22 +00:00
Rafał Miłecki
92ebd6fdbe brcm47xx: image: fix typo in Asus WL-500gP v2 fw file name
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45811
2015-05-28 19:53:59 +00:00
Rafał Miłecki
69aefc771f brcm47xx: build images for Asus devices
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45789
2015-05-27 15:37:05 +00:00
Jo-Philipp Wich
048f46a075 brcm47xx: use common image prefix
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 45779
2015-05-27 15:04:02 +00:00
Rafał Miłecki
f08a10f2b9 brcm47xx: build image for Asus RT-N66U
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45774
2015-05-27 13:54:19 +00:00
Rafał Miłecki
c6f9582116 brcm47xx: image: use "-" separator for device version
This makes legacy subtarget follow two other.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45319
2015-04-09 05:40:37 +00:00
Rafał Miłecki
80971cd0f9 brcm47xx: image: use new (& fixed) FILESYSTEM variable for trx command
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45313
2015-04-08 09:50:57 +00:00
Rafał Miłecki
090a510576 brcm47xx: image: convert legacy Linksys & Netgear devices
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45184
2015-03-31 12:44:31 +00:00
Rafał Miłecki
4faba3cc2e brcm47xx: image: convert generic subtarget to the new images system
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45183
2015-03-31 12:17:08 +00:00
Rafał Miłecki
3d481d31ed brcm47xx: image: convert all mips74k images to the new building system
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45181
2015-03-31 11:26:50 +00:00
Rafał Miłecki
184c0af4e2 brcm47xx: image: add helpers for defining devices
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45180
2015-03-31 11:26:45 +00:00
Rafał Miłecki
6c1852cb26 brcm47xx: image: use standard KERNEL_IMAGE to avoid warnings
KERNEL_IMAGE is used as target rule so reusing the same name causes:
Makefile:326: warning: overriding recipe for target `bin/brcm47xx/vmlinux.lzma'
Makefile:326: warning: ignoring old recipe for target `bin/brcm47xx/vmlinux.lzma'
Makefile:326: warning: overriding recipe for target `build_dir/target-mipsel_74kc+dsp2_uClibc-0.9.33.2/linux-brcm47xx_mips74k/vmlinux.lzma'
Makefile:326: warning: ignoring old recipe for target `build_dir/target-mipsel_74kc+dsp2_uClibc-0.9.33.2/linux-brcm47xx_mips74k/vmlinux.lzma'

Unfortunately this will cause copying vmlinux.lzma over and over like:
cp vmlinux.lzma FOO-kernel.bin
which is redundant on brcm47xx where we never modify kernel image.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45178
2015-03-31 08:56:08 +00:00
Rafał Miłecki
463a449f84 brcm47xx: update Linksys firmwares (add new E2500 versions)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45173
2015-03-31 07:26:22 +00:00
Rafał Miłecki
1751676c8b brcm47xx: convert Netgear WNDR3700 V3 to the new image building system
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45144
2015-03-29 19:53:11 +00:00
Rafał Miłecki
8e4b74b9fe brcm47xx: convert Linksys E1200 V2 to the new image building system
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45143
2015-03-29 18:15:38 +00:00
Rafał Miłecki
1020b84266 brcm47xx: add early support for WNDR3400 V3
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43532
2014-12-07 00:58:40 +00:00
Rafał Miłecki
c84fe94b0d brcm47xx: add support for Netgear WGR614 V10
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43336
2014-11-20 22:15:21 +00:00
Rafał Miłecki
746b80f166 brcm47xx: image: create initramfs TRX nodictionary images
Signed-off-by: Stephen Parry <sgparry@mainscreen.com>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 42889
2014-10-13 05:53:33 +00:00