aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm63xx
Commit message (Collapse)AuthorAgeFilesLines
* bcm63xx: switch to upstream NAND patchesÁlvaro Fernández Rojas2020-06-119-35/+191
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: bcm6328: switch to upstream boot sel patchÁlvaro Fernández Rojas2020-06-072-13/+30
| | | | | | BCM6328 boot selection fix has been upstreamed. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add support for the Sercomm H500-sDaniel González Cabanelas2020-06-078-3/+350
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sercomm H500-s is an xDSL dual band wireless router based on Broadcom BCM63167 SoC. Hardware: SoC: Broadcom BCM63167 CPU: BMIPS4350 V8.0, 400 MHz, 2 cores Flash: NAND 128 MiB RAM: DDR3 128 MiB Ethernet: 4x 10/100/1000 Mbps Switch: BCM53134S Wireless: 802.11b/g/n: BCM435f (integrated) 802.11ac: Quantenna QT3740BC (onboard SoC) USB: 1x 2.0 LEDs/Buttons: 11x / 2x Flash instruction, web UI: 1. Reset to defaults using the reset button if the admin password is unknown 2. Login into the web UI as admin. Address: http://192.168.0.1 User: admin Password: VF-ESVodafone-H-500-s or l033i-h500s 3. Go to Settings -> Firmware Update, and select the Openwrt factory firmware 4. Update the firmware. 5. Wait until it finish, the device will reboot with Openwrt installed on the alternative image partitions keeping the stock firmware in the former. Notes: - The patch also adds support for the lowi version. Only the factory firmware is different. - The integrated Wifi in the Broadcom Soc isn't still supported. - The Quantenna 802.11ac wifi works ok, but needs to be configured with the Quantenna client application. It can't be configured with Luci nor any iw command since it's a separated subsystem linked via ethernet. - The BCM53134S external switch is managed via MDIO which isn't supported in this target. Therefore it will behave as a dumb switch. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* bcm63xx: image: support device-specific load addressÁlvaro Fernández Rojas2020-06-071-12/+10
| | | | | | | Some CFEs are located at the address currently used for relocation and lzma loader load address, so we need to provide a way to override it. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: image: don't add the CFE to the sercomm factoryDaniel González Cabanelas2020-06-071-12/+0
| | | | | | | | | | | | | | | There is no need to include the CFE bootloader in the Sercomm factory images. There might be a case when this could be useful: - We are running the stock firmware on the first Sercomm image - The second partition storing the botloader was erased (unlikely) Even in this case flashing an image without a bootlader is harmless. Don't include the bootloader in the factory image creation and rid of the risk of flashing factory images with an untested bootloader partition. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* bcm63xx: kernel: add BCM63167 cpuid variantDaniel González Cabanelas2020-06-073-24/+28
| | | | | | | | | The BCM63167 is a BCM63268 SoC with a different physical packaging. Add the CPU ID to allow supporting routers with this SoC (i.e Sercomm H500-s) Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* bcm63xx: vr-3032u: add missing compatible propertyÁlvaro Fernández Rojas2020-06-071-1/+1
| | | | | | SoC is a BCM63168. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: vg-8050: add missing compatible propertyÁlvaro Fernández Rojas2020-06-071-1/+1
| | | | | | SoC is a BCM63169. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: vg-8050: fix WFI partition sizeÁlvaro Fernández Rojas2020-06-031-1/+1
| | | | | | Each image can take up to 0x3d60000, which means 128k more per image. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: vr-3032u: fix WFI partition sizeÁlvaro Fernández Rojas2020-06-031-1/+1
| | | | | | Each image can take up to 0x3d60000, which means 128k more per image. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: lzma-loader: allow bigger ramdisksÁlvaro Fernández Rojas2020-06-032-4/+6
| | | | | | | | | | | | | | | | Some (older) CFEs are loaded at 0x80401000 and ramdisks are loaded at 0x80010000, which means that ramdisk size limit is 0x3F1000 (almost 4M). Therefore, current ramdisks (~4MB) are overwritting CFE in these devices, which results in a crash. This commit changes the address where ramdisks are loaded to 0x80a00000, which is the same address where kernel is loaded when booting from the flash. Therefore, lzma-loader will now be loaded at 0x80a00000, but it will still decompress the kernel at 0x80010000. Tested with huawei,hg556a-b, which has its CFE loaded at 0x80401000. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: ad1018: remove cfe.bin image supportÁlvaro Fernández Rojas2020-06-032-27/+1
| | | | | | | | | | | | Apparently, Sercomm allows loading a BCM WFI image via CFE, but this image destroys "serial" and "protect" nand partitions, which is wrong. It will also set both bootflags to the same value, which causes booting issues with cferam (cferom will alternatively boot from cferam1 or cferam2 each time the device is rebooted). Now that OEM Sercomm images are supported it's time to remove this hacky cfe.bin image support. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: ad1018: add missing partitionsÁlvaro Fernández Rojas2020-06-031-0/+12
| | | | | | This partitions were missing when support for this device was added. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: stop using legacy lzma for all devicesÁlvaro Fernández Rojas2020-06-031-54/+59
| | | | | | | | | BCM6368 and newer devices are compatible with any lzma compression parameters. Add a new legacy device definition and use it on BCM6358 and older devices. Compressed kernel size is reduced by ~1.35%. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: vg-8050: switch to bcm-wfi-splitÁlvaro Fernández Rojas2020-06-022-6/+6
| | | | | | | Allows to keep a backup firmware in case active firmware is corrupted. Also fix hsspi address warning. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: vr-3032u: switch to bcm-wfi-splitÁlvaro Fernández Rojas2020-06-022-3/+3
| | | | | | Allows to keep a backup firmware in case active firmware is corrupted. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: nand: order devices alphabeticallyÁlvaro Fernández Rojas2020-06-021-10/+10
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: nand: add CFE_WFI_VERSION values for each deviceÁlvaro Fernández Rojas2020-06-021-1/+5
| | | | | | CFE_WFI_VERSION should be defined per device instead of using a generic value. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: nand: sercomm: switch to sercomm-load scriptÁlvaro Fernández Rojas2020-06-021-5/+6
| | | | | | | xxd is not a valid dependency and shouldn't be used. Fixes buildbot failure. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: ad1018: support Sercomm factory imagesÁlvaro Fernández Rojas2020-06-021-1/+11
| | | | | | | This images can be flashed from the official firmware, as opposed to CFE images, which can only be flashed from CFE and require opening the case. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: nand: support Sercomm firmwaresÁlvaro Fernández Rojas2020-06-022-0/+67
| | | | | | Add support for Sercomm factory firmwares (AES 256 CBC encrypted). Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: ad1018: switch to Sercomm WFIÁlvaro Fernández Rojas2020-06-022-9/+6
| | | | | | | | Support Sercomm firmware partition split. WFI partition must be defined after bootflag partitions in order for the parser to properly find bootflag1 and bootflag2 partitions. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: ar-5315u: expose LEDs through controllerÁlvaro Fernández Rojas2020-05-241-36/+86
| | | | | | | Exposing LEDs through LED controller instead of gpio-leds takes advantage of HW blinking. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: ar-5387un: expose LEDs through controllerÁlvaro Fernández Rojas2020-05-241-26/+42
| | | | | | | Exposing LEDs through LED controller instead of gpio-leds takes advantage of HW blinking. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: ar-5381u: expose LEDs through controllerÁlvaro Fernández Rojas2020-05-241-19/+34
| | | | | | | Exposing LEDs through LED controller instead of gpio-leds takes advantage of HW blinking. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* brcm63xx: add support for ADB P.DG A4001N A-000-1A1-AXDaniele Castro2020-05-226-0/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ADB P.DG A4001N A-000-1A1-AX a.k.a. Telecom Italia ADSL2+ Wi-Fi N (AGPWI) has the same PCB as the OpenWrt's ADB P.DG A4001N1 with LEDs connected to different GPIO PINs in active low configuration. OpenWrt's ADB P.DG A4001N image is made for the ADB P.DG A4001N A-000-1A1-AE. It has different LEDs configuration and flash size/layout w.r.t the ADB P.DG A4001N A-000-1A1-AX. Hardware: * Board ID: 96328avng * SoC: Broadcom BCM6328 * RAM DDR2-800: 32 Mbyte - winbond W9725G6KB-25 * Serial flash: 16 Mbyte - MXIC MX25L 12845EMI-10G * Ethernet: 4x Ethernet 10/100 baseT * Wifi 2.4GHz: Broadcom Corporation BCM43224/5 Wireless Network Adapter (rev 01) * LEDs: 2x Power, 2x ADSL, 2x Internet, 2x Wi-Fi, 2x Service * Buttons: 1x Reset, 1x WPS (named WiFi/LED) * UART: 1x TTL 115200n8, TX NC RX, on J5 connector (short R192 and R193) NC GND NC Installation via CFE: * Stock CFE has to be overwriten with one for 96328avng boards that can upload .bin images with no signature check (cfe-A4001N-V0000_96328avng.bin) * connect a serial port to the board * Stop the boot process after power on by pressing enter * set static IP 192.168.1.2 and subnet mask 255.255.255.0 * navigate to http://192.168.1.1/ * upload the OpenWrt image file Signed-off-by: Daniele Castro <danielecastro@hotmail.it> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: use model part of board name as variable in 01_ledsAdrian Schmutzler2020-05-221-10/+11
| | | | | | | | This extracts the model part of the board name and uses it for the LED string identifiers in 01_leds. As this makes statements more generic, it will allow to merge more cases in the future. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: replace further "ok" with "okay" in DTS filesAdrian Schmutzler2020-05-224-9/+9
| | | | | | | While "ok" is recognized in DT parsing, only "okay" is actually mentioned as valid value. Replace it accordingly. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: WIP: add Huawei HG253s v2 supportÁlvaro Fernández Rojas2020-05-216-0/+265
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: nand: support CFE partition tagsÁlvaro Fernández Rojas2020-05-212-0/+22
| | | | | | | | Introduce support for generating JFFS2 CFE partition tags. This is used in NAND devices in order to verify the integrity of the JFFS2 partition. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: improve rgmii ctrl overridesÁlvaro Fernández Rojas2020-05-2127-60/+84
| | | | | | | There are older devices which require overriding the RGMII ports, so this shouldn't be limited and forced to BCM63268. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: dgnd3700-v1: add NAND supportÁlvaro Fernández Rojas2020-05-211-0/+26
| | | | | | | NAND is used as extra storage on this device. Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: nand: fix v2.1 controller supportÁlvaro Fernández Rojas2020-05-211-8/+40
| | | | | | Page size shift is different from v2.2+ controllers Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: lzma-loader: rely on CHIP_ID for UART addressÁlvaro Fernández Rojas2020-05-205-83/+32
| | | | | | | | lzma-loader uart output wasn't working on BCM3380/BCM6362 because these SoCs have the same processor ID. Let's use CHIP_ID for establishing the UART base address. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: lzma-loader: remove unused definitionsÁlvaro Fernández Rojas2020-05-202-22/+1
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: image: add CVG834G CHIP_IDÁlvaro Fernández Rojas2020-05-201-1/+1
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: image: rename CFE_CHIP_ID to CHIP_IDÁlvaro Fernández Rojas2020-05-203-101/+101
| | | | | | Rename CFE_CHIP_ID to a generic name that doesn't involve CFE. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: fix AD1018 WLAN ledÁlvaro Fernández Rojas2020-05-201-1/+3
| | | | | | | Standard AD1018 has lower case LEDs. Fixes: 5f826919232d ("bcm63xx: add unmodded SERCOMM AD1018 support") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add unmodded SERCOMM AD1018 supportÁlvaro Fernández Rojas2020-05-1912-7/+268
| | | | | | | | | Until now only HW modded SPI flash version was supported. BCM6328 with 64M RAM and 128M NAND. More info: https://openwrt.org/toh/sercomm/ad1018 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: bcm6328: fix strapbus boot selÁlvaro Fernández Rojas2020-05-192-1/+14
| | | | | | Boot selection bit is 18, not 28. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: reorganize board patchesÁlvaro Fernández Rojas2020-05-1949-0/+0
| | | | | | Let's put some order on board patches. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: bcm6328-leds: improve HW blinkingÁlvaro Fernández Rojas2020-05-191-0/+137
| | | | | | Add support for second HW blinking interval. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add Comtrend VG-8050 supportÁlvaro Fernández Rojas2020-05-195-0/+269
| | | | | | | | BCM63169 with 128M RAM, 128M NAND and BCM53125 switch. Switch is connected by HSSPI to CS5. More info: https://openwrt.org/toh/comtrend/vg8050 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add NETGEAR DGND3700v2 supportÁlvaro Fernández Rojas2020-05-196-2/+293
| | | | | | | | BCM6362 with 64M RAM, 32M NAND and BCM53125 switch. Switch is connected by MMAP, which is currently unsupported (no VLANs). More info: https://openwrt.org/toh/netgear/dgnd3700v2 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add support for Comtrend VR-3032uÁlvaro Fernández Rojas2020-05-186-2/+331
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: smp: add NAND supportÁlvaro Fernández Rojas2020-05-1821-5/+816
| | | | | | NAND controller is present on BCM6328, BCM6362, BCM6368 and BCM63268. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: mask interrupts on initÁlvaro Fernández Rojas2020-05-171-0/+12
| | | | | | | Fixes BCM6348/BCM6358 hangs while booting: https://bugs.openwrt.org/index.php?do=details&task_id=2202 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: periph_intc: report effective affinityDaniel Gonzalez Cabanelas2020-05-141-0/+20
| | | | | | | | | | | The bcm6345-periph-intc driver only targets a single CPU at a time, even if the notional affinity is wider. Let's inform the core code about this. This patch gets rid of the kernel message: "genirq: irq_chip bcm6345-periph-intc did not update eff. affinity mask of irq 52" Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
* bcm63xx: ext_intc: fix warningÁlvaro Fernández Rojas2020-05-141-0/+28
| | | | | | | | | | | | | | | | | In file included from ./arch/mips/include/asm/io.h:34, from ./arch/mips/include/asm/mmiowb.h:5, from ./include/linux/spinlock.h:60, from ./include/linux/irq.h:14, from drivers/irqchip/irq-bcm6345-ext.c:10: drivers/irqchip/irq-bcm6345-ext.c: In function 'bcm6345_ext_intc_of_init': ./arch/mips/include/asm/mach-bcm63xx/ioremap.h:48:9: warning: 'base' may be used uninitialized in this function [-Wmaybe-uninitialized] return is_bcm63xx_internal_registers((unsigned long)addr); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/irqchip/irq-bcm6345-ext.c:255:16: note: 'base' was declared here void __iomem *base; ^~~~ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: periph_intc: fix warningÁlvaro Fernández Rojas2020-05-141-0/+20
| | | | | | | | | drivers/irqchip/irq-bcm6345-periph.c: In function 'bcm6345_periph_irq_handle': drivers/irqchip/irq-bcm6345-periph.c:55:21: warning: 'block' may be used uninitialized in this function [-Wmaybe-uninitialized] struct intc_block *block; ^~~~~ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>