forked from Minki/linux
583ddafe17
arch/arm/mach-ep93xx/include/mach/hardware.h 1. Properly name the include files so that they are loaded from the <mach/*> directory and not the local directory. 2. Remove including the ts72xx.h header. This header is not generic to the ep93xx platform. It should only be included by the ts72xx specific files that require it. The only two users in the tree are arch/arm/mach-ep93xx/ts72xx.c and drivers/mtd/nand/ts7250.c. arch/arm/mach-ep93xx/include/mach/ts72xx.h 1. <linux/io.h> should already be included by any user of this header. Doing the include here hides it from being needed by the calling source file. arch/arm/mach-ep93xx/core.c 1. Remove unnecessary headers. They were probably included originally due to cut-and-paste from other files. 2. <linux/io.h> should be included not <mach/gpio.h> arch/arm/mach-ep93xx/adsphere.c arch/arm/mach-ep93xx/edb93xx.c arch/arm/mach-ep93xx/gesbc9312.c arch/arm/mach-ep93xx/micro9.c arch/arm/mach-ep93xx/ts72xx.c 1. Remove unnecessary headers. arch/arm/mach-ep93xx/ts72xx.c 1. Remove unnecessary headers. 2. Add platform specific header <mach/ts72xx.h>. drivers/mtd/nand/ts7250.c 1. <linux/io.h> should be included not <asm/io.h>. 2. Add platform specific header <mach/ts72xx.h>. Cc: Ryan Mallon <ryan@bluewatersys.com> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
101 lines
2.6 KiB
C
101 lines
2.6 KiB
C
/*
|
|
* arch/arm/mach-ep93xx/include/mach/ts72xx.h
|
|
*/
|
|
|
|
/*
|
|
* TS72xx memory map:
|
|
*
|
|
* virt phys size
|
|
* febff000 22000000 4K model number register
|
|
* febfe000 22400000 4K options register
|
|
* febfd000 22800000 4K options register #2
|
|
* febfc000 [67]0000000 4K NAND data register
|
|
* febfb000 [67]0400000 4K NAND control register
|
|
* febfa000 [67]0800000 4K NAND busy register
|
|
* febf9000 10800000 4K TS-5620 RTC index register
|
|
* febf8000 11700000 4K TS-5620 RTC data register
|
|
*/
|
|
|
|
#define TS72XX_MODEL_PHYS_BASE 0x22000000
|
|
#define TS72XX_MODEL_VIRT_BASE 0xfebff000
|
|
#define TS72XX_MODEL_SIZE 0x00001000
|
|
|
|
#define TS72XX_MODEL_TS7200 0x00
|
|
#define TS72XX_MODEL_TS7250 0x01
|
|
#define TS72XX_MODEL_TS7260 0x02
|
|
|
|
|
|
#define TS72XX_OPTIONS_PHYS_BASE 0x22400000
|
|
#define TS72XX_OPTIONS_VIRT_BASE 0xfebfe000
|
|
#define TS72XX_OPTIONS_SIZE 0x00001000
|
|
|
|
#define TS72XX_OPTIONS_COM2_RS485 0x02
|
|
#define TS72XX_OPTIONS_MAX197 0x01
|
|
|
|
|
|
#define TS72XX_OPTIONS2_PHYS_BASE 0x22800000
|
|
#define TS72XX_OPTIONS2_VIRT_BASE 0xfebfd000
|
|
#define TS72XX_OPTIONS2_SIZE 0x00001000
|
|
|
|
#define TS72XX_OPTIONS2_TS9420 0x04
|
|
#define TS72XX_OPTIONS2_TS9420_BOOT 0x02
|
|
|
|
|
|
#define TS72XX_NOR_PHYS_BASE 0x60000000
|
|
#define TS72XX_NOR2_PHYS_BASE 0x62000000
|
|
|
|
#define TS72XX_NAND1_DATA_PHYS_BASE 0x60000000
|
|
#define TS72XX_NAND2_DATA_PHYS_BASE 0x70000000
|
|
#define TS72XX_NAND_DATA_VIRT_BASE 0xfebfc000
|
|
#define TS72XX_NAND_DATA_SIZE 0x00001000
|
|
|
|
#define TS72XX_NAND1_CONTROL_PHYS_BASE 0x60400000
|
|
#define TS72XX_NAND2_CONTROL_PHYS_BASE 0x70400000
|
|
#define TS72XX_NAND_CONTROL_VIRT_BASE 0xfebfb000
|
|
#define TS72XX_NAND_CONTROL_SIZE 0x00001000
|
|
|
|
#define TS72XX_NAND1_BUSY_PHYS_BASE 0x60800000
|
|
#define TS72XX_NAND2_BUSY_PHYS_BASE 0x70800000
|
|
#define TS72XX_NAND_BUSY_VIRT_BASE 0xfebfa000
|
|
#define TS72XX_NAND_BUSY_SIZE 0x00001000
|
|
|
|
|
|
#define TS72XX_RTC_INDEX_VIRT_BASE 0xfebf9000
|
|
#define TS72XX_RTC_INDEX_PHYS_BASE 0x10800000
|
|
#define TS72XX_RTC_INDEX_SIZE 0x00001000
|
|
|
|
#define TS72XX_RTC_DATA_VIRT_BASE 0xfebf8000
|
|
#define TS72XX_RTC_DATA_PHYS_BASE 0x11700000
|
|
#define TS72XX_RTC_DATA_SIZE 0x00001000
|
|
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
static inline int board_is_ts7200(void)
|
|
{
|
|
return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7200;
|
|
}
|
|
|
|
static inline int board_is_ts7250(void)
|
|
{
|
|
return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7250;
|
|
}
|
|
|
|
static inline int board_is_ts7260(void)
|
|
{
|
|
return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7260;
|
|
}
|
|
|
|
static inline int is_max197_installed(void)
|
|
{
|
|
return !!(__raw_readb(TS72XX_OPTIONS_VIRT_BASE) &
|
|
TS72XX_OPTIONS_MAX197);
|
|
}
|
|
|
|
static inline int is_ts9420_installed(void)
|
|
{
|
|
return !!(__raw_readb(TS72XX_OPTIONS2_VIRT_BASE) &
|
|
TS72XX_OPTIONS2_TS9420);
|
|
}
|
|
#endif
|