diff options
author | Daniele Castro <danielecastro@hotmail.it> | 2020-09-10 21:14:11 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2020-12-06 19:17:41 +0100 |
commit | 59c2f9eaad5688af523ff60d2f83d5d81447009b (patch) | |
tree | f352ac3176fb174445f5539594935d089e057083 /target/linux/bcm63xx/patches-5.4 | |
parent | c143fbc5f1a505f7c108f9b0c7f71517fb5cee50 (diff) | |
download | upstream-59c2f9eaad5688af523ff60d2f83d5d81447009b.tar.gz upstream-59c2f9eaad5688af523ff60d2f83d5d81447009b.tar.bz2 upstream-59c2f9eaad5688af523ff60d2f83d5d81447009b.zip |
bcm63xx: add support for Technicolor TG582n
Technicolor TG582n has a similar PCB as the OpenWrt's ADB P.DG A4001N1
with LEDs connected to different GPIO PINs in active low configuration.
Hardware:
* Board ID: DANT-1
* SoC: Broadcom BCM6328 (rev b0) @ 320MHz, CPU BMIPS4350
* RAM DDR2: 64 Mbyte - Winbond W9751G6KB-25
* Serial flash: 16 Mbyte - MXIC MX25L6445EMI
* Ethernet: 4x Ethernet 10/100 baseT
* Wifi 2.4GHz: Broadcom Corporation BCM43227 Wireless Network Adapter (rev 30)
* LEDs: 2x Power, 1x Ethernet, 1x Broadband, 2x Wi-Fi, 2x WPS, 4x ethernet
* Buttons: 1x Reset, 1x WPS, 1x WiFi
* UART: 1x TTL 115200n8, VCC GND TX RX, on J3 connector (short R62 and R63)
Installation via CFE:
* Stock CFE has to be overwritten with a generic 6328 one that can upload
.bin images with no signature check (cfe6328_configured.bin)
* Connect a serial port to the board
* Stop the CFE boot process after power on by pressing enter
* Set static IP 192.168.2.10 and subnet mask 255.255.255.0
* Navigate to http://192.168.2.50/
* Upload the OpenWrt image file
PCB: |GPIO: |TG582n:
LED2R |488(08) |red Power
LED2G |484(04) |green Power
LED10R |486(06) |
LED13G |485(05) |green Ethernet
LED11R |494(14) |
LED14G |491(11) |green Broadband
LED5R |487(07) |red Internet
LED5G |481(01) |green Internet
LED12R |498(18) |
LED12G |499(19) |
LED6R |482(02) |red Wi-Fi
LED6G |483(03) |green Wi-Fi
LED7R |490(10) |red WPS
LED7G |489(09) |green WPS
LED4 |508(28) |ethernet port 4
LED3 |507(27) |ethernet port 3
LED9 |506(26) |ethernet port 2
LED8 |505(25) |ethernet port 1
SW3 |503(23) |key Reset
SW5 |504(24) |key WPS
SW4 |495(15) |key Wi-Fi
SW6 |493(13) |
SW1 |492(12) |
Signed-off-by: Daniele Castro <danielecastro@hotmail.it>
[Fix base-files, refresh patch]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm63xx/patches-5.4')
9 files changed, 71 insertions, 26 deletions
diff --git a/target/linux/bcm63xx/patches-5.4/512-board_bcm6328.patch b/target/linux/bcm63xx/patches-5.4/512-board_bcm6328.patch index ebe1ac4d94..ae0c538660 100644 --- a/target/linux/bcm63xx/patches-5.4/512-board_bcm6328.patch +++ b/target/linux/bcm63xx/patches-5.4/512-board_bcm6328.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -348,6 +348,568 @@ static struct board_info __initdata boar +@@ -348,6 +348,611 @@ static struct board_info __initdata boar }, }, }; @@ -524,6 +524,49 @@ + }, +}; + ++static struct board_info __initdata board_TG582N = { ++ .name = "DANT-1", ++ .expected_cpu_id = 0x6328, ++ ++ .has_pci = 1, ++ .has_ohci0 = 1, ++ .has_ehci0 = 1, ++ .num_usbh_ports = 1, ++ ++ .has_enetsw = 1, ++ .enetsw = { ++ .used_ports = { ++ [0] = { ++ .used = 1, ++ .phy_id = 1, ++ .name = "Port 1", ++ }, ++ [1] = { ++ .used = 1, ++ .phy_id = 2, ++ .name = "Port 2", ++ }, ++ [2] = { ++ .used = 1, ++ .phy_id = 3, ++ .name = "Port 3", ++ }, ++ [3] = { ++ .used = 1, ++ .phy_id = 4, ++ .name = "Port 4", ++ }, ++ }, ++ }, ++ ++ .use_fallback_sprom = 1, ++ .fallback_sprom = { ++ .type = SPROM_BCM43225, ++ .pci_bus = 1, ++ .pci_dev = 0, ++ }, ++}; ++ +static struct board_info __initdata board_TG582N_TELECOM_ITALIA = { + .name = "DANT-V", + .expected_cpu_id = 0x6328, @@ -569,7 +612,7 @@ #endif /* CONFIG_BCM63XX_CPU_6328 */ /* -@@ -703,6 +1265,18 @@ static const struct board_info __initcon +@@ -703,6 +1308,19 @@ static const struct board_info __initcon #endif /* CONFIG_BCM63XX_CPU_6318 */ #ifdef CONFIG_BCM63XX_CPU_6328 &board_96328avng, @@ -583,12 +626,13 @@ + &board_FAST2704V2, + &board_PDG_A4001N_A_000_1A1_AX, + &board_PDG_A4101N_A_000_1A1_AE, ++ &board_TG582N, + &board_TG582N_TELECOM_ITALIA, + &board_R5010UNV2, #endif /* CONFIG_BCM63XX_CPU_6328 */ #ifdef CONFIG_BCM63XX_CPU_6338 &board_96338gw, -@@ -742,7 +1316,21 @@ static struct of_device_id const bcm963x +@@ -742,7 +1360,22 @@ static struct of_device_id const bcm963x { .compatible = "sagem,fast-2704n", .data = &board_FAST2704N, }, #endif /* CONFIG_BCM63XX_CPU_6318 */ #ifdef CONFIG_BCM63XX_CPU_6328 @@ -606,6 +650,7 @@ + { .compatible = "sagem,fast-2704-v2", .data = &board_FAST2704V2, }, + { .compatible = "sercomm,ad1018", .data = &board_AD1018, }, + { .compatible = "sercomm,ad1018-nor", .data = &board_AD1018, }, ++ { .compatible = "technicolor,tg582n", .data = &board_TG582N, }, + { .compatible = "technicolor,tg582n-telecom-italia", .data = &board_TG582N_TELECOM_ITALIA, }, #endif /* CONFIG_BCM63XX_CPU_6328 */ #ifdef CONFIG_BCM63XX_CPU_6338 diff --git a/target/linux/bcm63xx/patches-5.4/513-board-bcm6338.patch b/target/linux/bcm63xx/patches-5.4/513-board-bcm6338.patch index 1b3110a2ae..9319f974ac 100644 --- a/target/linux/bcm63xx/patches-5.4/513-board-bcm6338.patch +++ b/target/linux/bcm63xx/patches-5.4/513-board-bcm6338.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -943,6 +943,32 @@ static struct board_info __initdata boar +@@ -986,6 +986,32 @@ static struct board_info __initdata boar .force_duplex_full = 1, }, }; @@ -33,7 +33,7 @@ #endif /* CONFIG_BCM63XX_CPU_6338 */ /* -@@ -1281,6 +1307,8 @@ static const struct board_info __initcon +@@ -1325,6 +1351,8 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6338 &board_96338gw, &board_96338w, @@ -42,7 +42,7 @@ #endif /* CONFIG_BCM63XX_CPU_6338 */ #ifdef CONFIG_BCM63XX_CPU_6345 &board_96345gw2, -@@ -1335,6 +1363,8 @@ static struct of_device_id const bcm963x +@@ -1380,6 +1408,8 @@ static struct of_device_id const bcm963x #ifdef CONFIG_BCM63XX_CPU_6338 { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, }, { .compatible = "brcm,bcm96338w", .data = &board_96338w, }, diff --git a/target/linux/bcm63xx/patches-5.4/514-board_bcm6345.patch b/target/linux/bcm63xx/patches-5.4/514-board_bcm6345.patch index e037b321ac..3b1f2842b5 100644 --- a/target/linux/bcm63xx/patches-5.4/514-board_bcm6345.patch +++ b/target/linux/bcm63xx/patches-5.4/514-board_bcm6345.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -979,6 +979,19 @@ static struct board_info __initdata boar +@@ -1022,6 +1022,19 @@ static struct board_info __initdata boar .name = "96345GW2", .expected_cpu_id = 0x6345, }; @@ -20,7 +20,7 @@ #endif /* CONFIG_BCM63XX_CPU_6345 */ /* -@@ -1312,6 +1325,7 @@ static const struct board_info __initcon +@@ -1356,6 +1369,7 @@ static const struct board_info __initcon #endif /* CONFIG_BCM63XX_CPU_6338 */ #ifdef CONFIG_BCM63XX_CPU_6345 &board_96345gw2, @@ -28,7 +28,7 @@ #endif /* CONFIG_BCM63XX_CPU_6345 */ #ifdef CONFIG_BCM63XX_CPU_6348 &board_96348r, -@@ -1368,6 +1382,8 @@ static struct of_device_id const bcm963x +@@ -1413,6 +1427,8 @@ static struct of_device_id const bcm963x #endif /* CONFIG_BCM63XX_CPU_6338 */ #ifdef CONFIG_BCM63XX_CPU_6345 { .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, }, diff --git a/target/linux/bcm63xx/patches-5.4/515-board-bcm6348.patch b/target/linux/bcm63xx/patches-5.4/515-board-bcm6348.patch index c4fe0da97b..eb3eb26dd0 100644 --- a/target/linux/bcm63xx/patches-5.4/515-board-bcm6348.patch +++ b/target/linux/bcm63xx/patches-5.4/515-board-bcm6348.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1178,6 +1178,275 @@ static struct board_info __initdata boar +@@ -1221,6 +1221,275 @@ static struct board_info __initdata boar .has_ohci0 = 1, }; @@ -276,7 +276,7 @@ #endif /* CONFIG_BCM63XX_CPU_6348 */ /* -@@ -1336,6 +1605,19 @@ static const struct board_info __initcon +@@ -1380,6 +1649,19 @@ static const struct board_info __initcon &board_DV201AMR, &board_96348gw_a, &board_rta1025w_16, @@ -296,7 +296,7 @@ #endif /* CONFIG_BCM63XX_CPU_6348 */ #ifdef CONFIG_BCM63XX_CPU_6358 &board_96358vw, -@@ -1386,15 +1668,29 @@ static struct of_device_id const bcm963x +@@ -1431,15 +1713,29 @@ static struct of_device_id const bcm963x { .compatible = "dynalink,rta770w", .data = &board_rta770w, }, #endif /* CONFIG_BCM63XX_CPU_6345 */ #ifdef CONFIG_BCM63XX_CPU_6348 diff --git a/target/linux/bcm63xx/patches-5.4/516-board-bcm6358.patch b/target/linux/bcm63xx/patches-5.4/516-board-bcm6358.patch index 4e33123f5a..6af94bdbe0 100644 --- a/target/linux/bcm63xx/patches-5.4/516-board-bcm6358.patch +++ b/target/linux/bcm63xx/patches-5.4/516-board-bcm6358.patch @@ -8,7 +8,7 @@ #include <asm/addrspace.h> #include <bcm63xx_board.h> #include <bcm63xx_cpu.h> -@@ -1531,6 +1532,88 @@ static struct board_info __initdata boar +@@ -1574,6 +1575,88 @@ static struct board_info __initdata boar .has_ehci0 = 1, }; @@ -97,7 +97,7 @@ static struct board_info __initdata board_DWVS0 = { .name = "DWV-S0", .expected_cpu_id = 0x6358, -@@ -1555,6 +1638,238 @@ static struct board_info __initdata boar +@@ -1598,6 +1681,238 @@ static struct board_info __initdata boar .has_ohci0 = 1, .has_ehci0 = 1, }; @@ -336,7 +336,7 @@ #endif /* CONFIG_BCM63XX_CPU_6358 */ /* -@@ -1623,7 +1938,20 @@ static const struct board_info __initcon +@@ -1667,7 +1982,20 @@ static const struct board_info __initcon &board_96358vw, &board_96358vw2, &board_AGPFS0, @@ -357,7 +357,7 @@ #endif /* CONFIG_BCM63XX_CPU_6358 */ }; -@@ -1698,11 +2026,24 @@ static struct of_device_id const bcm963x +@@ -1743,11 +2071,24 @@ static struct of_device_id const bcm963x { .compatible = "alcatel,rg100a", .data = &board_96358vw2, }, { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, }, { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, }, diff --git a/target/linux/bcm63xx/patches-5.4/517-board_bcm6362.patch b/target/linux/bcm63xx/patches-5.4/517-board_bcm6362.patch index 18f571c061..c917914dd1 100644 --- a/target/linux/bcm63xx/patches-5.4/517-board_bcm6362.patch +++ b/target/linux/bcm63xx/patches-5.4/517-board_bcm6362.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1872,6 +1872,117 @@ static struct board_info __initdata boar +@@ -1915,6 +1915,117 @@ static struct board_info __initdata boar }; #endif /* CONFIG_BCM63XX_CPU_6358 */ @@ -118,7 +118,7 @@ /* * all boards */ -@@ -1953,6 +2064,12 @@ static const struct board_info __initcon +@@ -1997,6 +2108,12 @@ static const struct board_info __initcon &board_nb4_fxc_r1, &board_spw303v, #endif /* CONFIG_BCM63XX_CPU_6358 */ @@ -131,7 +131,7 @@ }; static struct of_device_id const bcm963xx_boards_dt[] = { -@@ -2046,6 +2163,10 @@ static struct of_device_id const bcm963x +@@ -2091,6 +2208,10 @@ static struct of_device_id const bcm963x { .compatible = "telsey,cpva642", .data = &board_CPVA642, }, #endif /* CONFIG_BCM63XX_CPU_6358 */ #ifdef CONFIG_BCM63XX_CPU_6362 diff --git a/target/linux/bcm63xx/patches-5.4/518-board_bcm6368.patch b/target/linux/bcm63xx/patches-5.4/518-board_bcm6368.patch index 181c8fe466..31d724ca24 100644 --- a/target/linux/bcm63xx/patches-5.4/518-board_bcm6368.patch +++ b/target/linux/bcm63xx/patches-5.4/518-board_bcm6368.patch @@ -9,7 +9,7 @@ #include <asm/addrspace.h> #include <bcm63xx_board.h> #include <bcm63xx_cpu.h> -@@ -1984,6 +1986,648 @@ static struct board_info __initdata boar +@@ -2027,6 +2029,648 @@ static struct board_info __initdata boar #endif /* CONFIG_BCM63XX_CPU_6362 */ /* @@ -658,7 +658,7 @@ * all boards */ static const struct board_info __initconst *bcm963xx_boards[] = { -@@ -2070,6 +2714,22 @@ static const struct board_info __initcon +@@ -2114,6 +2758,22 @@ static const struct board_info __initcon &board_hg253s_v2, &board_nb6, #endif /* CONFIG_BCM63XX_CPU_6362 */ @@ -681,7 +681,7 @@ }; static struct of_device_id const bcm963xx_boards_dt[] = { -@@ -2169,6 +2829,20 @@ static struct of_device_id const bcm963x +@@ -2214,6 +2874,20 @@ static struct of_device_id const bcm963x { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, }, #endif /* CONFIG_BCM63XX_CPU_6362 */ #ifdef CONFIG_BCM63XX_CPU_6368 diff --git a/target/linux/bcm63xx/patches-5.4/519-board_bcm63268.patch b/target/linux/bcm63xx/patches-5.4/519-board_bcm63268.patch index 5737bee24d..20fbf5e68e 100644 --- a/target/linux/bcm63xx/patches-5.4/519-board_bcm63268.patch +++ b/target/linux/bcm63xx/patches-5.4/519-board_bcm63268.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -2628,6 +2628,273 @@ static struct board_info __initdata boar +@@ -2671,6 +2671,273 @@ static struct board_info __initdata boar #endif /* CONFIG_BCM63XX_CPU_6368 */ /* @@ -274,7 +274,7 @@ * all boards */ static const struct board_info __initconst *bcm963xx_boards[] = { -@@ -2730,6 +2997,15 @@ static const struct board_info __initcon +@@ -2774,6 +3041,15 @@ static const struct board_info __initcon &board_VR3026e, &board_WAP5813n, #endif /* CONFIG_BCM63XX_CPU_6368 */ @@ -290,7 +290,7 @@ }; static struct of_device_id const bcm963xx_boards_dt[] = { -@@ -2845,6 +3121,14 @@ static struct of_device_id const bcm963x +@@ -2890,6 +3166,14 @@ static struct of_device_id const bcm963x { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, }, #endif /* CONFIG_BCM63XX_CPU_6368 */ #ifdef CONFIG_BCM63XX_CPU_63268 diff --git a/target/linux/bcm63xx/patches-5.4/531-board_bcm6348-bt-voyager-2500v-bb.patch b/target/linux/bcm63xx/patches-5.4/531-board_bcm6348-bt-voyager-2500v-bb.patch index ba47e209ac..23fefee97a 100644 --- a/target/linux/bcm63xx/patches-5.4/531-board_bcm6348-bt-voyager-2500v-bb.patch +++ b/target/linux/bcm63xx/patches-5.4/531-board_bcm6348-bt-voyager-2500v-bb.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -3157,6 +3157,22 @@ void __init board_bcm963xx_init(void) +@@ -3202,6 +3202,22 @@ void __init board_bcm963xx_init(void) val &= MPI_CSBASE_BASE_MASK; } boot_addr = (u8 *)KSEG1ADDR(val); |