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_dsp:1; 48 49 /* ethernet config */ 50 struct bcm63xx_enet_platform_data enet0; 51 struct bcm63xx_enet_platform_data enet1; 52 53 /* DSP config */ 54 struct bcm63xx_dsp_platform_data dsp; 55 56 /* GPIO LEDs */ 57 struct gpio_led leds[5]; 58 }; 59 60 #endif /* ! BOARD_BCM963XX_H_ */ 61