X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=include%2Flh7a400.h;h=d1e70a228bdc23a9d37b99bbd6f54fe2d47cc8f1;hb=215e1cb33ca676c62d96dfd3aa1053b7a92b7997;hp=e43667dc920ac86d49bf677dbdef048a29673ea8;hpb=f39748ae8edb03017647b0d731cdd06e7bdcde13;p=karo-tx-uboot.git diff --git a/include/lh7a400.h b/include/lh7a400.h index e43667dc92..d1e70a228b 100644 --- a/include/lh7a400.h +++ b/include/lh7a400.h @@ -38,35 +38,17 @@ typedef struct { volatile u32 rsvd3; } /*__attribute__((__packed__))*/ lh7a400_interrupt_t; #define LH7A400_INTERRUPT_BASE (0x80000500) -#define LH7A400_INTERRUPT_PTR(name) lh7a400_interrupt_t* name = (lh7a400_interrupt_t*) LH7A400_INTERRUPT_BASE +#define LH7A400_INTERRUPT_PTR ((lh7a400_interrupt_t*) LH7A400_INTERRUPT_BASE) /* (DMA) Direct Memory Access Controller (userguide 9.2.1) */ typedef struct { - volatile u32 maxcnt; - volatile u32 base; - volatile u32 current; - volatile u32 rsvd1; -} lh7a400_dmabuf_t; - -typedef struct { - volatile u32 control; - volatile u32 interrupt; - volatile u32 rsvd1; - volatile u32 status; - volatile u32 rsvd2; - volatile u32 remain; - volatile u32 rsvd3; - volatile u32 rsvd4; - lh7a400_dmabuf_t buf[2]; -} /*__attribute__((__packed__))*/ lh7a400_dmachan_t; - -typedef struct { - lh7a400_dmachan_t chan[15]; + lh7a40x_dmachan_t chan[15]; volatile u32 glblint; volatile u32 rsvd1; volatile u32 rsvd2; volatile u32 rsvd3; } /*__attribute__((__packed__))*/ lh7a400_dma_t; + #define LH7A400_DMA_BASE (0x80002800) #define DMA_USBTX_OFFSET (0x000) #define DMA_USBRX_OFFSET (0x040) @@ -74,20 +56,20 @@ typedef struct { #define DMA_MMCRX_OFFSET (0x0C0) #define DMA_AC97_BASE (0x80002A00) -#define LH7A400_DMA_PTR(name) lh7a400_dma_t* name = (lh7a400_dma_t*) LH7A400_DMA_BASE -#define LH7A400_DMA_USBTX(name) \ - lh7a400_dmachan_t* name = (lh7a400_dmachan_t*) (LH7A400_DMA_BASE + DMA_USBTX_OFFSET) -#define LH7A400_DMA_USBRX(name) \ - lh7a400_dmachan_t* name = (lh7a400_dmachan_t*) (LH7A400_DMA_BASE + DMA_USBRX_OFFSET) -#define LH7A400_DMA_MMCTX(name) \ - lh7a400_dmachan_t* name = (lh7a400_dmachan_t*) (LH7A400_DMA_BASE + DMA_MMCTX_OFFSET) -#define LH7A400_DMA_MMCRX(name) \ - lh7a400_dmachan_t* name = (lh7a400_dmachan_t*) (LH7A400_DMA_BASE + DMA_MMCRX_OFFSET) -#define LH7A400_AC97RX(name,n) \ - lh7a400_dmachan_t* name = (lh7a400_dmachan_t*) (LH7A400_AC97_BASE + \ - ((2*n) * sizeof(lh7a400_dmachan_t))) -#define LH7A400_AC97TX(name,n) \ - lh7a400_dmachan_t* name = (lh7a400_dmachan_t*) (LH7A400_AC97_BASE + \ - (((2*n)+1) * sizeof(lh7a400_dmachan_t))) +#define LH7A400_DMA_PTR ((lh7a400_dma_t*) LH7A400_DMA_BASE) +#define LH7A400_DMA_USBTX \ + ((lh7a400_dmachan_t*) (LH7A400_DMA_BASE + DMA_USBTX_OFFSET)) +#define LH7A400_DMA_USBRX \ + ((lh7a400_dmachan_t*) (LH7A400_DMA_BASE + DMA_USBRX_OFFSET)) +#define LH7A400_DMA_MMCTX \ + ((lh7a400_dmachan_t*) (LH7A400_DMA_BASE + DMA_MMCTX_OFFSET)) +#define LH7A400_DMA_MMCRX \ + ((lh7a400_dmachan_t*) (LH7A400_DMA_BASE + DMA_MMCRX_OFFSET)) +#define LH7A400_AC97RX(n) \ + ((lh7a400_dmachan_t*) (LH7A400_AC97_BASE + \ + ((2*n) * sizeof(lh7a400_dmachan_t)))) +#define LH7A400_AC97TX(n) \ + ((lh7a400_dmachan_t*) (LH7A400_AC97_BASE + \ + (((2*n)+1) * sizeof(lh7a400_dmachan_t)))) #endif /* __LH7A400_H__ */