uboot/arch/arm/include/asm/arch-s3c24x0/s3c2400.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2003
   3 * David Müller ELSOFT AG Switzerland. d.mueller@elsoft.ch
   4 *
   5 * SPDX-License-Identifier:     GPL-2.0+
   6 */
   7
   8/************************************************
   9 * NAME     : s3c2400.h
  10 * Version  : 31.3.2003
  11 *
  12 * Based on S3C2400X User's manual Rev 1.1
  13 ************************************************/
  14
  15#ifndef __S3C2400_H__
  16#define __S3C2400_H__
  17
  18#define S3C24X0_UART_CHANNELS   2
  19#define S3C24X0_SPI_CHANNELS    1
  20#define PALETTE                 (0x14A00400)    /* SJS */
  21
  22enum s3c24x0_uarts_nr {
  23        S3C24X0_UART0,
  24        S3C24X0_UART1,
  25};
  26
  27/*S3C2400 device base addresses */
  28#define S3C24X0_MEMCTL_BASE             0x14000000
  29#define S3C24X0_USB_HOST_BASE           0x14200000
  30#define S3C24X0_INTERRUPT_BASE          0x14400000
  31#define S3C24X0_DMA_BASE                0x14600000
  32#define S3C24X0_CLOCK_POWER_BASE        0x14800000
  33#define S3C24X0_LCD_BASE                0x14A00000
  34#define S3C24X0_UART_BASE               0x15000000
  35#define S3C24X0_TIMER_BASE              0x15100000
  36#define S3C24X0_USB_DEVICE_BASE         0x15200140
  37#define S3C24X0_WATCHDOG_BASE           0x15300000
  38#define S3C24X0_I2C_BASE                0x15400000
  39#define S3C24X0_I2S_BASE                0x15508000
  40#define S3C24X0_GPIO_BASE               0x15600000
  41#define S3C24X0_RTC_BASE                0x15700000
  42#define S3C24X0_ADC_BASE                0x15800000
  43#define S3C24X0_SPI_BASE                0x15900000
  44#define S3C2400_MMC_BASE                0x15A00000
  45
  46/* include common stuff */
  47#include <asm/arch/s3c24x0.h>
  48
  49
  50static inline struct s3c24x0_memctl *s3c24x0_get_base_memctl(void)
  51{
  52        return (struct s3c24x0_memctl *)S3C24X0_MEMCTL_BASE;
  53}
  54
  55static inline struct s3c24x0_usb_host *s3c24x0_get_base_usb_host(void)
  56{
  57        return (struct s3c24x0_usb_host *)S3C24X0_USB_HOST_BASE;
  58}
  59
  60static inline struct s3c24x0_interrupt *s3c24x0_get_base_interrupt(void)
  61{
  62        return (struct s3c24x0_interrupt *)S3C24X0_INTERRUPT_BASE;
  63}
  64
  65static inline struct s3c24x0_dmas *s3c24x0_get_base_dmas(void)
  66{
  67        return (struct s3c24x0_dmas *)S3C24X0_DMA_BASE;
  68}
  69
  70static inline struct s3c24x0_clock_power *s3c24x0_get_base_clock_power(void)
  71{
  72        return (struct s3c24x0_clock_power *)S3C24X0_CLOCK_POWER_BASE;
  73}
  74
  75static inline struct s3c24x0_lcd *s3c24x0_get_base_lcd(void)
  76{
  77        return (struct s3c24x0_lcd *)S3C24X0_LCD_BASE;
  78}
  79
  80static inline struct s3c24x0_uart
  81        *s3c24x0_get_base_uart(enum s3c24x0_uarts_nr n)
  82{
  83        return (struct s3c24x0_uart *)(S3C24X0_UART_BASE + (n * 0x4000));
  84}
  85
  86static inline struct s3c24x0_timers *s3c24x0_get_base_timers(void)
  87{
  88        return (struct s3c24x0_timers *)S3C24X0_TIMER_BASE;
  89}
  90
  91static inline struct s3c24x0_usb_device *s3c24x0_get_base_usb_device(void)
  92{
  93        return (struct s3c24x0_usb_device *)S3C24X0_USB_DEVICE_BASE;
  94}
  95
  96static inline struct s3c24x0_watchdog *s3c24x0_get_base_watchdog(void)
  97{
  98        return (struct s3c24x0_watchdog *)S3C24X0_WATCHDOG_BASE;
  99}
 100
 101static inline struct s3c24x0_i2c *s3c24x0_get_base_i2c(void)
 102{
 103        return (struct s3c24x0_i2c *)S3C24X0_I2C_BASE;
 104}
 105
 106static inline struct s3c24x0_i2s *s3c24x0_get_base_i2s(void)
 107{
 108        return (struct s3c24x0_i2s *)S3C24X0_I2S_BASE;
 109}
 110
 111static inline struct s3c24x0_gpio *s3c24x0_get_base_gpio(void)
 112{
 113        return (struct s3c24x0_gpio *)S3C24X0_GPIO_BASE;
 114}
 115
 116static inline struct s3c24x0_rtc *s3c24x0_get_base_rtc(void)
 117{
 118        return (struct s3c24x0_rtc *)S3C24X0_RTC_BASE;
 119}
 120
 121static inline struct s3c2400_adc *s3c2400_get_base_adc(void)
 122{
 123        return (struct s3c2400_adc *)S3C24X0_ADC_BASE;
 124}
 125
 126static inline struct s3c24x0_spi *s3c24x0_get_base_spi(void)
 127{
 128        return (struct s3c24x0_spi *)S3C24X0_SPI_BASE;
 129}
 130
 131static inline struct s3c2400_mmc *s3c2400_get_base_mmc(void)
 132{
 133        return (struct s3c2400_mmc *)S3C2400_MMC_BASE;
 134}
 135
 136#endif /*__S3C2400_H__*/
 137