85d1e5f418c55e49aebc387c3f30230b20b34148
[openwrt.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_ */