uboot/board/logicpd/zoom2/zoom2_serial.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2009 Wind River Systems, Inc.
   3 * Tom Rix <Tom.Rix@windriver.com>
   4 *
   5 * This program is free software; you can redistribute it and/or
   6 * modify it under the terms of the GNU General Public License as
   7 * published by the Free Software Foundation; either version 2 of
   8 * the License, or (at your option) any later version.
   9 *
  10 * This program is distributed in the hope that it will be useful,
  11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13 * GNU General Public License for more details.
  14 *
  15 * You should have received a copy of the GNU General Public License
  16 * along with this program; if not, write to the Free Software
  17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  18 * MA 02111-1307 USA
  19 *
  20 */
  21
  22#ifndef ZOOM2_SERIAL_H
  23#define ZOOM2_SERIAL_H
  24
  25extern int zoom2_debug_board_connected (void);
  26
  27#define SERIAL_TL16CP754C_BASE  0x10000000      /* Zoom2 Serial chip address */
  28
  29#define QUAD_BASE_0     SERIAL_TL16CP754C_BASE
  30#define QUAD_BASE_1     (SERIAL_TL16CP754C_BASE + 0x100)
  31#define QUAD_BASE_2     (SERIAL_TL16CP754C_BASE + 0x200)
  32#define QUAD_BASE_3     (SERIAL_TL16CP754C_BASE + 0x300)
  33
  34#define S(a) #a
  35#define N(a) S(quad##a)
  36#define U(a) S(UART##a)
  37
  38#define QUAD_INIT(n)                            \
  39int quad_init_##n(void)                         \
  40{                                               \
  41        return quad_init_dev(QUAD_BASE_##n);    \
  42}                                               \
  43void quad_setbrg_##n(void)                      \
  44{                                               \
  45        quad_setbrg_dev(QUAD_BASE_##n);         \
  46}                                               \
  47void quad_putc_##n(const char c)                \
  48{                                               \
  49        quad_putc_dev(QUAD_BASE_##n, c);        \
  50}                                               \
  51void quad_puts_##n(const char *s)               \
  52{                                               \
  53        quad_puts_dev(QUAD_BASE_##n, s);        \
  54}                                               \
  55int quad_getc_##n(void)                         \
  56{                                               \
  57        return quad_getc_dev(QUAD_BASE_##n);    \
  58}                                               \
  59int quad_tstc_##n(void)                         \
  60{                                               \
  61        return quad_tstc_dev(QUAD_BASE_##n);    \
  62}                                               \
  63struct serial_device zoom2_serial_device##n =   \
  64{                                               \
  65        N(n),                                   \
  66        U(n),                                   \
  67        quad_init_##n,                          \
  68        quad_setbrg_##n,                        \
  69        quad_getc_##n,                          \
  70        quad_tstc_##n,                          \
  71        quad_putc_##n,                          \
  72        quad_puts_##n,                          \
  73};
  74
  75#endif /* ZOOM2_SERIAL_H */
  76