From e19ed52fd1ddda94f06f52866570dbb8d84c3212 Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Sun, 27 May 2012 13:22:37 +0000 Subject: bcm63xx: add a fixup for ath9k devices SVN-Revision: 31880 --- target/linux/brcm63xx/patches-3.3/511-board_V2500V.patch | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'target/linux/brcm63xx/patches-3.3/511-board_V2500V.patch') diff --git a/target/linux/brcm63xx/patches-3.3/511-board_V2500V.patch b/target/linux/brcm63xx/patches-3.3/511-board_V2500V.patch index e299cc6dba..96342f79a8 100644 --- a/target/linux/brcm63xx/patches-3.3/511-board_V2500V.patch +++ b/target/linux/brcm63xx/patches-3.3/511-board_V2500V.patch @@ -72,7 +72,7 @@ #endif #ifdef CONFIG_BCM63XX_CPU_6358 -@@ -1944,6 +2002,22 @@ void __init board_prom_init(void) +@@ -1912,6 +1970,23 @@ void __init board_prom_init(void) val &= MPI_CSBASE_BASE_MASK; } boot_addr = (u8 *)KSEG1ADDR(val); @@ -83,11 +83,12 @@ + /* Loading firmware from the CFE Prompt always loads to Bank 0 */ + /* Do an early check of CFE and then select bank 0 */ + -+ if (boot_addr == (u8 *)0xbf800000) { ++ if (boot_addr == (u8 *)0xbf800000) { ++ unsigned char board_name[16]; + u8 *tmp_boot_addr; + tmp_boot_addr = (u8 *)0xbfc00000; // Address of Bank 0 -+ memcpy(&nvram, tmp_boot_addr + BCM963XX_NVRAM_OFFSET, sizeof(nvram)); -+ if (!strcmp(nvram.name, "V2500V_BB")) { ++ memcpy(board_name, tmp_boot_addr + BCM963XX_NVRAM_OFFSET + offsetof(struct bcm963xx_nvram, name), sizeof(board_name)); ++ if (!strcmp(board_name, "V2500V_BB")) { + printk(KERN_INFO PFX "V2500V: nvram bank 0\n"); + boot_addr = (u8 *)0xbfc00000; // Bank 0 + } @@ -105,7 +106,7 @@ #include #include #include -@@ -126,6 +127,13 @@ int __init bcm63xx_flash_register(void) +@@ -145,6 +146,13 @@ int __init bcm63xx_flash_register(int nu val = bcm_mpi_readl(MPI_CSBASE_REG(0)); val &= MPI_CSBASE_BASE_MASK; -- cgit v1.2.3