uboot/include/lh7a404.h
<<
>>
Prefs
   1/*
   2 * See file CREDITS for list of people who contributed to this
   3 * project.
   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 * lh7a404 SoC interface
  23 */
  24
  25#ifndef __LH7A404_H__
  26#define __LH7A404_H__
  27
  28#include "lh7a40x.h"
  29
  30/* Interrupt Controller (userguide 8.2.1) */
  31typedef struct {
  32        volatile u32  irqstatus;
  33        volatile u32  fiqstatus;
  34        volatile u32  rawintr;
  35        volatile u32  intsel;
  36        volatile u32  inten;
  37        volatile u32  intenclr;
  38        volatile u32  softint;
  39        volatile u32  softintclr;
  40        volatile u32  protect;
  41        volatile u32  unused1;
  42        volatile u32  unused2;
  43        volatile u32  vectaddr;
  44        volatile u32  nvaddr;
  45        volatile u32  unused3[32];
  46        volatile u32  vad[16];
  47        volatile u32  unused4[44];
  48        volatile u32  vectcntl[16];
  49        volatile u32  unused5[44];
  50        volatile u32  itcr;
  51        volatile u32  itip1;
  52        volatile u32  itip2;
  53        volatile u32  itop1;
  54        volatile u32  itop2;
  55        volatile u32  unused6[333];
  56        volatile u32  periphid[4];
  57        volatile u32  pcellid[4];
  58} /*__attribute__((__packed__))*/ lh7a404_vic_t;
  59#define LH7A404_VIC_BASE        (0x80008000)
  60#define LH7A400_VIC_PTR(x)  ((lh7a404_vic_t*)(LH7A400_VIC_BASE + (x*0x2000)))
  61
  62
  63typedef struct {
  64        lh7a40x_dmachan_t  m2p0_tx;
  65        lh7a40x_dmachan_t  m2p1_rx;
  66        lh7a40x_dmachan_t  m2p2_tx;
  67        lh7a40x_dmachan_t  m2p3_rx;
  68        lh7a40x_dmachan_t  m2m0;
  69        lh7a40x_dmachan_t  m2m1;
  70        lh7a40x_dmachan_t  unused1;
  71        lh7a40x_dmachan_t  unused2;
  72        lh7a40x_dmachan_t  m2p5_rx;
  73        lh7a40x_dmachan_t  m2p4_tx;
  74        lh7a40x_dmachan_t  m2p7_rx;
  75        lh7a40x_dmachan_t  m2p6_tx;
  76        lh7a40x_dmachan_t  m2p9_rx;
  77        lh7a40x_dmachan_t  m2p8_tx;
  78        volatile u32       chanarb;
  79        volatile u32       glblint;
  80} /*__attribute__((__packed__))*/ lh7a400_dma_t;
  81
  82
  83#endif  /* __LH7A404_H__ */
  84