[brcm63xx] register GPIO-connected LEDs for known boards
[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 <linux/gpio.h>
6 #include <linux/leds.h>
7 #include <bcm63xx_dev_enet.h>
8 #include <bcm63xx_dev_dsp.h>
9
10 /*
11 * flash mapping
12 */
13 #define BCM963XX_CFE_VERSION_OFFSET 0x570
14 #define BCM963XX_NVRAM_OFFSET 0x580
15
16 /*
17 * nvram structure
18 */
19 struct bcm963xx_nvram {
20 u32 version;
21 u8 reserved1[256];
22 u8 name[16];
23 u32 main_tp_number;
24 u32 psi_size;
25 u32 mac_addr_count;
26 u8 mac_addr_base[6];
27 u8 reserved2[2];
28 u32 checksum_old;
29 u8 reserved3[720];
30 u32 checksum_high;
31 };
32
33 /*
34 * board definition
35 */
36 struct board_info {
37 u8 name[16];
38 unsigned int expected_cpu_id;
39
40 /* enabled feature/device */
41 unsigned int has_enet0:1;
42 unsigned int has_enet1:1;
43 unsigned int has_pci:1;
44 unsigned int has_pccard:1;
45 unsigned int has_ohci0:1;
46 unsigned int has_ehci0:1;
47 unsigned int has_udc0:1;
48 unsigned int has_dsp:1;
49
50 /* ethernet config */
51 struct bcm63xx_enet_platform_data enet0;
52 struct bcm63xx_enet_platform_data enet1;
53
54 /* DSP config */
55 struct bcm63xx_dsp_platform_data dsp;
56
57 /* GPIO LEDs */
58 struct gpio_led leds[5];
59 };
60
61 #endif /* ! BOARD_BCM963XX_H_ */