[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
/*
|
2008-08-05 23:14:15 +08:00
|
|
|
* arch/arm/mach-ep93xx/include/mach/ts72xx.h
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* TS72xx memory map:
|
|
|
|
*
|
|
|
|
* virt phys size
|
2011-06-17 18:11:59 +08:00
|
|
|
* febff000 22000000 4K model number register (bits 0-2)
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
* febfe000 22400000 4K options register
|
|
|
|
* febfd000 22800000 4K options register #2
|
2006-04-02 23:17:40 +08:00
|
|
|
* febf9000 10800000 4K TS-5620 RTC index register
|
|
|
|
* febf8000 11700000 4K TS-5620 RTC data register
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
*/
|
|
|
|
|
|
|
|
#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
|
2011-06-17 18:09:07 +08:00
|
|
|
#define TS72XX_MODEL_TS7300 0x03
|
|
|
|
#define TS72XX_MODEL_TS7400 0x04
|
2011-06-17 18:11:59 +08:00
|
|
|
#define TS72XX_MODEL_MASK 0x07
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
#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
|
|
|
|
|
|
|
|
|
2006-04-02 23:17:40 +08:00
|
|
|
#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
|
|
|
|
|
2009-11-29 23:03:03 +08:00
|
|
|
#define TS72XX_WDT_CONTROL_PHYS_BASE 0x23800000
|
|
|
|
#define TS72XX_WDT_FEED_PHYS_BASE 0x23c00000
|
2006-04-02 23:17:40 +08:00
|
|
|
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
|
2011-06-17 18:11:59 +08:00
|
|
|
static inline int ts72xx_model(void)
|
|
|
|
{
|
|
|
|
return __raw_readb(TS72XX_MODEL_VIRT_BASE) & TS72XX_MODEL_MASK;
|
|
|
|
}
|
|
|
|
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
static inline int board_is_ts7200(void)
|
|
|
|
{
|
2011-06-17 18:11:59 +08:00
|
|
|
return ts72xx_model() == TS72XX_MODEL_TS7200;
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static inline int board_is_ts7250(void)
|
|
|
|
{
|
2011-06-17 18:11:59 +08:00
|
|
|
return ts72xx_model() == TS72XX_MODEL_TS7250;
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static inline int board_is_ts7260(void)
|
|
|
|
{
|
2011-06-17 18:11:59 +08:00
|
|
|
return ts72xx_model() == TS72XX_MODEL_TS7260;
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
}
|
|
|
|
|
2011-06-17 18:09:07 +08:00
|
|
|
static inline int board_is_ts7300(void)
|
|
|
|
{
|
2011-06-17 18:11:59 +08:00
|
|
|
return ts72xx_model() == TS72XX_MODEL_TS7300;
|
2011-06-17 18:09:07 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static inline int board_is_ts7400(void)
|
|
|
|
{
|
2011-06-17 18:11:59 +08:00
|
|
|
return ts72xx_model() == TS72XX_MODEL_TS7400;
|
2011-06-17 18:09:07 +08:00
|
|
|
}
|
|
|
|
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 01:10:13 +08:00
|
|
|
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
|