X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Farch-omap%2Fboard.h;h=a24193510e90e8a946ee645e60eef16c95bdc51b;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=fe21fc817749e34a24275c14d14e78b17034f86a;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/include/asm-arm/arch-omap/board.h b/include/asm-arm/arch-omap/board.h index fe21fc817..a24193510 100644 --- a/include/asm-arm/arch-omap/board.h +++ b/include/asm-arm/arch-omap/board.h @@ -17,32 +17,69 @@ #define OMAP_TAG_CLOCK 0x4f01 #define OMAP_TAG_MMC 0x4f02 #define OMAP_TAG_UART 0x4f03 +#define OMAP_TAG_USB 0x4f04 -struct omap_clock_info { +struct omap_clock_config { /* 0 for 12 MHz, 1 for 13 MHz and 2 for 19.2 MHz */ u8 system_clock_type; }; -struct omap_mmc_info { +struct omap_mmc_config { u8 mmc_blocks; s8 mmc1_power_pin, mmc2_power_pin; s8 mmc1_switch_pin, mmc2_switch_pin; }; -struct omap_uart_info { +struct omap_uart_config { u8 console_uart; u32 console_speed; }; -struct omap_board_info_entry { +struct omap_usb_config { + /* Configure drivers according to the connectors on your board: + * - "A" connector (rectagular) + * ... for host/OHCI use, set "register_host". + * - "B" connector (squarish) or "Mini-B" + * ... for device/gadget use, set "register_dev". + * - "Mini-AB" connector (very similar to Mini-B) + * ... for OTG use as device OR host, initialize "otg" + */ + unsigned register_host:1; + unsigned register_dev:1; + u8 otg; /* port number, 1-based: usb1 == 2 */ + + u8 hmc_mode; + + /* implicitly true if otg: host supports remote wakeup? */ + u8 rwc; + + /* signaling pins used to talk to transceiver on usbN: + * 0 == usbN unused + * 2 == usb0-only, using internal transceiver + * 3 == 3 wire bidirectional + * 4 == 4 wire bidirectional + * 6 == 6 wire unidirectional (or TLL) + */ + u8 pins[3]; +}; + +struct omap_board_config_entry { u16 tag; u16 len; u8 data[0]; }; -extern const void *__omap_get_per_info(u16 tag, size_t len); +struct omap_board_config_kernel { + u16 tag; + const void *data; +}; + +extern const void *__omap_get_config(u16 tag, size_t len); + +#define omap_get_config(tag, type) \ + ((const type *) __omap_get_config((tag), sizeof(type))) -#define omap_get_per_info(tag, type) \ - ((const type *) __omap_get_per_info((tag), sizeof(type))) +extern struct omap_board_config_kernel *omap_board_config; +extern int omap_board_config_size; #endif