[ARM] 3590/1: AT91RM9200 Platform devices support
Patch from Andrew Victor This patch includes the structures and exported functions required for the platform-device support (added in patch 3585/1). Also adds the arch_identify() function for run-time detection of which AT91 processor the code is running on. [Original patch from Ivan Kokshaysky] Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
067bbada4c
commit
82dc0772a8
2 changed files with 28 additions and 3 deletions
|
@ -39,6 +39,8 @@ extern int at91_serial_map[AT91_NR_UART];
|
|||
extern int at91_console_port;
|
||||
|
||||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/spi/spi.h>
|
||||
|
||||
/* USB Device */
|
||||
struct at91_udc_data {
|
||||
|
@ -91,10 +93,25 @@ struct at91_nand_data {
|
|||
extern void __init at91_add_device_nand(struct at91_nand_data *data);
|
||||
|
||||
/* I2C*/
|
||||
void __init at91_add_device_i2c(void);
|
||||
extern void __init at91_add_device_i2c(void);
|
||||
|
||||
/* RTC */
|
||||
void __init at91_add_device_rtc(void);
|
||||
/* SPI */
|
||||
extern void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices);
|
||||
|
||||
/* Serial */
|
||||
struct at91_uart_config {
|
||||
unsigned short console_tty; /* tty number of serial console */
|
||||
unsigned short nr_tty; /* number of serial tty's */
|
||||
short tty_map[]; /* map UART to tty number */
|
||||
};
|
||||
extern struct platform_device *at91_default_console_device;
|
||||
extern void __init at91_init_serial(struct at91_uart_config *config);
|
||||
|
||||
struct at91_uart_data {
|
||||
short use_dma_tx; /* use transmit DMA? */
|
||||
short use_dma_rx; /* use receive DMA? */
|
||||
};
|
||||
extern void __init at91_add_device_serial(void);
|
||||
|
||||
/* LEDs */
|
||||
extern u8 at91_leds_cpu;
|
||||
|
|
|
@ -48,4 +48,12 @@ static inline void arch_reset(char mode)
|
|||
at91_sys_write(AT91_ST_CR, AT91_ST_WDRST);
|
||||
}
|
||||
|
||||
#define ARCH_ID_AT91RM9200 0x09200080
|
||||
#define ARCH_ID_AT91SAM9261 0x019000a0
|
||||
|
||||
static inline unsigned long arch_identify(void)
|
||||
{
|
||||
return at91_sys_read(AT91_DBGU_CIDR) & (AT91_CIDR_EPROC | AT91_CIDR_ARCH);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue