Commit graph

943 commits

Author SHA1 Message Date
Jonas Gorski
509c3211d6 brcm63xx: Add Huawei HG655b support
This patch adds support for the Huawei HG655b.

Nothing much special in this router, it's just another BCM6368 with
a Ralink RT3062 wifi chip and the calibration data embedded in the
main flash chip at offset 0x7c0000. There is also configuration data
used by the OEM firmware before the cal_data partition, this area is
protected by the board_data partition in this patch.

Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45708
2015-05-21 19:31:54 +00:00
Jonas Gorski
9feb1361c4 brcm63xx: fix bcm6348 ext irqc compatible name
This was a remnant of an old version.

Reported-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45583
2015-04-27 11:06:05 +00:00
Jonas Gorski
5e7f4ab632 brcm63xx: fix bcm3368.dtsi typo.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45582
2015-04-27 11:06:00 +00:00
Jonas Gorski
16127b3429 brcm63xx: fix leds bcm963269bhr
Fix the led naming and gpios.

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

SVN-Revision: 45558
2015-04-21 17:00:39 +00:00
Jonas Gorski
5e8eedb897 brcm63xx: add missing bcm96329bhr profile and dts
Hopefully the last missing board.

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

SVN-Revision: 45557
2015-04-21 16:43:46 +00:00
Jonas Gorski
681eb8c3de brcm63xx: fix bcm63268 rgmii port rgmii configuration
This should rather be done by passing appropriate platform_data/OF, but
should suffice for now.

Fixes e.g. GbE ports on BCM963268BU_P300.

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

SVN-Revision: 45505
2015-04-19 11:38:42 +00:00
Jonas Gorski
440124dcbb brcm63xx: allow using all four rgmii ports on bcm6316x
At least the third rgmii port is available on 63169, so assume all are
available. Simplifies cpu vs. variant handling.

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

SVN-Revision: 45504
2015-04-19 11:38:24 +00:00
Jonas Gorski
c1ea714d43 brcm63xx: BCM963268BU_P300 reference board fixes
- Fix profile name.
- Rremove whitespace on board patch.
- Refresh patches.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45499
2015-04-18 22:33:50 +00:00
Jonas Gorski
6232e845da brcm63xx: fix bcm96318ref_p300 profile name
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45486
2015-04-18 09:34:17 +00:00
Felix Fietkau
e8126cbfbd kernel: remove kernel module checks/dependencies for 3.14
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45377
2015-04-11 10:43:46 +00:00
Jonas Gorski
a709beb4ae brcm63xx: fix zyxel kernel name
Accidentally left over development artifact.

Reported-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45179
2015-03-31 09:54:15 +00:00
Jonas Gorski
a54b8303d2 brcm63xx: don't build non-dtb kernels anymore
Now that all supported boards have an dts there is no need for a
dtb free kernel anymore.

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

SVN-Revision: 45169
2015-03-30 20:21:24 +00:00
Jonas Gorski
0f08442ded brcm63xx: move DSL-275XB to DT
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45168
2015-03-30 20:21:15 +00:00
Jonas Gorski
f77b446051 brcm63xx: move bcm6318 reference boards to DT
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45167
2015-03-30 20:21:07 +00:00
Jonas Gorski
f644c1581a brcm63xx: move VG50 to DT
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45166
2015-03-30 20:21:01 +00:00
Jonas Gorski
f973580488 brcm63xx: move V2110 to DT
Also readd image generation which was accidentally dropped in r43364.

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

