Commit Graph

31 Commits (d8c4cc64ba6cabb2e3be28c7b4539a95115119ce)

Author SHA1 Message Date
Jonas Gorski d8c4cc64ba brcm63xx: move MAGIC to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44991 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-25 15:36:05 +00:00
Jonas Gorski d12962e510 brcm63xx: move CPVA502+ to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44990 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-25 15:35:57 +00:00
Jonas Gorski a83d3cc6b3 brcm63xx: move dg834g v4 to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44989 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-25 15:35:43 +00:00
Jonas Gorski 910fe9678c brcm63xx: move dsl-2640u to dts
Also build image again(?).

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44988 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-25 15:35:37 +00:00
Jonas Gorski a0c7ba2eae brcm63xx: move bcm963268bu_p300 to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44987 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-25 15:35:24 +00:00
Jonas Gorski 5f59daeb04 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44985 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-25 15:35:12 +00:00
Jonas Gorski 1e7bcd00a9 brcm63xx: move kernel load address to 8MiB
Fixes boot when uncompressed kernel is > 4 MiB (#19251).

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44984 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-25 15:34:59 +00:00
Jonas Gorski ad99d83746 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44846 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-16 13:37:38 +00:00
Jonas Gorski 83842af347 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44831 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-16 11:52:10 +00:00
Jonas Gorski 784dac57be 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44787 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-15 14:19:22 +00:00
Jonas Gorski 0dbd48d3ca brcm63xx: fix ethernet breakage in 3.18
Linux commit d75b1ade567ffab ("net: less interrupt masking in NAPI")
chose the samantics of the napi poll return value, which caused napi to
not resume interrups/polling anymore.

Fix the return value to restore expected behaviour.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44576 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-28 19:59:46 +00:00
Jonas Gorski 479b835df8 brcm63xx: fix BCM63268 interrupt register locations for legacy probe
Legacy probe passed the IRQSTAT registers instead of the IRQMASK
registers causing all register accesses to be offset by 16 bytes.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44575 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-28 19:59:34 +00:00
Jonas Gorski cd2b8886d9 brcm63xx: fix gpio register usage
The driver expected data then dir, but both dts and legacy code passed
dir then data. Fix this by making the driver expect the registers in
ascending order, i.e. dir then data.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44574 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-28 19:59:26 +00:00
Jonas Gorski a231c4ed45 brcm63xx: backport and enable DT spi-gpio no CS support
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44570 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 23:48:48 +00:00
Jonas Gorski 48fa0c4ca1 brcm63xx: fix image generation and broken patch
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44569 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 23:48:32 +00:00
Jonas Gorski c5696515d1 brcm63xx: remove gpio base workaround
Now that all gpio users without named gpios use DT, we do not need
to fix the gpio controller bases anymore.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44567 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 17:40:09 +00:00
Jonas Gorski 2c0570fc01 brcm63xx: move buttons and leds to dts files
Register buttons and leds through DT for all available dts,
and remove them from the board files.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
[jogo: remove leds/buttons from board files
       fix wrong led polarities for dsl-274xb-c2, cpva642, p870hw
       comment out spi-gpio and associated leds]

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44566 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 17:40:04 +00:00
Jonas Gorski 5b8524b03d brcm63xx: probe gpio controllers through DT
Add a generic mmio gpio controller based driver and probe it
through device tree.

Use aliases for base calculation until we converted all users to
device tree or named gpios.

Convert bcm63xx_enet's ephy-reset gpio to use a named gpio.

While at it, remove the duplicate reset gpio defintion for livebox.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44565 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 17:39:49 +00:00
Jonas Gorski 3c7cb10dba brcm63xx: convert BTV2500V to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44564 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 17:39:29 +00:00
Jonas Gorski e26e12a77e brcm63xx: convert RTA1320 to dts
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44563 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 17:39:21 +00:00
Jonas Gorski 07e83d3b46 brcm63xx: add dts and profile for Livebox
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44559 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 17:38:46 +00:00
Jonas Gorski 02ce1ebb75 package: mtd: move bcm963xx_tag definition into source code
Remove the need for the header file to be exported - we don't need most
of it anyway; all we care about are the offset of the rootfs length and
header crc fields.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44557 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 17:38:25 +00:00
Jonas Gorski 4bf6221ffa brcm63xx: fix a few issues in irq chip drivers
Fix locking and lock usage, making it compile for SMP.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43578 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-08 16:11:52 +00:00
Jonas Gorski 6a08b06f74 brcm63xx: refresh patches
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43576 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-08 16:11:26 +00:00
Jonas Gorski 54965c89e6 brcm63xx: add DT support for USR9108
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43575 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-08 16:11:08 +00:00
Jonas Gorski b1dd47bd05 brcm63xx: add DT support for F5D7633
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43574 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-08 16:11:03 +00:00
Jonas Gorski 20466bd2d2 brcm63xx: add DT support for DG834GT/PN
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43573 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-08 16:10:54 +00:00
Jonas Gorski 544265862f brcm63xx: add DT support for TD-W8900GB
According to the vendor tarball, the TD-w8900GB's flash has 64k erase
block size, but CFE spans two blocks. So fixup the image offset
accordingly but keep block size at its default (64k).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
[jogo: add commit message, add image offset, change nvram offset]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43572 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-08 16:10:46 +00:00
Jonas Gorski 98f63520b4 brcm63xx: add DT support for DSL-2640B
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43571 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-08 16:10:41 +00:00
Jonas Gorski 5977a64512 brcm63xx: add DT support for CPVA642
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43570 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-08 16:10:17 +00:00
Jonas Gorski a91ec2f50f brcm63xx: add kernel 3.18 support
Add 3.18 support based on 3.18-rc6. Only netboot tested.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43461 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 13:27:26 +00:00