~ubuntu-branches/ubuntu/maverick/u-boot-omap3/maverick

« back to all changes in this revision

Viewing changes to include/asm-arm/arch-s3c24x0/s3c2400.h

  • Committer: Bazaar Package Importer
  • Author(s): Oliver Grawert
  • Date: 2010-03-22 15:06:23 UTC
  • Revision ID: james.westby@ubuntu.com-20100322150623-i21g8rgiyl5dohag
Tags: upstream-2010.3git20100315
Import upstream version 2010.3git20100315

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * (C) Copyright 2003
 
3
 * David M�ller ELSOFT AG Switzerland. d.mueller@elsoft.ch
 
4
 *
 
5
 * See file CREDITS for list of people who contributed to this
 
6
 * project.
 
7
 *
 
8
 * This program is free software; you can redistribute it and/or
 
9
 * modify it under the terms of the GNU General Public License as
 
10
 * published by the Free Software Foundation; either version 2 of
 
11
 * the License, or (at your option) any later version.
 
12
 *
 
13
 * This program is distributed in the hope that it will be useful,
 
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
16
 * GNU General Public License for more details.
 
17
 *
 
18
 * You should have received a copy of the GNU General Public License
 
19
 * along with this program; if not, write to the Free Software
 
20
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 
21
 * MA 02111-1307 USA
 
22
 */
 
23
 
 
24
/************************************************
 
25
 * NAME     : s3c2400.h
 
26
 * Version  : 31.3.2003
 
27
 *
 
28
 * Based on S3C2400X User's manual Rev 1.1
 
29
 ************************************************/
 
30
 
 
31
#ifndef __S3C2400_H__
 
32
#define __S3C2400_H__
 
33
 
 
34
#define S3C24X0_UART_CHANNELS   2
 
35
#define S3C24X0_SPI_CHANNELS    1
 
36
#define PALETTE                 (0x14A00400)    /* SJS */
 
37
 
 
38
enum s3c24x0_uarts_nr {
 
39
        S3C24X0_UART0,
 
40
        S3C24X0_UART1,
 
41
};
 
42
 
 
43
/*S3C2400 device base addresses */
 
44
#define S3C24X0_MEMCTL_BASE             0x14000000
 
45
#define S3C24X0_USB_HOST_BASE           0x14200000
 
46
#define S3C24X0_INTERRUPT_BASE          0x14400000
 
47
#define S3C24X0_DMA_BASE                0x14600000
 
48
#define S3C24X0_CLOCK_POWER_BASE        0x14800000
 
49
#define S3C24X0_LCD_BASE                0x14A00000
 
50
#define S3C24X0_UART_BASE               0x15000000
 
51
#define S3C24X0_TIMER_BASE              0x15100000
 
52
#define S3C24X0_USB_DEVICE_BASE         0x15200140
 
53
#define S3C24X0_WATCHDOG_BASE           0x15300000
 
54
#define S3C24X0_I2C_BASE                0x15400000
 
55
#define S3C24X0_I2S_BASE                0x15508000
 
56
#define S3C24X0_GPIO_BASE               0x15600000
 
57
#define S3C24X0_RTC_BASE                0x15700000
 
58
#define S3C24X0_ADC_BASE                0x15800000
 
59
#define S3C24X0_SPI_BASE                0x15900000
 
60
#define S3C2400_MMC_BASE                0x15A00000
 
61
 
 
62
/* include common stuff */
 
63
#include <asm/arch/s3c24x0.h>
 
64
 
 
65
 
 
66
static inline struct s3c24x0_memctl *s3c24x0_get_base_memctl(void)
 
67
{
 
68
        return (struct s3c24x0_memctl *)S3C24X0_MEMCTL_BASE;
 
69
}
 
70
 
 
71
static inline struct s3c24x0_usb_host *s3c24x0_get_base_usb_host(void)
 
72
{
 
73
        return (struct s3c24x0_usb_host *)S3C24X0_USB_HOST_BASE;
 
74
}
 
75
 
 
76
static inline struct s3c24x0_interrupt *s3c24x0_get_base_interrupt(void)
 
77
{
 
78
        return (struct s3c24x0_interrupt *)S3C24X0_INTERRUPT_BASE;
 
79
}
 
80
 
 
81
static inline struct s3c24x0_dmas *s3c24x0_get_base_dmas(void)
 
82
{
 
83
        return (struct s3c24x0_dmas *)S3C24X0_DMA_BASE;
 
84
}
 
85
 
 
86
static inline struct s3c24x0_clock_power *s3c24x0_get_base_clock_power(void)
 
87
{
 
88
        return (struct s3c24x0_clock_power *)S3C24X0_CLOCK_POWER_BASE;
 
89
}
 
90
 
 
91
static inline struct s3c24x0_lcd *s3c24x0_get_base_lcd(void)
 
92
{
 
93
        return (struct s3c24x0_lcd *)S3C24X0_LCD_BASE;
 
94
}
 
95
 
 
96
static inline struct s3c24x0_uart
 
97
        *s3c24x0_get_base_uart(enum s3c24x0_uarts_nr n)
 
98
{
 
99
        return (struct s3c24x0_uart *)(S3C24X0_UART_BASE + (n * 0x4000));
 
100
}
 
101
 
 
102
static inline struct s3c24x0_timers *s3c24x0_get_base_timers(void)
 
103
{
 
104
        return (struct s3c24x0_timers *)S3C24X0_TIMER_BASE;
 
105
}
 
106
 
 
107
static inline struct s3c24x0_usb_device *s3c24x0_get_base_usb_device(void)
 
108
{
 
109
        return (struct s3c24x0_usb_device *)S3C24X0_USB_DEVICE_BASE;
 
110
}
 
111
 
 
112
static inline struct s3c24x0_watchdog *s3c24x0_get_base_watchdog(void)
 
113
{
 
114
        return (struct s3c24x0_watchdog *)S3C24X0_WATCHDOG_BASE;
 
115
}
 
116
 
 
117
static inline struct s3c24x0_i2c *s3c24x0_get_base_i2c(void)
 
118
{
 
119
        return (struct s3c24x0_i2c *)S3C24X0_I2C_BASE;
 
120
}
 
121
 
 
122
static inline struct s3c24x0_i2s *s3c24x0_get_base_i2s(void)
 
123
{
 
124
        return (struct s3c24x0_i2s *)S3C24X0_I2S_BASE;
 
125
}
 
126
 
 
127
static inline struct s3c24x0_gpio *s3c24x0_get_base_gpio(void)
 
128
{
 
129
        return (struct s3c24x0_gpio *)S3C24X0_GPIO_BASE;
 
130
}
 
131
 
 
132
static inline struct s3c24x0_rtc *s3c24x0_get_base_rtc(void)
 
133
{
 
134
        return (struct s3c24x0_rtc *)S3C24X0_RTC_BASE;
 
135
}
 
136
 
 
137
static inline struct s3c2400_adc *s3c2400_get_base_adc(void)
 
138
{
 
139
        return (struct s3c2400_adc *)S3C24X0_ADC_BASE;
 
140
}
 
141
 
 
142
static inline struct s3c24x0_spi *s3c24x0_get_base_spi(void)
 
143
{
 
144
        return (struct s3c24x0_spi *)S3C24X0_SPI_BASE;
 
145
}
 
146
 
 
147
static inline struct s3c2400_mmc *s3c2400_get_base_mmc(void)
 
148
{
 
149
        return (struct s3c2400_mmc *)S3C2400_MMC_BASE;
 
150
}
 
151
 
 
152
#endif /*__S3C2400_H__*/