Path: blob/master/arch/arm/mach-nuc93x/include/mach/map.h
17604 views
/*1* arch/arm/mach-nuc93x/include/mach/map.h2*3* Copyright (c) 2008 Nuvoton technology corporation.4*5* Wan ZongShun <[email protected]>6*7* This program is free software; you can redistribute it and/or modify8* it under the terms of the GNU General Public License as published by9* the Free Software Foundation;version 2 of the License.10*11*/1213#ifndef __ASM_ARCH_MAP_H14#define __ASM_ARCH_MAP_H1516#define MAP_OFFSET (0xfff00000)17#define CLK_OFFSET (0x10)1819#ifndef __ASSEMBLY__20#define NUC93X_ADDR(x) ((void __iomem *)(0xF0000000 + ((x)&(~MAP_OFFSET))))21#else22#define NUC93X_ADDR(x) (0xF0000000 + ((x)&(~MAP_OFFSET)))23#endif2425/*26* nuc932 hardware register definition27*/2829#define NUC93X_PA_IRQ (0xFFF83000)30#define NUC93X_PA_GCR (0xFFF00000)31#define NUC93X_PA_EBI (0xFFF01000)32#define NUC93X_PA_UART (0xFFF80000)33#define NUC93X_PA_TIMER (0xFFF81000)34#define NUC93X_PA_GPIO (0xFFF84000)35#define NUC93X_PA_GDMA (0xFFF03000)36#define NUC93X_PA_USBHOST (0xFFF0d000)37#define NUC93X_PA_I2C (0xFFF89000)38#define NUC93X_PA_LCD (0xFFF06000)39#define NUC93X_PA_GE (0xFFF05000)40#define NUC93X_PA_ADC (0xFFF85000)41#define NUC93X_PA_RTC (0xFFF87000)42#define NUC93X_PA_PWM (0xFFF82000)43#define NUC93X_PA_ACTL (0xFFF0a000)44#define NUC93X_PA_USBDEV (0xFFF0C000)45#define NUC93X_PA_JEPEG (0xFFF0e000)46#define NUC93X_PA_CACHE_T (0xFFF60000)47#define NUC93X_PA_VRAM (0xFFF0b000)48#define NUC93X_PA_DMAC (0xFFF09000)49#define NUC93X_PA_I2SM (0xFFF08000)50#define NUC93X_PA_CACHE (0xFFF02000)51#define NUC93X_PA_GPU (0xFFF04000)52#define NUC93X_PA_VIDEOIN (0xFFF07000)53#define NUC93X_PA_SPI0 (0xFFF86000)54#define NUC93X_PA_SPI1 (0xFFF88000)5556/*57* nuc932 virtual address mapping.58* interrupt controller is the first thing we put in, to make59* the assembly code for the irq detection easier60*/6162#define NUC93X_VA_IRQ NUC93X_ADDR(0x00000000)63#define NUC93X_SZ_IRQ SZ_4K6465#define NUC93X_VA_GCR NUC93X_ADDR(NUC93X_PA_IRQ)66#define NUC93X_VA_CLKPWR (NUC93X_VA_GCR+CLK_OFFSET)67#define NUC93X_SZ_GCR SZ_4K6869/* EBI management */7071#define NUC93X_VA_EBI NUC93X_ADDR(NUC93X_PA_EBI)72#define NUC93X_SZ_EBI SZ_4K7374/* UARTs */7576#define NUC93X_VA_UART NUC93X_ADDR(NUC93X_PA_UART)77#define NUC93X_SZ_UART SZ_4K7879/* Timers */8081#define NUC93X_VA_TIMER NUC93X_ADDR(NUC93X_PA_TIMER)82#define NUC93X_SZ_TIMER SZ_4K8384/* GPIO ports */8586#define NUC93X_VA_GPIO NUC93X_ADDR(NUC93X_PA_GPIO)87#define NUC93X_SZ_GPIO SZ_4K8889/* GDMA control */9091#define NUC93X_VA_GDMA NUC93X_ADDR(NUC93X_PA_GDMA)92#define NUC93X_SZ_GDMA SZ_4K9394/* I2C hardware controller */9596#define NUC93X_VA_I2C NUC93X_ADDR(NUC93X_PA_I2C)97#define NUC93X_SZ_I2C SZ_4K9899/* LCD controller*/100101#define NUC93X_VA_LCD NUC93X_ADDR(NUC93X_PA_LCD)102#define NUC93X_SZ_LCD SZ_4K103104/* 2D controller*/105106#define NUC93X_VA_GE NUC93X_ADDR(NUC93X_PA_GE)107#define NUC93X_SZ_GE SZ_4K108109/* ADC */110111#define NUC93X_VA_ADC NUC93X_ADDR(NUC93X_PA_ADC)112#define NUC93X_SZ_ADC SZ_4K113114/* RTC */115116#define NUC93X_VA_RTC NUC93X_ADDR(NUC93X_PA_RTC)117#define NUC93X_SZ_RTC SZ_4K118119/* Pulse Width Modulation(PWM) Registers */120121#define NUC93X_VA_PWM NUC93X_ADDR(NUC93X_PA_PWM)122#define NUC93X_SZ_PWM SZ_4K123124/* Audio Controller controller */125126#define NUC93X_VA_ACTL NUC93X_ADDR(NUC93X_PA_ACTL)127#define NUC93X_SZ_ACTL SZ_4K128129/* USB Device port */130131#define NUC93X_VA_USBDEV NUC93X_ADDR(NUC93X_PA_USBDEV)132#define NUC93X_SZ_USBDEV SZ_4K133134/* USB host controller*/135#define NUC93X_VA_USBHOST NUC93X_ADDR(NUC93X_PA_USBHOST)136#define NUC93X_SZ_USBHOST SZ_4K137138#endif /* __ASM_ARCH_MAP_H */139140141