| /* | 
 |  * See file CREDITS for list of people who contributed to this | 
 |  * project. | 
 |  * | 
 |  * This program is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU General Public License as | 
 |  * published by the Free Software Foundation; either version 2 of | 
 |  * the License, or (at your option) any later version. | 
 |  * | 
 |  * This program is distributed in the hope that it will be useful, | 
 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 |  * GNU General Public License for more details. | 
 |  * | 
 |  * You should have received a copy of the GNU General Public License | 
 |  * along with this program; if not, write to the Free Software | 
 |  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 
 |  * MA 02111-1307 USA | 
 |  */ | 
 |  | 
 | /* | 
 |  * lh7a404 SoC interface | 
 |  */ | 
 |  | 
 | #ifndef __LH7A404_H__ | 
 | #define __LH7A404_H__ | 
 |  | 
 | #include "lh7a40x.h" | 
 |  | 
 | /* Interrupt Controller (userguide 8.2.1) */ | 
 | typedef struct { | 
 | 	volatile u32  irqstatus; | 
 | 	volatile u32  fiqstatus; | 
 | 	volatile u32  rawintr; | 
 | 	volatile u32  intsel; | 
 | 	volatile u32  inten; | 
 | 	volatile u32  intenclr; | 
 | 	volatile u32  softint; | 
 | 	volatile u32  softintclr; | 
 | 	volatile u32  protect; | 
 | 	volatile u32  unused1; | 
 | 	volatile u32  unused2; | 
 | 	volatile u32  vectaddr; | 
 | 	volatile u32  nvaddr; | 
 | 	volatile u32  unused3[32]; | 
 | 	volatile u32  vad[16]; | 
 | 	volatile u32  unused4[44]; | 
 | 	volatile u32  vectcntl[16]; | 
 | 	volatile u32  unused5[44]; | 
 | 	volatile u32  itcr; | 
 | 	volatile u32  itip1; | 
 | 	volatile u32  itip2; | 
 | 	volatile u32  itop1; | 
 | 	volatile u32  itop2; | 
 | 	volatile u32  unused6[333]; | 
 | 	volatile u32  periphid[4]; | 
 | 	volatile u32  pcellid[4]; | 
 | } /*__attribute__((__packed__))*/ lh7a404_vic_t; | 
 | #define LH7A404_VIC_BASE	(0x80008000) | 
 | #define LH7A400_VIC_PTR(x)  ((lh7a404_vic_t*)(LH7A400_VIC_BASE + (x*0x2000))) | 
 |  | 
 |  | 
 | typedef struct { | 
 | 	lh7a40x_dmachan_t  m2p0_tx; | 
 | 	lh7a40x_dmachan_t  m2p1_rx; | 
 | 	lh7a40x_dmachan_t  m2p2_tx; | 
 | 	lh7a40x_dmachan_t  m2p3_rx; | 
 | 	lh7a40x_dmachan_t  m2m0; | 
 | 	lh7a40x_dmachan_t  m2m1; | 
 | 	lh7a40x_dmachan_t  unused1; | 
 | 	lh7a40x_dmachan_t  unused2; | 
 | 	lh7a40x_dmachan_t  m2p5_rx; | 
 | 	lh7a40x_dmachan_t  m2p4_tx; | 
 | 	lh7a40x_dmachan_t  m2p7_rx; | 
 | 	lh7a40x_dmachan_t  m2p6_tx; | 
 | 	lh7a40x_dmachan_t  m2p9_rx; | 
 | 	lh7a40x_dmachan_t  m2p8_tx; | 
 | 	volatile u32       chanarb; | 
 | 	volatile u32       glblint; | 
 | } /*__attribute__((__packed__))*/ lh7a400_dma_t; | 
 |  | 
 |  | 
 | #endif  /* __LH7A404_H__ */ |