Skip to content

Commit

Permalink
[ARM] 3590/1: AT91RM9200 Platform devices support
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Andrew Victor authored and Russell King committed Jun 19, 2006
1 parent 067bbad commit 82dc077
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
23 changes: 20 additions & 3 deletions include/asm-arm/arch-at91rm9200/board.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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;
Expand Down
8 changes: 8 additions & 0 deletions include/asm-arm/arch-at91rm9200/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 82dc077

Please sign in to comment.