PageRenderTime 20ms CodeModel.GetById 11ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/arm/mach-nuc93x/include/mach/map.h

https://github.com/AICP/kernel_asus_grouper
C Header | 139 lines | 69 code | 36 blank | 34 comment | 0 complexity | 5dfcf99f3ace737cc881b64bb7728bf7 MD5 | raw file
  1/*
  2 * arch/arm/mach-nuc93x/include/mach/map.h
  3 *
  4 * Copyright (c) 2008 Nuvoton technology corporation.
  5 *
  6 * Wan ZongShun <mcuos.com@gmail.com>
  7 *
  8 * This program is free software; you can redistribute it and/or modify
  9 * it under the terms of the GNU General Public License as published by
 10 * the Free Software Foundation;version 2 of the License.
 11 *
 12 */
 13
 14#ifndef __ASM_ARCH_MAP_H
 15#define __ASM_ARCH_MAP_H
 16
 17#define MAP_OFFSET	(0xfff00000)
 18#define CLK_OFFSET	(0x10)
 19
 20#ifndef __ASSEMBLY__
 21#define NUC93X_ADDR(x)	((void __iomem *)(0xF0000000 + ((x)&(~MAP_OFFSET))))
 22#else
 23#define NUC93X_ADDR(x)	(0xF0000000 + ((x)&(~MAP_OFFSET)))
 24#endif
 25
 26 /*
 27  * nuc932 hardware register definition
 28  */
 29
 30#define NUC93X_PA_IRQ		(0xFFF83000)
 31#define NUC93X_PA_GCR		(0xFFF00000)
 32#define NUC93X_PA_EBI		(0xFFF01000)
 33#define NUC93X_PA_UART		(0xFFF80000)
 34#define NUC93X_PA_TIMER		(0xFFF81000)
 35#define NUC93X_PA_GPIO		(0xFFF84000)
 36#define NUC93X_PA_GDMA		(0xFFF03000)
 37#define NUC93X_PA_USBHOST	(0xFFF0d000)
 38#define NUC93X_PA_I2C		(0xFFF89000)
 39#define NUC93X_PA_LCD		(0xFFF06000)
 40#define NUC93X_PA_GE		(0xFFF05000)
 41#define NUC93X_PA_ADC		(0xFFF85000)
 42#define NUC93X_PA_RTC		(0xFFF87000)
 43#define NUC93X_PA_PWM		(0xFFF82000)
 44#define NUC93X_PA_ACTL		(0xFFF0a000)
 45#define NUC93X_PA_USBDEV	(0xFFF0C000)
 46#define NUC93X_PA_JEPEG		(0xFFF0e000)
 47#define NUC93X_PA_CACHE_T	(0xFFF60000)
 48#define NUC93X_PA_VRAM		(0xFFF0b000)
 49#define NUC93X_PA_DMAC		(0xFFF09000)
 50#define NUC93X_PA_I2SM		(0xFFF08000)
 51#define NUC93X_PA_CACHE		(0xFFF02000)
 52#define NUC93X_PA_GPU		(0xFFF04000)
 53#define NUC93X_PA_VIDEOIN	(0xFFF07000)
 54#define NUC93X_PA_SPI0		(0xFFF86000)
 55#define NUC93X_PA_SPI1		(0xFFF88000)
 56
 57 /*
 58  * nuc932 virtual address mapping.
 59  * interrupt controller is the first thing we put in, to make
 60  * the assembly code for the irq detection easier
 61  */
 62
 63#define NUC93X_VA_IRQ		NUC93X_ADDR(0x00000000)
 64#define NUC93X_SZ_IRQ		SZ_4K
 65
 66#define NUC93X_VA_GCR		NUC93X_ADDR(NUC93X_PA_IRQ)
 67#define NUC93X_VA_CLKPWR	(NUC93X_VA_GCR+CLK_OFFSET)
 68#define NUC93X_SZ_GCR		SZ_4K
 69
 70/* EBI management */
 71
 72#define NUC93X_VA_EBI		NUC93X_ADDR(NUC93X_PA_EBI)
 73#define NUC93X_SZ_EBI		SZ_4K
 74
 75/* UARTs */
 76
 77#define NUC93X_VA_UART		NUC93X_ADDR(NUC93X_PA_UART)
 78#define NUC93X_SZ_UART		SZ_4K
 79
 80/* Timers */
 81
 82#define NUC93X_VA_TIMER	NUC93X_ADDR(NUC93X_PA_TIMER)
 83#define NUC93X_SZ_TIMER	SZ_4K
 84
 85/* GPIO ports */
 86
 87#define NUC93X_VA_GPIO		NUC93X_ADDR(NUC93X_PA_GPIO)
 88#define NUC93X_SZ_GPIO		SZ_4K
 89
 90/* GDMA control */
 91
 92#define NUC93X_VA_GDMA		NUC93X_ADDR(NUC93X_PA_GDMA)
 93#define NUC93X_SZ_GDMA		SZ_4K
 94
 95/* I2C hardware controller */
 96
 97#define NUC93X_VA_I2C		NUC93X_ADDR(NUC93X_PA_I2C)
 98#define NUC93X_SZ_I2C		SZ_4K
 99
100/* LCD controller*/
101
102#define NUC93X_VA_LCD		NUC93X_ADDR(NUC93X_PA_LCD)
103#define NUC93X_SZ_LCD		SZ_4K
104
105/* 2D controller*/
106
107#define NUC93X_VA_GE		NUC93X_ADDR(NUC93X_PA_GE)
108#define NUC93X_SZ_GE		SZ_4K
109
110/* ADC */
111
112#define NUC93X_VA_ADC		NUC93X_ADDR(NUC93X_PA_ADC)
113#define NUC93X_SZ_ADC		SZ_4K
114
115/* RTC */
116
117#define NUC93X_VA_RTC		NUC93X_ADDR(NUC93X_PA_RTC)
118#define NUC93X_SZ_RTC		SZ_4K
119
120/* Pulse Width Modulation(PWM) Registers */
121
122#define NUC93X_VA_PWM		NUC93X_ADDR(NUC93X_PA_PWM)
123#define NUC93X_SZ_PWM		SZ_4K
124
125/* Audio Controller controller */
126
127#define NUC93X_VA_ACTL		NUC93X_ADDR(NUC93X_PA_ACTL)
128#define NUC93X_SZ_ACTL		SZ_4K
129
130/* USB Device port */
131
132#define NUC93X_VA_USBDEV	NUC93X_ADDR(NUC93X_PA_USBDEV)
133#define NUC93X_SZ_USBDEV	SZ_4K
134
135/* USB host controller*/
136#define NUC93X_VA_USBHOST	NUC93X_ADDR(NUC93X_PA_USBHOST)
137#define NUC93X_SZ_USBHOST	SZ_4K
138
139#endif /* __ASM_ARCH_MAP_H */