140 lines
		
	
	
	
		
			3.4 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			140 lines
		
	
	
	
		
			3.4 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * arch/arm/mach-nuc93x/include/mach/map.h
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Copyright (c) 2008 Nuvoton technology corporation.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Wan ZongShun <mcuos.com@gmail.com>
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * 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;version 2 of the License.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef __ASM_ARCH_MAP_H
							 | 
						||
| 
								 | 
							
								#define __ASM_ARCH_MAP_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define MAP_OFFSET	(0xfff00000)
							 | 
						||
| 
								 | 
							
								#define CLK_OFFSET	(0x10)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef __ASSEMBLY__
							 | 
						||
| 
								 | 
							
								#define NUC93X_ADDR(x)	((void __iomem *)(0xF0000000 + ((x)&(~MAP_OFFSET))))
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								#define NUC93X_ADDR(x)	(0xF0000000 + ((x)&(~MAP_OFFSET)))
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 /*
							 | 
						||
| 
								 | 
							
								  * nuc932 hardware register definition
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_IRQ		(0xFFF83000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_GCR		(0xFFF00000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_EBI		(0xFFF01000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_UART		(0xFFF80000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_TIMER		(0xFFF81000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_GPIO		(0xFFF84000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_GDMA		(0xFFF03000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_USBHOST	(0xFFF0d000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_I2C		(0xFFF89000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_LCD		(0xFFF06000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_GE		(0xFFF05000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_ADC		(0xFFF85000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_RTC		(0xFFF87000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_PWM		(0xFFF82000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_ACTL		(0xFFF0a000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_USBDEV	(0xFFF0C000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_JEPEG		(0xFFF0e000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_CACHE_T	(0xFFF60000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_VRAM		(0xFFF0b000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_DMAC		(0xFFF09000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_I2SM		(0xFFF08000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_CACHE		(0xFFF02000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_GPU		(0xFFF04000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_VIDEOIN	(0xFFF07000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_SPI0		(0xFFF86000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_PA_SPI1		(0xFFF88000)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 /*
							 | 
						||
| 
								 | 
							
								  * nuc932 virtual address mapping.
							 | 
						||
| 
								 | 
							
								  * interrupt controller is the first thing we put in, to make
							 | 
						||
| 
								 | 
							
								  * the assembly code for the irq detection easier
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_IRQ		NUC93X_ADDR(0x00000000)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_IRQ		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_GCR		NUC93X_ADDR(NUC93X_PA_IRQ)
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_CLKPWR	(NUC93X_VA_GCR+CLK_OFFSET)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_GCR		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* EBI management */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_EBI		NUC93X_ADDR(NUC93X_PA_EBI)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_EBI		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* UARTs */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_UART		NUC93X_ADDR(NUC93X_PA_UART)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_UART		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Timers */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_TIMER	NUC93X_ADDR(NUC93X_PA_TIMER)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_TIMER	SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* GPIO ports */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_GPIO		NUC93X_ADDR(NUC93X_PA_GPIO)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_GPIO		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* GDMA control */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_GDMA		NUC93X_ADDR(NUC93X_PA_GDMA)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_GDMA		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* I2C hardware controller */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_I2C		NUC93X_ADDR(NUC93X_PA_I2C)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_I2C		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* LCD controller*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_LCD		NUC93X_ADDR(NUC93X_PA_LCD)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_LCD		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* 2D controller*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_GE		NUC93X_ADDR(NUC93X_PA_GE)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_GE		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* ADC */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_ADC		NUC93X_ADDR(NUC93X_PA_ADC)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_ADC		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* RTC */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_RTC		NUC93X_ADDR(NUC93X_PA_RTC)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_RTC		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Pulse Width Modulation(PWM) Registers */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_PWM		NUC93X_ADDR(NUC93X_PA_PWM)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_PWM		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Audio Controller controller */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_ACTL		NUC93X_ADDR(NUC93X_PA_ACTL)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_ACTL		SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* USB Device port */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_USBDEV	NUC93X_ADDR(NUC93X_PA_USBDEV)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_USBDEV	SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* USB host controller*/
							 | 
						||
| 
								 | 
							
								#define NUC93X_VA_USBHOST	NUC93X_ADDR(NUC93X_PA_USBHOST)
							 | 
						||
| 
								 | 
							
								#define NUC93X_SZ_USBHOST	SZ_4K
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* __ASM_ARCH_MAP_H */
							 |