[brcm63xx] add the infrastructure to use a MPI/GPIO connected VoIP DSP
[openwrt/svn-archive/archive.git] / target / linux / brcm63xx / files / include / asm-mips / mach-bcm63xx / board_bcm963xx.h
1 #ifndef BOARD_BCM963XX_H_
2 #define BOARD_BCM963XX_H_
3
4 #include <linux/types.h>
5 #include <bcm63xx_dev_enet.h>
6 #include <bcm63xx_dev_dsp.h>
7
8 /*
9 * flash mapping
10 */
11 #define BCM963XX_CFE_VERSION_OFFSET 0x570
12 #define BCM963XX_NVRAM_OFFSET 0x580
13
14 /*
15 * nvram structure
16 */
17 struct bcm963xx_nvram {
18 u32 version;
19 u8 reserved1[256];
20 u8 name[16];
21 u32 main_tp_number;
22 u32 psi_size;
23 u32 mac_addr_count;
24 u8 mac_addr_base[6];
25 u8 reserved2[2];
26 u32 checksum_old;
27 u8 reserved3[720];
28 u32 checksum_high;
29 };
30
31 /*
32 * board definition
33 */
34 struct board_info {
35 u8 name[16];
36 unsigned int expected_cpu_id;
37
38 /* enabled feature/device */
39 unsigned int has_enet0:1;
40 unsigned int has_enet1:1;
41 unsigned int has_pci:1;
42 unsigned int has_pccard:1;
43 unsigned int has_ohci0:1;
44 unsigned int has_ehci0:1;
45 unsigned int has_udc0:1;
46 unsigned int has_dsp:1;
47
48 /* ethernet config */
49 struct bcm63xx_enet_platform_data enet0;
50 struct bcm63xx_enet_platform_data enet1;
51
52 /* DSP config */
53 struct bcm63xx_dsp_platform_data dsp;
54 };
55
56 #endif /* ! BOARD_BCM963XX_H_ */