Hello.
I have some old DSL-2500 devices BRU_C revision, BCM6332, 8Mb ram, 2Mb spi flash NXW25P16, 96332CG_F4W board id. I have idea use it as a network gpio box with openwrt. And have some problems.
I temporally solder 32Mb ram for testing and build current trunk BARRIER BREAKER (Bleeding Edge, r40569), ramdisk image, netboot it and get message:
Auto run second count down: 110
0x80010000/3837052 0x803b8c7c/246856 Entry at 0x80014d10
Closing network.
Starting program at 0x80014d10
[ 0.000000] Linux version 3.10.36 (archie@build41) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.01 r40569) ) #6 Sat Apr 26 21:23:14 EEST 2014
[ 0.000000] Detected Broadcom 0x6338 CPU revision a2
[ 0.000000] CPU frequency is 240 MHz
[ 0.000000] 32MB of RAM installed
[ 0.000000] registering 8 GPIOs
[ 0.000000] board_bcm963xx: Boot address 0xbfc00000
[ 0.000000] board_bcm963xx: CFE version: unknown
[ 0.000000] board_bcm963xx: unknown bcm963xx board: 96332CG_F4W
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU revision is: 00029010 (Broadcom BCM6338)
[ 0.000000] Kernel panic - not syncing: unable to detect bcm963xx board
reset
Then i add to board_bcm963xx.c
+static struct board_info __initdata board_96332cg_f4w = {
+ .name = "96332CG_F4W",
+ .expected_cpu_id = 0x6338,
+
+ .has_uart0 = 1,
+ .has_enet0 = 1,
+ .enet0 = {
+ .has_phy = 1,
+ .phy_id = 0,
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
+
+ .leds = {
+ {
+ .name = "96332CG_F4W:green:wan",
+ .gpio = 4,
+ .active_low = 1,
+ },
+ {
+ .name = "96332CG_F4W:green:ppp",
+ .gpio = 3,
+ .active_low = 1,
+ },
+ {
+ .name = "96332CG_F4W:green:power",
+ .gpio = 0,
+ .active_low = 1,
+ .default_trigger = "default-on",
+ },
+ {
+ .name = "96332CG_F4W:green:stop",
+ .gpio = 6,
+ .active_low = 1,
+ },
+ },
+};
static struct board_info __initdata board_96338gw = {
.name = "96338GW",
.expected_cpu_id = 0x6338,
@@ -4793,6 +4909,8 @@
&board_FAST2704V2,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
+ &board_96332cg_f4w,
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
rebuild and netboot ok, here is log http://pastebin.com/6aiSzj1g , but have some problems:
1. board_prom_init doesn't detect CFE version, board_bcm963xx: CFE version: unknown
i made some research and add before CFE version detect in board_bcm963xx.c:
cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
printk(KERN_INFO PFX "%x %x %x %x %x %x %x %x - %x %x %x %x %x %x %x %x\n", cfe[0], cfe[1], cfe[2], cfe[3], cfe[4], cfe[5], cfe[6], cfe[7], cfe[8], cfe[9], cfe[10], cfe[11], cfe[12], cfe[13], cfe[14], cfe[15]);
output: board_bcm963xx: 63 65 76 00 76 00 0c 00 0c 00 00 00 00 00 00 00
but must be: 00000570: 63 66 65 2d 76 01 00 25 0c 01 00 00 00 00 00 00
so it reads every first byte of 16 bit word and i have no idea why.
2. spi flash is not detected, more in log
[ 2.432000] physmap platform flash device: 00400000 at 1fc00000
[ 2.444000] physmap-flash physmap-flash.0: map_probe failed
[ 2.456000] bcm63xx-spi bcm63xx-spi: at 0xfffe0c00 (irq 9, FIFOs size 63)
3. ethernet not working. Netboot ok, but after boot i assign manually adress/mask and no response.
I have some skills in C programming, so if someone help me with right direction i can myself test it.
Sorry for language, english is not my native.
(Last edited by mgmzog on 28 Apr 2014, 00:23)