blob: 6b44d6120732c697533265a42cd1dce84a0db785 [file] [log] [blame]
Stelian Pop7d42a222008-01-31 21:15:53 +00001/*
Stelian Pop97904f72008-05-08 20:52:10 +02002 * [origin: Linux kernel include/asm-arm/arch-at91/hardware.h]
Stelian Popc6381112008-03-26 19:52:31 +01003 *
4 * Copyright (C) 2003 SAN People
5 * Copyright (C) 2003 ATMEL
Stelian Pop7d42a222008-01-31 21:15:53 +00006 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
Stelian Pop7d42a222008-01-31 21:15:53 +000012 */
Stelian Popc6381112008-03-26 19:52:31 +010013
Stelian Pop7d42a222008-01-31 21:15:53 +000014#ifndef __ASM_ARCH_HARDWARE_H
15#define __ASM_ARCH_HARDWARE_H
16
17#include <asm/sizes.h>
18
Stelian Popc6381112008-03-26 19:52:31 +010019#if defined(CONFIG_AT91RM9200)
Jens Scharsig9bbaae32010-02-03 22:47:35 +010020#include <asm/arch-at91/at91rm9200.h>
Andreas Bießmann54d640d2010-10-18 22:58:30 +020021#define AT91_PMC_UHP AT91RM9200_PMC_UHP
Nicolas Ferre4ef545e2009-03-22 14:48:16 +010022#elif defined(CONFIG_AT91SAM9260) || defined(CONFIG_AT91SAM9G20)
Stelian Popc6381112008-03-26 19:52:31 +010023#include <asm/arch/at91sam9260.h>
Reinhard Meyerc718a562010-08-13 10:31:06 +020024#define AT91_BASE_MCI AT91SAM9260_BASE_MCI
Stelian Pop78379932008-03-26 18:52:33 +010025#define AT91_BASE_SPI AT91SAM9260_BASE_SPI0
Reinhard Meyerd424f012010-10-25 17:56:23 +020026#define AT91_BASE_SPI1 AT91SAM9260_BASE_SPI1
Stelian Pop78379932008-03-26 18:52:33 +010027#define AT91_ID_UHP AT91SAM9260_ID_UHP
28#define AT91_PMC_UHP AT91SAM926x_PMC_UHP
Sedji Gaouaou97a031b2009-06-25 17:04:15 +020029#elif defined(CONFIG_AT91SAM9261) || defined(CONFIG_AT91SAM9G10)
Stelian Popc6381112008-03-26 19:52:31 +010030#include <asm/arch/at91sam9261.h>
Stelian Pop61e69d72008-05-08 20:52:22 +020031#define AT91_BASE_SPI AT91SAM9261_BASE_SPI0
32#define AT91_ID_UHP AT91SAM9261_ID_UHP
33#define AT91_PMC_UHP AT91SAM926x_PMC_UHP
Stelian Popc6381112008-03-26 19:52:31 +010034#elif defined(CONFIG_AT91SAM9263)
35#include <asm/arch/at91sam9263.h>
Stelian Pop69c925f2008-05-08 18:52:23 +020036#define AT91_BASE_SPI AT91SAM9263_BASE_SPI0
37#define AT91_ID_UHP AT91SAM9263_ID_UHP
38#define AT91_PMC_UHP AT91SAM926x_PMC_UHP
Stelian Popc6381112008-03-26 19:52:31 +010039#elif defined(CONFIG_AT91SAM9RL)
40#include <asm/arch/at91sam9rl.h>
Stelian Pop0bf5cad2008-05-08 18:52:25 +020041#define AT91_BASE_SPI AT91SAM9RL_BASE_SPI
42#define AT91_ID_UHP AT91SAM9RL_ID_UHP
Sedji Gaouaou538566d2009-07-09 10:16:29 +020043#elif defined(CONFIG_AT91SAM9G45) || defined(CONFIG_AT91SAM9M10G45)
44#include <asm/arch/at91sam9g45.h>
45#define AT91_BASE_EMAC AT91SAM9G45_BASE_EMAC
46#define AT91_BASE_SPI AT91SAM9G45_BASE_SPI0
47#define AT91_ID_UHP AT91SAM9G45_ID_UHPHS
48#define AT91_PMC_UHP AT91SAM926x_PMC_UHP
Stelian Popc6381112008-03-26 19:52:31 +010049#elif defined(CONFIG_AT91CAP9)
50#include <asm/arch/at91cap9.h>
Stelian Popc6381112008-03-26 19:52:31 +010051#define AT91_BASE_SPI AT91CAP9_BASE_SPI0
52#define AT91_ID_UHP AT91CAP9_ID_UHP
53#define AT91_PMC_UHP AT91CAP9_PMC_UHP
54#elif defined(CONFIG_AT91X40)
55#include <asm/arch/at91x40.h>
56#else
57#error "Unsupported AT91 processor"
58#endif
Stelian Pop7d42a222008-01-31 21:15:53 +000059
Ilko Iliev8b954a92009-04-16 21:30:48 +020060/* External Memory Map */
61#define AT91_CHIPSELECT_0 0x10000000
62#define AT91_CHIPSELECT_1 0x20000000
63#define AT91_CHIPSELECT_2 0x30000000
64#define AT91_CHIPSELECT_3 0x40000000
65#define AT91_CHIPSELECT_4 0x50000000
66#define AT91_CHIPSELECT_5 0x60000000
67#define AT91_CHIPSELECT_6 0x70000000
68#define AT91_CHIPSELECT_7 0x80000000
69
70/* SDRAM */
71#ifdef CONFIG_DRAM_BASE
72#define AT91_SDRAM_BASE CONFIG_DRAM_BASE
73#else
74#define AT91_SDRAM_BASE AT91_CHIPSELECT_1
75#endif
76
Jean-Christophe PLAGNIOL-VILLARD23164f12009-04-16 21:30:44 +020077/* Clocks */
78#define AT91_SLOW_CLOCK 32768 /* slow clock */
79
Stelian Pop7d42a222008-01-31 21:15:53 +000080#endif