SVN-Revision: 45165
2015-03-30 20:20:49 +00:00
Jonas Gorski
d8ba40cfcd brcm63xx: use relocate to move the kernel back to start of ram
Appearently the kernel only uses kernel above it, so moving it to an
higher address causes a lot of unavailable memory (#19327).

Also move the on-flash kernel to 0x80a0000, as newer CFEs don't like
uncompressing there (net-booting an ELF kernel is fine, though).

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

SVN-Revision: 45164
2015-03-30 20:20:15 +00:00
Felix Fietkau
693e5aae41 brcm63xx: remove linux 3.14 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45089
2015-03-28 13:21:09 +00:00
Jonas Gorski
8ffc831bef brcm63xx: use a lookup for bcmcia's ready gpio
Should fix pcmcia on BCM6348 and BCM6358 after switching to DT-probed
gpio controllers.

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

SVN-Revision: 44995
2015-03-25 15:37:38 +00:00
Jonas Gorski
1e07f8c7ff brcm63xx: fix bcm96328avng board name
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44994
2015-03-25 15:36:26 +00:00
Jonas Gorski
4dc169f9a2 brcm63xx: fix bt v2500v dts based detection
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44993
2015-03-25 15:36:15 +00:00
Jonas Gorski
10cdfd04e6 brcm63xx: move RTA770(B)W to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44992
2015-03-25 15:36:12 +00:00
Jonas Gorski
0e4c1ba284 brcm63xx: move MAGIC to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44991
2015-03-25 15:36:05 +00:00
Jonas Gorski
582dfc52f5 brcm63xx: move CPVA502+ to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44990
2015-03-25 15:35:57 +00:00
Jonas Gorski
46b4d4d1d5 brcm63xx: move dg834g v4 to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44989
2015-03-25 15:35:43 +00:00
Jonas Gorski
30a579c674 brcm63xx: move dsl-2640u to dts
Also build image again(?).

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

SVN-Revision: 44988
2015-03-25 15:35:37 +00:00
Jonas Gorski
16ea19053a brcm63xx: move bcm963268bu_p300 to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44987
2015-03-25 15:35:24 +00:00
Jonas Gorski
ad218d3033 brcm63xx: fix compilation on 3.14
Fixes the following issue:

drivers/gpio/gpio-bcm63xx.c: In function 'bcm63xx_gpio_probe':
drivers/gpio/gpio-bcm63xx.c:80:4: error: implicit declaration of function 'devm_kasprintf' [-Werror=implicit-function-declaration]

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

SVN-Revision: 44986
2015-03-25 15:35:15 +00:00
Jonas Gorski
2d3371cd0f brcm63xx: Add BT Home Hub 2A support.
Support for the BT HomeHub 2.0 Type A.

This router was manufactured by Thomson, and it's BCM6358 based.
The leds are controled by two chained HC594, all working ok. The BCM5325
switch has the RESET# pin wired to the GPIO15, but currently there is no
way to tell the b53 driver how to get this gpio number in brcm63xx,
therefore swconfig won't use it when performing a switch reset.

The patch was tested with several firmwares, and all except unsupported
stuff (i.e xDSL) works pretty well.

Tested-by: Tahir <tahir00ali@gmail.com>
Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>

SVN-Revision: 44985
2015-03-25 15:35:12 +00:00
Jonas Gorski
065d6e9047 brcm63xx: move kernel load address to 8MiB
Fixes boot when uncompressed kernel is > 4 MiB (#19251).

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

SVN-Revision: 44984
2015-03-25 15:34:59 +00:00
Jonas Gorski
ee0140a678 brcm63xx: hcsimage: respect load address
Respect the vmlinux load address when generating images.

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

SVN-Revision: 44983
2015-03-25 15:34:45 +00:00
Jonas Gorski
d84fafb9f3 brcm63xx: add Livebox 1 firmware image generation
Currently there isn't images ready for flashing liveboxes boards. This
patch adds a script and the code to call it in the  bcm63xx images
builder makefile to generate the livebox 1 firmware.

I removed some lines to avoid generating unneded files in the bin/ dir
for this board. And added code to generate a squashed rootfs aligned to
64 kB since the current one in the /bin dir is 128 kB aligned and
doesn't work. Still no sysupgrade support for this board. Upgrading from
within openwrt can be done writing with mtd the kernel, and then the 64k
aligned rootfs.

Regards

Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
[jogo: use sed instead of a separate shell script for the boot script, make it
 respect the load address]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44982
2015-03-25 15:34:40 +00:00
Jonas Gorski
77e3d442b0 brcm63xx: add a dummy image recipe for boards missing proper images
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44981
2015-03-25 15:34:26 +00:00
Jonas Gorski
02d68c2b57 brcm63xx: drop non-dtb image recipe
All images generated contain dtbs, so it is now unused.

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

SVN-Revision: 44980
2015-03-25 15:34:23 +00:00
Florian Fainelli
1488ed7c2c brcm63xx: switch maintainer
Make Jonas the maintainer of brcm63xx.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 44848
2015-03-16 19:51:17 +00:00
Jonas Gorski
343ec8d645 brcm63xx: use consistent gpio chip labeling for OF/non-OF
Ensure gpio chips are always labeled the same; this allows simplifying
any arch setup gpio lookups.

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

SVN-Revision: 44846
2015-03-16 13:37:38 +00:00
Jonas Gorski
81e51681e7 brcm63xx: switch to 3.18
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44841
2015-03-16 11:53:22 +00:00
Jonas Gorski
5d0e2d1b41 brcm63xx: call brcm63xx_detect explicitly
Now that we have converted all users of global variables to use
brcm63xx_board_name, we can savely convert the implicit call to detect
in brcm63xx.sh to a single, explicit call in preinit.

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

SVN-Revision: 44840
2015-03-16 11:53:14 +00:00
Jonas Gorski
020e5733f9 brcm63xx: move preinit ifname detection to the preinit script
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44839
2015-03-16 11:53:06 +00:00
Jonas Gorski
90da308e3b brcm63xx: remove obsolete brcm63xx_has_reset_button
r37000 made button kmods loaded from generic code, so we don't use
it anymore for deciding to load them.

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

SVN-Revision: 44838
2015-03-16 11:52:57 +00:00
Jonas Gorski
f0badcb769 brcm63xx: set status leds from within diag.sh
Instead of setting them up on invocation of brcm63xx_detect, set them
when calling diag.sh based.

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

SVN-Revision: 44837
2015-03-16 11:52:49 +00:00
Jonas Gorski
098377af25 brcm63xx: switch to board_name based configuration
Board IDs are not unique, so in preparation for depricating them, always
use board_name for any (default) configuration decisions.

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

SVN-Revision: 44836
2015-03-16 11:52:42 +00:00
Jonas Gorski
52ffc6faa7 brcm63xx: add missing board_ids to legacy_detect
These boards do not have a corresponding dts file yet.

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

SVN-Revision: 44835
2015-03-16 11:52:35 +00:00
Jonas Gorski
906c9ef952 brcm63xx: add device tree based board detection
Use the device tree model property for detecting the board instead
of board id from nvram if present.

Since we can now directly detect the DVA-G3810BN, we can remove the
extra check for it.

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

SVN-Revision: 44834
2015-03-16 11:52:26 +00:00
Jonas Gorski
844e92e188 brcm63xx: populate /tmp/sysinfo
Take full board name from devicetree, if present. Provide a method
for retrieving the board name.

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

SVN-Revision: 44833
2015-03-16 11:52:20 +00:00
Jonas Gorski
9c53e344c0 brcm63xx: base-files: rename board_name to board_id
Rename board_name to board_id to prepare for using board_name as a
proper name for the board.

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

SVN-Revision: 44832
2015-03-16 11:52:16 +00:00
Jonas Gorski
ca7f6d28c8 brcm63xx: Add DGND3700 v1 / DGND3800B support
This adds support for the Netgear DGND3700 v1 and DGND3800B.

DGND3700 v1 and DGND3800B are exactly the same router, only one difference,
the factory firmware. This patch produces two factory firmwares for each router.

The router includes an onboard NAND flash for extra storage. NAND is currently
not supported in bcm63xx, so no code added for this part. The NOR flash (32MB)
is enough for storing an openwrt firmware.

Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
[jogo: Add back commit message from v1]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44831
2015-03-16 11:52:10 +00:00
Jonas Gorski
eed031d460 brcm63xx: brcm63xxpart: fix buffer overrun in of parser
We never account for the added partitions from the tag parser, so
allocated two partioness less than needed. This can cause issues when
the memory gets reused before the mtd code can actually add the
partitions.

Fixes oopses like:
[    0.920000] mtd: device 2 (rootfs) set to be root filesystem
[    0.924000] 1 squashfs-split partitions found on MTD device rootfs
[    0.932000] 0x0000002e0000-0x0000003f0000 : "rootfs_data"
[    0.940000] 0x000000010000-0x0000003f0000 : "linux"
[    0.948000] CPU 0 Unable to handle kernel paging request at virtual address 00010203, epc == 8028ddf8, ra == 801ad5d4
[    0.956000] Oops[#1]:
[    0.956000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.18.8 #22
[    0.956000] task: 8181da78 ti: 8181e000 task.ti: 8181e000
[    0.956000] $ 0   : 00000000 10008f00 00010203 81049e40
[    0.956000] $ 4   : 00010203 000000d0 00000000 000000fd
[    0.956000] $ 8   : 00000000 80015490 00000000 80370000
[    0.956000] $12   : 00000000 00000001 00000000 2f736269
[    0.956000] $16   : 00010203 000000d0 8007bde0 81482000
[    0.956000] $20   : 00000000 00000004 81481f80 803c4b78
[    0.956000] $24   : 00000000 00000000
[    0.956000] $28   : 8181e000 8181fbe8 80b20000 801ad5d4
[    0.956000] Hi    : 00000000
[    0.956000] Lo    : 00000000
[    0.956000] epc   : 8028ddf8 strlen+0x4/0x20
[    0.956000]     Not tainted
[    0.956000] ra    : 801ad5d4 kstrdup+0x30/0x84
[    0.956000] Status: 10008f03 KERNEL EXL IE
[    0.956000] Cause : 00800008
[    0.956000] BadVA : 00010203
[    0.956000] PrId  : 0002a010 (Broadcom BMIPS4350)
[    0.956000] Modules linked in:
[    0.956000] Process swapper/0 (pid: 1, threadinfo=8181e000, task=8181da78, tls=00000000)
[    0.956000] Stack : 8148aa00 803c4bcc 00000000 801cd9d0 00000000 8148a400 818a1400 003f0000
          81482000 8007bde0 8148aa00 800ac78c 8148aa00 00000004 8037ae30 8181fc4c
          8148aa00 803bc074 803c0000 80074b84 00000000 00010000 00000004 ffffffff
          8037ae30 00000004 8148aa00 00000004 803c4b80 818a1400 803c0000 00000005
          81481f80 80074ce0 8181fc84 00000005 81879800 8008ece4 00000000 003f0000
          ...
[    0.956000] Call Trace:
[    0.956000] [<8028ddf8>] strlen+0x4/0x20
[    0.956000] [<801ad5d4>] kstrdup+0x30/0x84
[    0.956000] [<8007bde0>] allocate_partition+0x58/0x93c
[    0.956000] [<80074ce0>] add_mtd_partitions+0x90/0x144
[    0.956000] [<801cc228>] mtd_device_parse_register+0x78/0xcc
[    0.956000] [<801e7870>] of_flash_probe+0x658/0x728
[    0.956000] [<80216ee0>] platform_drv_probe+0x24/0x60
[    0.956000] [<801221f4>] driver_probe_device+0xcc/0x214
[    0.956000] [<800466f8>] __driver_attach+0x7c/0xb4
[    0.956000] [<800c38bc>] bus_for_each_dev+0x94/0xa4
[    0.956000] [<800c35e4>] bus_add_driver+0x104/0x1ec
[    0.956000] [<80122400>] driver_register+0xac/0x100
[    0.956000] [<80113a5c>] do_one_initcall+0x148/0x204
[    0.956000] [<803cbd1c>] kernel_init_freeable+0x168/0x220
[    0.956000] [<800157bc>] kernel_init+0x10/0x114
[    0.956000] [<800108a8>] ret_from_kernel_thread+0x14/0x1c
[    0.956000]
[    0.956000]
Code: 03e00008  27bd0028  00801021 <80430000> 10600003  00000000  080a377e  24420001  03e00008
[    1.192000] ---[ end trace 9d89ccbcae27fe40 ]---
[    1.200000] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    1.200000]
[    1.200000] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

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

SVN-Revision: 44787
2015-03-15 14:19:22 +00:00
Jonas Gorski
9d893d39bd brcm63xx: kmod-bcm63xx-udc: fix module path for 3.18+
Fix the module path for linux 3.18+.

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

SVN-Revision: 44785
2015-03-15 14:19:10 +00:00
Jonas Gorski
12301a79b7 brcm63xx: fix 6368 cpu1 reg typo
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44784
2015-03-15 14:19:07 +00:00