xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-pxa/hardware.h (revision 643aae1406c93ddc64fcf8c136b47cdffd9c8ccd)
1819833afSPeter Tyser /*
2819833afSPeter Tyser  *  linux/include/asm-arm/arch-pxa/hardware.h
3819833afSPeter Tyser  *
4819833afSPeter Tyser  *  Author:	Nicolas Pitre
5819833afSPeter Tyser  *  Created:	Jun 15, 2001
6819833afSPeter Tyser  *  Copyright:	MontaVista Software Inc.
7819833afSPeter Tyser  *
8819833afSPeter Tyser  * This program is free software; you can redistribute it and/or modify
9819833afSPeter Tyser  * it under the terms of the GNU General Public License version 2 as
10819833afSPeter Tyser  * published by the Free Software Foundation.
11819833afSPeter Tyser  *
12819833afSPeter Tyser  * Note: This file was taken from linux-2.4.19-rmk4-pxa1
13819833afSPeter Tyser  *
14819833afSPeter Tyser  * - 2003/01/20 implementation specifics activated
15819833afSPeter Tyser  *   Robert Schwebel <r.schwebel@pengutronix.de>
16819833afSPeter Tyser  */
17819833afSPeter Tyser 
18819833afSPeter Tyser #ifndef __ASM_ARCH_HARDWARE_H
19819833afSPeter Tyser #define __ASM_ARCH_HARDWARE_H
20819833afSPeter Tyser 
21819833afSPeter Tyser #include <asm/mach-types.h>
22819833afSPeter Tyser 
23*3ba8bf7cSMarek Vasut /*
24*3ba8bf7cSMarek Vasut  * Define CONFIG_CPU_MONAHANS in case some CPU of the PXA3xx family is selected.
25*3ba8bf7cSMarek Vasut  * PXA300/310/320 all have distinct register mappings in some cases, that's why
26*3ba8bf7cSMarek Vasut  * the exact CPU has to be selected. CONFIG_CPU_MONAHANS is a helper for common
27*3ba8bf7cSMarek Vasut  * drivers and compatibility glue with old source then.
28*3ba8bf7cSMarek Vasut  */
29*3ba8bf7cSMarek Vasut #ifndef	CONFIG_CPU_MONAHANS
30*3ba8bf7cSMarek Vasut #if	defined(CONFIG_CPU_PXA300) || \
31*3ba8bf7cSMarek Vasut 	defined(CONFIG_CPU_PXA310) || \
32*3ba8bf7cSMarek Vasut 	defined(CONFIG_CPU_PXA320)
33*3ba8bf7cSMarek Vasut #define	CONFIG_CPU_MONAHANS
34*3ba8bf7cSMarek Vasut #endif
35*3ba8bf7cSMarek Vasut #endif
36819833afSPeter Tyser 
37819833afSPeter Tyser /*
38819833afSPeter Tyser  * These are statically mapped PCMCIA IO space for designs using it as a
39819833afSPeter Tyser  * generic IO bus, typically with ISA parts, hardwired IDE interfaces, etc.
40819833afSPeter Tyser  * The actual PCMCIA code is mapping required IO region at run time.
41819833afSPeter Tyser  */
42819833afSPeter Tyser #define PCMCIA_IO_0_BASE	0xf6000000
43819833afSPeter Tyser #define PCMCIA_IO_1_BASE	0xf7000000
44819833afSPeter Tyser 
45819833afSPeter Tyser 
46819833afSPeter Tyser /*
47819833afSPeter Tyser  * We requires absolute addresses.
48819833afSPeter Tyser  */
49819833afSPeter Tyser #define PCIO_BASE		0
50819833afSPeter Tyser 
51819833afSPeter Tyser /*
52819833afSPeter Tyser  * Workarounds for at least 2 errata so far require this.
53819833afSPeter Tyser  * The mapping is set in mach-pxa/generic.c.
54819833afSPeter Tyser  */
55819833afSPeter Tyser #define UNCACHED_PHYS_0		0xff000000
56819833afSPeter Tyser #define UNCACHED_ADDR		UNCACHED_PHYS_0
57819833afSPeter Tyser 
58819833afSPeter Tyser /*
59819833afSPeter Tyser  * Intel PXA internal I/O mappings:
60819833afSPeter Tyser  *
61819833afSPeter Tyser  * 0x40000000 - 0x41ffffff <--> 0xf8000000 - 0xf9ffffff
62819833afSPeter Tyser  * 0x44000000 - 0x45ffffff <--> 0xfa000000 - 0xfbffffff
63819833afSPeter Tyser  * 0x48000000 - 0x49ffffff <--> 0xfc000000 - 0xfdffffff
64819833afSPeter Tyser  */
65819833afSPeter Tyser 
66819833afSPeter Tyser #include "pxa-regs.h"
67819833afSPeter Tyser 
68819833afSPeter Tyser #ifndef __ASSEMBLY__
69819833afSPeter Tyser 
70819833afSPeter Tyser /*
71819833afSPeter Tyser  * GPIO edge detection for IRQs:
72819833afSPeter Tyser  * IRQs are generated on Falling-Edge, Rising-Edge, or both.
73819833afSPeter Tyser  * This must be called *before* the corresponding IRQ is registered.
74819833afSPeter Tyser  * Use this instead of directly setting GRER/GFER.
75819833afSPeter Tyser  */
76819833afSPeter Tyser #define GPIO_FALLING_EDGE	1
77819833afSPeter Tyser #define GPIO_RISING_EDGE	2
78819833afSPeter Tyser #define GPIO_BOTH_EDGES		3
79819833afSPeter Tyser 
80819833afSPeter Tyser #endif
81819833afSPeter Tyser 
82819833afSPeter Tyser 
83819833afSPeter Tyser /*
84819833afSPeter Tyser  * Implementation specifics
85819833afSPeter Tyser  */
86819833afSPeter Tyser 
87819833afSPeter Tyser #ifdef CONFIG_ARCH_LUBBOCK
88819833afSPeter Tyser #include "lubbock.h"
89819833afSPeter Tyser #endif
90819833afSPeter Tyser 
91819833afSPeter Tyser #ifdef CONFIG_ARCH_PXA_IDP
92819833afSPeter Tyser #include "idp.h"
93819833afSPeter Tyser #endif
94819833afSPeter Tyser 
95819833afSPeter Tyser #ifdef CONFIG_ARCH_PXA_CERF
96819833afSPeter Tyser #include "cerf.h"
97819833afSPeter Tyser #endif
98819833afSPeter Tyser 
99819833afSPeter Tyser #ifdef CONFIG_ARCH_CSB226
100819833afSPeter Tyser #include "csb226.h"
101819833afSPeter Tyser #endif
102819833afSPeter Tyser 
103819833afSPeter Tyser #ifdef CONFIG_ARCH_INNOKOM
104819833afSPeter Tyser #include "innokom.h"
105819833afSPeter Tyser #endif
106819833afSPeter Tyser 
107819833afSPeter Tyser #ifdef CONFIG_ARCH_PLEB
108819833afSPeter Tyser #include "pleb.h"
109819833afSPeter Tyser #endif
110819833afSPeter Tyser 
111819833afSPeter Tyser #endif	/* _ASM_ARCH_HARDWARE_H */
112