mirror of https://gitee.com/openkylin/linux.git
[PATCH] m32r: Support M3A-2170(Mappi-III) platform
This patchset is for supporting a new m32r platform, M3A-2170(Mappi-III) evaluation board. An M32R chip multiprocessor is equipped on the board. http://http://www.linux-m32r.org/eng/platform/platform.html * arch/m32r/Kconfig: Support Mappi-III platform. * arch/m32r/kernel/Makefile: ditto. * arch/m32r/kernel/io_mappi3.c: ditto. * arch/m32r/kernel/setup.c: ditto. * arch/m32r/kernel/setup_mappi3.c: ditto. * include/asm-m32r/m32102.h: ditto. * include/asm-m32r/m32r.h: ditto. * include/asm-m32r/mappi3/mappi3_pld.h: ditto. * include/asm-m32r/ide.h: CF support for Mappi-III. * arch/m32r/kernel/setup_mappi3.c: ditto. * arch/m32r/mappi3/defconfig.smp: A default config file for Mappi-III. * arch/m32r/mappi3/dot.gdbinit: A default .gdbinit file for Mappi-III. * arch/m32r/boot/compressed/m32r_sio.c: Modified for Mappi-III - At boot time, m32r-g00ff bootloader makes MMU off for Mappi-III, on the contrary it makes MMU on for Mappi-II. * arch/m32r/kernel/io_mappi2.c: Update comments. * arch/m32r/kernel/setup_mappi2.c: ditto. Signed-off-by: Mamoru Sakugawa <sakugawa@linux-m32r.org> Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
d4c477ca54
commit
2368086344
|
@ -78,6 +78,9 @@ config PLAT_OAKS32R
|
|||
config PLAT_MAPPI2
|
||||
bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
|
||||
|
||||
config PLAT_MAPPI3
|
||||
bool "Mappi-III(M3A-2170)"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
|
@ -134,6 +137,7 @@ config BUS_CLOCK
|
|||
int "Bus Clock [Hz] (integer)"
|
||||
default "70000000" if PLAT_MAPPI
|
||||
default "25000000" if PLAT_USRV
|
||||
default "50000000" if PLAT_MAPPI3
|
||||
default "50000000" if PLAT_M32700UT
|
||||
default "50000000" if PLAT_OPSPUT
|
||||
default "33333333" if PLAT_OAKS32R
|
||||
|
@ -149,7 +153,7 @@ config CPU_LITTLE_ENDIAN
|
|||
|
||||
config MEMORY_START
|
||||
hex "Physical memory start address (hex)"
|
||||
default "08000000" if PLAT_MAPPI || PLAT_MAPPI2
|
||||
default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
|
||||
default "08000000" if PLAT_USRV
|
||||
default "08000000" if PLAT_M32700UT
|
||||
default "08000000" if PLAT_OPSPUT
|
||||
|
@ -157,6 +161,7 @@ config MEMORY_START
|
|||
|
||||
config MEMORY_SIZE
|
||||
hex "Physical memory size (hex)"
|
||||
default "08000000" if PLAT_MAPPI3
|
||||
default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
|
||||
default "02000000" if PLAT_USRV
|
||||
default "01000000" if PLAT_M32700UT
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
*/
|
||||
|
||||
#include <linux/config.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
static void putc(char c);
|
||||
|
||||
|
@ -38,16 +39,17 @@ static int puts(const char *s)
|
|||
|
||||
static void putc(char c)
|
||||
{
|
||||
|
||||
while ((*BOOT_SIO0STS & 0x3) != 0x3) ;
|
||||
while ((*BOOT_SIO0STS & 0x3) != 0x3)
|
||||
cpu_relax();
|
||||
if (c == '\n') {
|
||||
*BOOT_SIO0TXB = '\r';
|
||||
while ((*BOOT_SIO0STS & 0x3) != 0x3) ;
|
||||
while ((*BOOT_SIO0STS & 0x3) != 0x3)
|
||||
cpu_relax();
|
||||
}
|
||||
*BOOT_SIO0TXB = c;
|
||||
}
|
||||
#else /* defined(CONFIG_PLAT_M32700UT_Alpha) || defined(CONFIG_PLAT_M32700UT) */
|
||||
#ifdef CONFIG_MMU
|
||||
#else /* !(CONFIG_PLAT_M32700UT_Alpha) && !(CONFIG_PLAT_M32700UT) */
|
||||
#if defined(CONFIG_PLAT_MAPPI2)
|
||||
#define SIO0STS (volatile unsigned short *)(0xa0efd000 + 14)
|
||||
#define SIO0TXB (volatile unsigned short *)(0xa0efd000 + 30)
|
||||
#else
|
||||
|
@ -57,11 +59,12 @@ static void putc(char c)
|
|||
|
||||
static void putc(char c)
|
||||
{
|
||||
|
||||
while ((*SIO0STS & 0x1) == 0) ;
|
||||
while ((*SIO0STS & 0x1) == 0)
|
||||
cpu_relax();
|
||||
if (c == '\n') {
|
||||
*SIO0TXB = '\r';
|
||||
while ((*SIO0STS & 0x1) == 0) ;
|
||||
while ((*SIO0STS & 0x1) == 0)
|
||||
cpu_relax();
|
||||
}
|
||||
*SIO0TXB = c;
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ obj-y := process.o entry.o traps.o align.o irq.o setup.o time.o \
|
|||
obj-$(CONFIG_SMP) += smp.o smpboot.o
|
||||
obj-$(CONFIG_PLAT_MAPPI) += setup_mappi.o io_mappi.o
|
||||
obj-$(CONFIG_PLAT_MAPPI2) += setup_mappi2.o io_mappi2.o
|
||||
obj-$(CONFIG_PLAT_MAPPI3) += setup_mappi3.o io_mappi3.o
|
||||
obj-$(CONFIG_PLAT_USRV) += setup_usrv.o io_usrv.o
|
||||
obj-$(CONFIG_PLAT_M32700UT) += setup_m32700ut.o io_m32700ut.o
|
||||
obj-$(CONFIG_PLAT_OPSPUT) += setup_opsput.o io_opsput.o
|
||||
|
@ -17,4 +18,3 @@ obj-$(CONFIG_MODULES) += module.o
|
|||
obj-$(CONFIG_PLAT_OAKS32R) += setup_oaks32r.o io_oaks32r.o
|
||||
|
||||
EXTRA_AFLAGS := -traditional
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
*
|
||||
* Typical I/O routines for M32700UT board.
|
||||
*
|
||||
* Copyright (c) 2001, 2002 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Takeo Takahashi
|
||||
* Copyright (c) 2001-2005 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Takeo Takahashi
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General
|
||||
* Public License. See the file "COPYING" in the main directory of this
|
||||
|
@ -172,64 +172,21 @@ unsigned long _inl(unsigned long port)
|
|||
|
||||
unsigned char _inb_p(unsigned long port)
|
||||
{
|
||||
unsigned char v;
|
||||
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
v = _ne_inb(PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
return *(volatile unsigned char *)__port2addr_ata(port);
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned char b;
|
||||
pcc_ioread_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
return b;
|
||||
} else
|
||||
#endif
|
||||
v = *(volatile unsigned char *)PORT2ADDR(port);
|
||||
|
||||
unsigned char v = _inb(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned short _inw_p(unsigned long port)
|
||||
{
|
||||
unsigned short v;
|
||||
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
v = _ne_inw(PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
return *(volatile unsigned short *)__port2addr_ata(port);
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_USB)
|
||||
if(port >= 0x340 && port < 0x3a0)
|
||||
return *(volatile unsigned short *)PORT2ADDR_USB(port);
|
||||
else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned short w;
|
||||
pcc_ioread_word(0, port, &w, sizeof(w), 1, 0);
|
||||
return w;
|
||||
} else
|
||||
#endif
|
||||
v = *(volatile unsigned short *)PORT2ADDR(port);
|
||||
|
||||
unsigned short v = _inw(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned long _inl_p(unsigned long port)
|
||||
{
|
||||
unsigned long v;
|
||||
|
||||
v = *(volatile unsigned long *)PORT2ADDR(port);
|
||||
unsigned long v = _inl(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
@ -287,52 +244,19 @@ void _outl(unsigned long l, unsigned long port)
|
|||
|
||||
void _outb_p(unsigned char b, unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
_ne_outb(b, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
*(volatile unsigned char *)__port2addr_ata(port) = b;
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned char *)PORT2ADDR(port) = b;
|
||||
|
||||
_outb(b, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outw_p(unsigned short w, unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
_ne_outw(w, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
*(volatile unsigned short *)__port2addr_ata(port) = w;
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_USB)
|
||||
if(port >= 0x340 && port < 0x3a0)
|
||||
*(volatile unsigned short *)PORT2ADDR_USB(port) = w;
|
||||
else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned short *)PORT2ADDR(port) = w;
|
||||
|
||||
_outw(w, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outl_p(unsigned long l, unsigned long port)
|
||||
{
|
||||
*(volatile unsigned long *)PORT2ADDR(port) = l;
|
||||
_outl(l, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
*
|
||||
* Typical I/O routines for Mappi board.
|
||||
*
|
||||
* Copyright (c) 2001, 2002 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto
|
||||
* Copyright (c) 2001-2005 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto
|
||||
*/
|
||||
|
||||
#include <linux/config.h>
|
||||
|
@ -130,57 +130,21 @@ unsigned long _inl(unsigned long port)
|
|||
|
||||
unsigned char _inb_p(unsigned long port)
|
||||
{
|
||||
unsigned char v;
|
||||
|
||||
if (port >= 0x300 && port < 0x320)
|
||||
v = _ne_inb(PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_PCC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned char b;
|
||||
pcc_ioread(0, port, &b, sizeof(b), 1, 0);
|
||||
return b;
|
||||
} else if (port >= M32R_PCC_IOSTART1 && port <= M32R_PCC_IOEND1) {
|
||||
unsigned char b;
|
||||
pcc_ioread(1, port, &b, sizeof(b), 1, 0);
|
||||
return b;
|
||||
} else
|
||||
#endif
|
||||
v = *(volatile unsigned char *)PORT2ADDR(port);
|
||||
|
||||
unsigned char v = _inb(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned short _inw_p(unsigned long port)
|
||||
{
|
||||
unsigned short v;
|
||||
|
||||
if (port >= 0x300 && port < 0x320)
|
||||
v = _ne_inw(PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_PCC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned short w;
|
||||
pcc_ioread(0, port, &w, sizeof(w), 1, 0);
|
||||
return w;
|
||||
} else if (port >= M32R_PCC_IOSTART1 && port <= M32R_PCC_IOEND1) {
|
||||
unsigned short w;
|
||||
pcc_ioread(1, port, &w, sizeof(w), 1, 0);
|
||||
return w;
|
||||
} else
|
||||
#endif
|
||||
v = *(volatile unsigned short *)PORT2ADDR(port);
|
||||
|
||||
unsigned short v = _inw(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned long _inl_p(unsigned long port)
|
||||
{
|
||||
unsigned long v;
|
||||
|
||||
v = *(volatile unsigned long *)PORT2ADDR(port);
|
||||
unsigned long v = _inl(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
@ -229,41 +193,19 @@ void _outl(unsigned long l, unsigned long port)
|
|||
|
||||
void _outb_p(unsigned char b, unsigned long port)
|
||||
{
|
||||
if (port >= 0x300 && port < 0x320)
|
||||
_ne_outb(b, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_PCC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite(0, port, &b, sizeof(b), 1, 0);
|
||||
} else if (port >= M32R_PCC_IOSTART1 && port <= M32R_PCC_IOEND1) {
|
||||
pcc_iowrite(1, port, &b, sizeof(b), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned char *)PORT2ADDR(port) = b;
|
||||
|
||||
_outb(b, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outw_p(unsigned short w, unsigned long port)
|
||||
{
|
||||
if (port >= 0x300 && port < 0x320)
|
||||
_ne_outw(w, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_PCC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite(0, port, &w, sizeof(w), 1, 0);
|
||||
} else if (port >= M32R_PCC_IOSTART1 && port <= M32R_PCC_IOEND1) {
|
||||
pcc_iowrite(1, port, &w, sizeof(w), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned short *)PORT2ADDR(port) = w;
|
||||
|
||||
_outw(w, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outl_p(unsigned long l, unsigned long port)
|
||||
{
|
||||
*(volatile unsigned long *)PORT2ADDR(port) = l;
|
||||
_outl(l, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* Typical I/O routines for Mappi2 board.
|
||||
*
|
||||
* Copyright (c) 2001-2003 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Copyright (c) 2001-2005 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Mamoru Sakugawa
|
||||
*/
|
||||
|
||||
|
@ -25,7 +25,7 @@ extern void pcc_ioread_byte(int, unsigned long, void *, size_t, size_t, int);
|
|||
extern void pcc_ioread_word(int, unsigned long, void *, size_t, size_t, int);
|
||||
extern void pcc_iowrite_byte(int, unsigned long, void *, size_t, size_t, int);
|
||||
extern void pcc_iowrite_word(int, unsigned long, void *, size_t, size_t, int);
|
||||
#endif /* CONFIG_PCMCIA && CONFIG_MAPPI2_CFC */
|
||||
#endif /* CONFIG_PCMCIA && CONFIG_M32R_CFC */
|
||||
|
||||
#define PORT2ADDR(port) _port2addr(port)
|
||||
#define PORT2ADDR_NE(port) _port2addr_ne(port)
|
||||
|
@ -169,64 +169,21 @@ unsigned long _inl(unsigned long port)
|
|||
|
||||
unsigned char _inb_p(unsigned long port)
|
||||
{
|
||||
unsigned char v;
|
||||
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
v = _ne_inb(PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
return *(volatile unsigned char *)__port2addr_ata(port);
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned char b;
|
||||
pcc_ioread_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
return b;
|
||||
} else
|
||||
#endif
|
||||
v = *(volatile unsigned char *)PORT2ADDR(port);
|
||||
|
||||
unsigned char v = _inb(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned short _inw_p(unsigned long port)
|
||||
{
|
||||
unsigned short v;
|
||||
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
v = _ne_inw(PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
return *(volatile unsigned short *)__port2addr_ata(port);
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_USB)
|
||||
if (port >= 0x340 && port < 0x3a0)
|
||||
v = *(volatile unsigned short *)PORT2ADDR_USB(port);
|
||||
else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned short w;
|
||||
pcc_ioread_word(0, port, &w, sizeof(w), 1, 0);
|
||||
return w;
|
||||
} else
|
||||
#endif
|
||||
v = *(volatile unsigned short *)PORT2ADDR(port);
|
||||
|
||||
unsigned short v = _inw(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned long _inl_p(unsigned long port)
|
||||
{
|
||||
unsigned long v;
|
||||
|
||||
v = *(volatile unsigned long *)PORT2ADDR(port);
|
||||
unsigned long v = _inl(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
@ -284,52 +241,19 @@ void _outl(unsigned long l, unsigned long port)
|
|||
|
||||
void _outb_p(unsigned char b, unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
_ne_outb(b, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
*(volatile unsigned char *)__port2addr_ata(port) = b;
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned char *)PORT2ADDR(port) = b;
|
||||
|
||||
_outb(b, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outw_p(unsigned short w, unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
_ne_outw(w, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
*(volatile unsigned short *)__port2addr_ata(port) = w;
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_USB)
|
||||
if (port >= 0x340 && port < 0x3a0)
|
||||
*(volatile unsigned short *)PORT2ADDR_USB(port) = w;
|
||||
else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned short *)PORT2ADDR(port) = w;
|
||||
|
||||
_outw(w, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outl_p(unsigned long l, unsigned long port)
|
||||
{
|
||||
*(volatile unsigned long *)PORT2ADDR(port) = l;
|
||||
_outl(l, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,378 @@
|
|||
/*
|
||||
* linux/arch/m32r/kernel/io_mappi3.c
|
||||
*
|
||||
* Typical I/O routines for Mappi3 board.
|
||||
*
|
||||
* Copyright (c) 2001-2005 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Mamoru Sakugawa
|
||||
*/
|
||||
|
||||
#include <linux/config.h>
|
||||
#include <asm/m32r.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
#include <linux/types.h>
|
||||
|
||||
#define M32R_PCC_IOMAP_SIZE 0x1000
|
||||
|
||||
#define M32R_PCC_IOSTART0 0x1000
|
||||
#define M32R_PCC_IOEND0 (M32R_PCC_IOSTART0 + M32R_PCC_IOMAP_SIZE - 1)
|
||||
|
||||
extern void pcc_ioread_byte(int, unsigned long, void *, size_t, size_t, int);
|
||||
extern void pcc_ioread_word(int, unsigned long, void *, size_t, size_t, int);
|
||||
extern void pcc_iowrite_byte(int, unsigned long, void *, size_t, size_t, int);
|
||||
extern void pcc_iowrite_word(int, unsigned long, void *, size_t, size_t, int);
|
||||
#endif /* CONFIG_PCMCIA && CONFIG_M32R_CFC */
|
||||
|
||||
#define PORT2ADDR(port) _port2addr(port)
|
||||
#define PORT2ADDR_NE(port) _port2addr_ne(port)
|
||||
#define PORT2ADDR_USB(port) _port2addr_usb(port)
|
||||
|
||||
static inline void *_port2addr(unsigned long port)
|
||||
{
|
||||
return (void *)(port + NONCACHE_OFFSET);
|
||||
}
|
||||
|
||||
#define LAN_IOSTART 0x300
|
||||
#define LAN_IOEND 0x320
|
||||
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
static inline void *__port2addr_ata(unsigned long port)
|
||||
{
|
||||
static int dummy_reg;
|
||||
|
||||
switch (port) {
|
||||
case 0x1f0: return (void *)0xb4002000;
|
||||
case 0x1f1: return (void *)0xb4012800;
|
||||
case 0x1f2: return (void *)0xb4012002;
|
||||
case 0x1f3: return (void *)0xb4012802;
|
||||
case 0x1f4: return (void *)0xb4012004;
|
||||
case 0x1f5: return (void *)0xb4012804;
|
||||
case 0x1f6: return (void *)0xb4012006;
|
||||
case 0x1f7: return (void *)0xb4012806;
|
||||
case 0x3f6: return (void *)0xb401200e;
|
||||
default: return (void *)&dummy_reg;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline void *_port2addr_ne(unsigned long port)
|
||||
{
|
||||
return (void *)(port + NONCACHE_OFFSET + 0x10000000);
|
||||
}
|
||||
|
||||
static inline void *_port2addr_usb(unsigned long port)
|
||||
{
|
||||
return (void *)(port + NONCACHE_OFFSET + 0x12000000);
|
||||
}
|
||||
static inline void delay(void)
|
||||
{
|
||||
__asm__ __volatile__ ("push r0; \n\t pop r0;" : : :"memory");
|
||||
}
|
||||
|
||||
/*
|
||||
* NIC I/O function
|
||||
*/
|
||||
|
||||
static inline unsigned char _ne_inb(void *portp)
|
||||
{
|
||||
return (unsigned char) *(volatile unsigned char *)portp;
|
||||
}
|
||||
|
||||
static inline unsigned short _ne_inw(void *portp)
|
||||
{
|
||||
return (unsigned short)le16_to_cpu(*(volatile unsigned short *)portp);
|
||||
}
|
||||
|
||||
static inline void _ne_insb(void *portp, void * addr, unsigned long count)
|
||||
{
|
||||
unsigned char *buf = addr;
|
||||
|
||||
while (count--)
|
||||
*buf++ = *(volatile unsigned char *)portp;
|
||||
}
|
||||
|
||||
static inline void _ne_outb(unsigned char b, void *portp)
|
||||
{
|
||||
*(volatile unsigned char *)portp = (unsigned char)b;
|
||||
}
|
||||
|
||||
static inline void _ne_outw(unsigned short w, void *portp)
|
||||
{
|
||||
*(volatile unsigned short *)portp = cpu_to_le16(w);
|
||||
}
|
||||
|
||||
unsigned char _inb(unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
return _ne_inb(PORT2ADDR_NE(port));
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
return *(volatile unsigned char *)__port2addr_ata(port);
|
||||
}
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned char b;
|
||||
pcc_ioread_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
return b;
|
||||
} else
|
||||
#endif
|
||||
return *(volatile unsigned char *)PORT2ADDR(port);
|
||||
}
|
||||
|
||||
unsigned short _inw(unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
return _ne_inw(PORT2ADDR_NE(port));
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
return *(volatile unsigned short *)__port2addr_ata(port);
|
||||
}
|
||||
#endif
|
||||
#if defined(CONFIG_USB)
|
||||
else if (port >= 0x340 && port < 0x3a0)
|
||||
return *(volatile unsigned short *)PORT2ADDR_USB(port);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned short w;
|
||||
pcc_ioread_word(0, port, &w, sizeof(w), 1, 0);
|
||||
return w;
|
||||
} else
|
||||
#endif
|
||||
return *(volatile unsigned short *)PORT2ADDR(port);
|
||||
}
|
||||
|
||||
unsigned long _inl(unsigned long port)
|
||||
{
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned long l;
|
||||
pcc_ioread_word(0, port, &l, sizeof(l), 1, 0);
|
||||
return l;
|
||||
} else
|
||||
#endif
|
||||
return *(volatile unsigned long *)PORT2ADDR(port);
|
||||
}
|
||||
|
||||
unsigned char _inb_p(unsigned long port)
|
||||
{
|
||||
unsigned char v = _inb(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned short _inw_p(unsigned long port)
|
||||
{
|
||||
unsigned short v = _inw(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned long _inl_p(unsigned long port)
|
||||
{
|
||||
unsigned long v = _inl(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
void _outb(unsigned char b, unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
_ne_outb(b, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
*(volatile unsigned char *)__port2addr_ata(port) = b;
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned char *)PORT2ADDR(port) = b;
|
||||
}
|
||||
|
||||
void _outw(unsigned short w, unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
_ne_outw(w, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
*(volatile unsigned short *)__port2addr_ata(port) = w;
|
||||
} else
|
||||
#endif
|
||||
#if defined(CONFIG_USB)
|
||||
if (port >= 0x340 && port < 0x3a0)
|
||||
*(volatile unsigned short *)PORT2ADDR_USB(port) = w;
|
||||
else
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned short *)PORT2ADDR(port) = w;
|
||||
}
|
||||
|
||||
void _outl(unsigned long l, unsigned long port)
|
||||
{
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_word(0, port, &l, sizeof(l), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned long *)PORT2ADDR(port) = l;
|
||||
}
|
||||
|
||||
void _outb_p(unsigned char b, unsigned long port)
|
||||
{
|
||||
_outb(b, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outw_p(unsigned short w, unsigned long port)
|
||||
{
|
||||
_outw(w, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outl_p(unsigned long l, unsigned long port)
|
||||
{
|
||||
_outl(l, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _insb(unsigned int port, void * addr, unsigned long count)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
_ne_insb(PORT2ADDR_NE(port), addr, count);
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
unsigned char *buf = addr;
|
||||
unsigned char *portp = __port2addr_ata(port);
|
||||
while (count--)
|
||||
*buf++ = *(volatile unsigned char *)portp;
|
||||
}
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_ioread_byte(0, port, (void *)addr, sizeof(unsigned char),
|
||||
count, 1);
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
unsigned char *buf = addr;
|
||||
unsigned char *portp = PORT2ADDR(port);
|
||||
while (count--)
|
||||
*buf++ = *(volatile unsigned char *)portp;
|
||||
}
|
||||
}
|
||||
|
||||
void _insw(unsigned int port, void * addr, unsigned long count)
|
||||
{
|
||||
unsigned short *buf = addr;
|
||||
unsigned short *portp;
|
||||
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND) {
|
||||
portp = PORT2ADDR_NE(port);
|
||||
while (count--)
|
||||
*buf++ = *(volatile unsigned short *)portp;
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
} else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_ioread_word(9, port, (void *)addr, sizeof(unsigned short),
|
||||
count, 1);
|
||||
#endif
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
} else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
portp = __port2addr_ata(port);
|
||||
while (count--)
|
||||
*buf++ = *(volatile unsigned short *)portp;
|
||||
#endif
|
||||
} else {
|
||||
portp = PORT2ADDR(port);
|
||||
while (count--)
|
||||
*buf++ = *(volatile unsigned short *)portp;
|
||||
}
|
||||
}
|
||||
|
||||
void _insl(unsigned int port, void * addr, unsigned long count)
|
||||
{
|
||||
unsigned long *buf = addr;
|
||||
unsigned long *portp;
|
||||
|
||||
portp = PORT2ADDR(port);
|
||||
while (count--)
|
||||
*buf++ = *(volatile unsigned long *)portp;
|
||||
}
|
||||
|
||||
void _outsb(unsigned int port, const void * addr, unsigned long count)
|
||||
{
|
||||
const unsigned char *buf = addr;
|
||||
unsigned char *portp;
|
||||
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND) {
|
||||
portp = PORT2ADDR_NE(port);
|
||||
while (count--)
|
||||
_ne_outb(*buf++, portp);
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
} else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
portp = __port2addr_ata(port);
|
||||
while (count--)
|
||||
*(volatile unsigned char *)portp = *buf++;
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
} else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_byte(0, port, (void *)addr, sizeof(unsigned char),
|
||||
count, 1);
|
||||
#endif
|
||||
} else {
|
||||
portp = PORT2ADDR(port);
|
||||
while (count--)
|
||||
*(volatile unsigned char *)portp = *buf++;
|
||||
}
|
||||
}
|
||||
|
||||
void _outsw(unsigned int port, const void * addr, unsigned long count)
|
||||
{
|
||||
const unsigned short *buf = addr;
|
||||
unsigned short *portp;
|
||||
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND) {
|
||||
portp = PORT2ADDR_NE(port);
|
||||
while (count--)
|
||||
*(volatile unsigned short *)portp = *buf++;
|
||||
#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)
|
||||
} else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {
|
||||
portp = __port2addr_ata(port);
|
||||
while (count--)
|
||||
*(volatile unsigned short *)portp = *buf++;
|
||||
#endif
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
} else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_word(9, port, (void *)addr, sizeof(unsigned short),
|
||||
count, 1);
|
||||
#endif
|
||||
} else {
|
||||
portp = PORT2ADDR(port);
|
||||
while (count--)
|
||||
*(volatile unsigned short *)portp = *buf++;
|
||||
}
|
||||
}
|
||||
|
||||
void _outsl(unsigned int port, const void * addr, unsigned long count)
|
||||
{
|
||||
const unsigned long *buf = addr;
|
||||
unsigned char *portp;
|
||||
|
||||
portp = PORT2ADDR(port);
|
||||
while (count--)
|
||||
*(volatile unsigned long *)portp = *buf++;
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* Typical I/O routines for OAKS32R board.
|
||||
*
|
||||
* Copyright (c) 2001-2004 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Copyright (c) 2001-2005 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Mamoru Sakugawa
|
||||
*/
|
||||
|
||||
|
@ -90,35 +90,21 @@ unsigned long _inl(unsigned long port)
|
|||
|
||||
unsigned char _inb_p(unsigned long port)
|
||||
{
|
||||
unsigned char v;
|
||||
|
||||
if (port >= 0x300 && port < 0x320)
|
||||
v = _ne_inb(PORT2ADDR_NE(port));
|
||||
else
|
||||
v = *(volatile unsigned char *)PORT2ADDR(port);
|
||||
|
||||
unsigned char v = _inb(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned short _inw_p(unsigned long port)
|
||||
{
|
||||
unsigned short v;
|
||||
|
||||
if (port >= 0x300 && port < 0x320)
|
||||
v = _ne_inw(PORT2ADDR_NE(port));
|
||||
else
|
||||
v = *(volatile unsigned short *)PORT2ADDR(port);
|
||||
|
||||
unsigned short v = _inw(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned long _inl_p(unsigned long port)
|
||||
{
|
||||
unsigned long v;
|
||||
|
||||
v = *(volatile unsigned long *)PORT2ADDR(port);
|
||||
unsigned long v = _inl(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
@ -146,27 +132,19 @@ void _outl(unsigned long l, unsigned long port)
|
|||
|
||||
void _outb_p(unsigned char b, unsigned long port)
|
||||
{
|
||||
if (port >= 0x300 && port < 0x320)
|
||||
_ne_outb(b, PORT2ADDR_NE(port));
|
||||
else
|
||||
*(volatile unsigned char *)PORT2ADDR(port) = b;
|
||||
|
||||
_outb(b, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outw_p(unsigned short w, unsigned long port)
|
||||
{
|
||||
if (port >= 0x300 && port < 0x320)
|
||||
_ne_outw(w, PORT2ADDR_NE(port));
|
||||
else
|
||||
*(volatile unsigned short *)PORT2ADDR(port) = w;
|
||||
|
||||
_outw(w, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outl_p(unsigned long l, unsigned long port)
|
||||
{
|
||||
*(volatile unsigned long *)PORT2ADDR(port) = l;
|
||||
_outl(l, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
/*
|
||||
* linux/arch/m32r/kernel/io_mappi.c
|
||||
* linux/arch/m32r/kernel/io_opsput.c
|
||||
*
|
||||
* Typical I/O routines for OPSPUT board.
|
||||
*
|
||||
* Copyright (c) 2001, 2002 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Takeo Takahashi
|
||||
* Copyright (c) 2001-2005 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Takeo Takahashi
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General
|
||||
* Public License. See the file "COPYING" in the main directory of this
|
||||
|
@ -98,7 +98,6 @@ unsigned char _inb(unsigned long port)
|
|||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
return _ne_inb(PORT2ADDR_NE(port));
|
||||
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned char b;
|
||||
|
@ -118,7 +117,6 @@ unsigned short _inw(unsigned long port)
|
|||
else if(port >= 0x340 && port < 0x3a0)
|
||||
return *(volatile unsigned short *)PORT2ADDR_USB(port);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned short w;
|
||||
|
@ -143,55 +141,21 @@ unsigned long _inl(unsigned long port)
|
|||
|
||||
unsigned char _inb_p(unsigned long port)
|
||||
{
|
||||
unsigned char v;
|
||||
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
v = _ne_inb(PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned char b;
|
||||
pcc_ioread_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
return b;
|
||||
} else
|
||||
#endif
|
||||
v = *(volatile unsigned char *)PORT2ADDR(port);
|
||||
|
||||
unsigned char v = _inb(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned short _inw_p(unsigned long port)
|
||||
{
|
||||
unsigned short v;
|
||||
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
v = _ne_inw(PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_USB)
|
||||
if(port >= 0x340 && port < 0x3a0)
|
||||
return *(volatile unsigned short *)PORT2ADDR_USB(port);
|
||||
else
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
unsigned short w;
|
||||
pcc_ioread_word(0, port, &w, sizeof(w), 1, 0);
|
||||
return w;
|
||||
} else
|
||||
#endif
|
||||
v = *(volatile unsigned short *)PORT2ADDR(port);
|
||||
|
||||
unsigned short v = _inw(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
||||
unsigned long _inl_p(unsigned long port)
|
||||
{
|
||||
unsigned long v;
|
||||
|
||||
v = *(volatile unsigned long *)PORT2ADDR(port);
|
||||
unsigned long v = _inl(port);
|
||||
delay();
|
||||
return (v);
|
||||
}
|
||||
|
@ -219,7 +183,6 @@ void _outw(unsigned short w, unsigned long port)
|
|||
*(volatile unsigned short *)PORT2ADDR_USB(port) = w;
|
||||
else
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0);
|
||||
|
@ -240,43 +203,19 @@ void _outl(unsigned long l, unsigned long port)
|
|||
|
||||
void _outb_p(unsigned char b, unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
_ne_outb(b, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned char *)PORT2ADDR(port) = b;
|
||||
|
||||
_outb(b, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outw_p(unsigned short w, unsigned long port)
|
||||
{
|
||||
if (port >= LAN_IOSTART && port < LAN_IOEND)
|
||||
_ne_outw(w, PORT2ADDR_NE(port));
|
||||
else
|
||||
#if defined(CONFIG_USB)
|
||||
if(port >= 0x340 && port < 0x3a0)
|
||||
*(volatile unsigned short *)PORT2ADDR_USB(port) = w;
|
||||
else
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC)
|
||||
if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) {
|
||||
pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0);
|
||||
} else
|
||||
#endif
|
||||
*(volatile unsigned short *)PORT2ADDR(port) = w;
|
||||
|
||||
_outw(w, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outl_p(unsigned long l, unsigned long port)
|
||||
{
|
||||
*(volatile unsigned long *)PORT2ADDR(port) = l;
|
||||
_outl(l, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
*
|
||||
* Typical I/O routines for uServer board.
|
||||
*
|
||||
* Copyright (c) 2001 - 2003 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Takeo Takahashi
|
||||
* Copyright (c) 2001-2005 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Takeo Takahashi
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General
|
||||
* Public License. See the file "COPYING" in the main directory of this
|
||||
|
@ -39,7 +39,7 @@ extern void pcc_iowrite_word(int, unsigned long, void *, size_t, size_t, int);
|
|||
|
||||
#define PORT2ADDR(port) _port2addr(port)
|
||||
|
||||
static __inline__ void *_port2addr(unsigned long port)
|
||||
static inline void *_port2addr(unsigned long port)
|
||||
{
|
||||
#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
|
||||
if (port >= UART0_IOSTART && port <= UART0_IOEND)
|
||||
|
@ -50,7 +50,7 @@ static __inline__ void *_port2addr(unsigned long port)
|
|||
return (void *)(port + NONCACHE_OFFSET);
|
||||
}
|
||||
|
||||
static __inline__ void delay(void)
|
||||
static inline void delay(void)
|
||||
{
|
||||
__asm__ __volatile__ ("push r0; \n\t pop r0;" : : :"memory");
|
||||
}
|
||||
|
@ -87,39 +87,22 @@ unsigned long _inl(unsigned long port)
|
|||
|
||||
unsigned char _inb_p(unsigned long port)
|
||||
{
|
||||
unsigned char b;
|
||||
|
||||
if (port >= CFC_IOSTART && port <= CFC_IOEND) {
|
||||
pcc_ioread_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
return b;
|
||||
} else {
|
||||
b = *(volatile unsigned char *)PORT2ADDR(port);
|
||||
delay();
|
||||
return b;
|
||||
}
|
||||
unsigned char v = _inb(port);
|
||||
delay();
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned short _inw_p(unsigned long port)
|
||||
{
|
||||
unsigned short w;
|
||||
|
||||
if (port >= CFC_IOSTART && port <= CFC_IOEND) {
|
||||
pcc_ioread_word(0, port, &w, sizeof(w), 1, 0);
|
||||
return w;
|
||||
} else {
|
||||
w = *(volatile unsigned short *)PORT2ADDR(port);
|
||||
delay();
|
||||
return w;
|
||||
}
|
||||
unsigned short v = _inw(port);
|
||||
delay();
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned long _inl_p(unsigned long port)
|
||||
{
|
||||
unsigned long v;
|
||||
|
||||
v = *(volatile unsigned long *)PORT2ADDR(port);
|
||||
unsigned long v = _inl(port);
|
||||
delay();
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@ -149,25 +132,19 @@ void _outl(unsigned long l, unsigned long port)
|
|||
|
||||
void _outb_p(unsigned char b, unsigned long port)
|
||||
{
|
||||
if (port >= CFC_IOSTART && port <= CFC_IOEND)
|
||||
pcc_iowrite_byte(0, port, &b, sizeof(b), 1, 0);
|
||||
else
|
||||
*(volatile unsigned char *)PORT2ADDR(port) = b;
|
||||
_outb(b, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outw_p(unsigned short w, unsigned long port)
|
||||
{
|
||||
if (port >= CFC_IOSTART && port <= CFC_IOEND)
|
||||
pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0);
|
||||
else
|
||||
*(volatile unsigned short *)PORT2ADDR(port) = w;
|
||||
_outw(w, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
void _outl_p(unsigned long l, unsigned long port)
|
||||
{
|
||||
*(volatile unsigned long *)PORT2ADDR(port) = l;
|
||||
_outl(l, port);
|
||||
delay();
|
||||
}
|
||||
|
||||
|
|
|
@ -330,6 +330,8 @@ static int show_cpuinfo(struct seq_file *m, void *v)
|
|||
seq_printf(m, "Machine\t\t: Mappi Evaluation board\n");
|
||||
#elif CONFIG_PLAT_MAPPI2
|
||||
seq_printf(m, "Machine\t\t: Mappi-II Evaluation board\n");
|
||||
#elif CONFIG_PLAT_MAPPI3
|
||||
seq_printf(m, "Machine\t\t: Mappi-III Evaluation board\n");
|
||||
#elif CONFIG_PLAT_M32700UT
|
||||
seq_printf(m, "Machine\t\t: M32700UT Evaluation board\n");
|
||||
#elif CONFIG_PLAT_OPSPUT
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* linux/arch/m32r/kernel/setup_mappi.c
|
||||
* linux/arch/m32r/kernel/setup_mappi2.c
|
||||
*
|
||||
* Setup routines for Renesas MAPPI-II(M3A-ZA36) Board
|
||||
*
|
||||
|
@ -156,7 +156,6 @@ void __init init_IRQ(void)
|
|||
irq_desc[PLD_IRQ_CFIREQ].handler = &mappi2_irq_type;
|
||||
irq_desc[PLD_IRQ_CFIREQ].action = 0;
|
||||
irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
|
||||
// icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
|
||||
icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01;
|
||||
disable_mappi2_irq(PLD_IRQ_CFIREQ);
|
||||
|
||||
|
@ -167,7 +166,6 @@ void __init init_IRQ(void)
|
|||
irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
|
||||
irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
|
||||
icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
|
||||
// icu_data[PLD_IRQ_CFC_INSERT].icucr = 0;
|
||||
disable_mappi2_irq(PLD_IRQ_CFC_INSERT);
|
||||
|
||||
/* ICUCR42: CFC Eject */
|
||||
|
@ -176,9 +174,7 @@ void __init init_IRQ(void)
|
|||
irq_desc[PLD_IRQ_CFC_EJECT].action = 0;
|
||||
irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */
|
||||
icu_data[PLD_IRQ_CFC_EJECT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
|
||||
// icu_data[PLD_IRQ_CFC_EJECT].icucr = 0;
|
||||
disable_mappi2_irq(PLD_IRQ_CFC_EJECT);
|
||||
|
||||
#endif /* CONFIG_MAPPI2_CFC */
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,208 @@
|
|||
/*
|
||||
* linux/arch/m32r/kernel/setup_mappi3.c
|
||||
*
|
||||
* Setup routines for Renesas MAPPI-III(M3A-2170) Board
|
||||
*
|
||||
* Copyright (c) 2001-2005 Hiroyuki Kondo, Hirokazu Takata,
|
||||
* Hitoshi Yamamoto, Mamoru Sakugawa
|
||||
*/
|
||||
|
||||
#include <linux/config.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/device.h>
|
||||
|
||||
#include <asm/system.h>
|
||||
#include <asm/m32r.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
#define irq2port(x) (M32R_ICU_CR1_PORTL + ((x - 1) * sizeof(unsigned long)))
|
||||
|
||||
#ifndef CONFIG_SMP
|
||||
typedef struct {
|
||||
unsigned long icucr; /* ICU Control Register */
|
||||
} icu_data_t;
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
icu_data_t icu_data[NR_IRQS];
|
||||
|
||||
static void disable_mappi3_irq(unsigned int irq)
|
||||
{
|
||||
unsigned long port, data;
|
||||
|
||||
if ((irq == 0) ||(irq >= NR_IRQS)) {
|
||||
printk("bad irq 0x%08x\n", irq);
|
||||
return;
|
||||
}
|
||||
port = irq2port(irq);
|
||||
data = icu_data[irq].icucr|M32R_ICUCR_ILEVEL7;
|
||||
outl(data, port);
|
||||
}
|
||||
|
||||
static void enable_mappi3_irq(unsigned int irq)
|
||||
{
|
||||
unsigned long port, data;
|
||||
|
||||
if ((irq == 0) ||(irq >= NR_IRQS)) {
|
||||
printk("bad irq 0x%08x\n", irq);
|
||||
return;
|
||||
}
|
||||
port = irq2port(irq);
|
||||
data = icu_data[irq].icucr|M32R_ICUCR_IEN|M32R_ICUCR_ILEVEL6;
|
||||
outl(data, port);
|
||||
}
|
||||
|
||||
static void mask_and_ack_mappi3(unsigned int irq)
|
||||
{
|
||||
disable_mappi3_irq(irq);
|
||||
}
|
||||
|
||||
static void end_mappi3_irq(unsigned int irq)
|
||||
{
|
||||
enable_mappi3_irq(irq);
|
||||
}
|
||||
|
||||
static unsigned int startup_mappi3_irq(unsigned int irq)
|
||||
{
|
||||
enable_mappi3_irq(irq);
|
||||
return (0);
|
||||
}
|
||||
|
||||
static void shutdown_mappi3_irq(unsigned int irq)
|
||||
{
|
||||
unsigned long port;
|
||||
|
||||
port = irq2port(irq);
|
||||
outl(M32R_ICUCR_ILEVEL7, port);
|
||||
}
|
||||
|
||||
static struct hw_interrupt_type mappi3_irq_type =
|
||||
{
|
||||
"MAPPI3-IRQ",
|
||||
startup_mappi3_irq,
|
||||
shutdown_mappi3_irq,
|
||||
enable_mappi3_irq,
|
||||
disable_mappi3_irq,
|
||||
mask_and_ack_mappi3,
|
||||
end_mappi3_irq
|
||||
};
|
||||
|
||||
void __init init_IRQ(void)
|
||||
{
|
||||
#if defined(CONFIG_SMC91X)
|
||||
/* INT0 : LAN controller (SMC91111) */
|
||||
irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED;
|
||||
irq_desc[M32R_IRQ_INT0].handler = &mappi3_irq_type;
|
||||
irq_desc[M32R_IRQ_INT0].action = 0;
|
||||
irq_desc[M32R_IRQ_INT0].depth = 1;
|
||||
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
|
||||
disable_mappi3_irq(M32R_IRQ_INT0);
|
||||
#endif /* CONFIG_SMC91X */
|
||||
|
||||
/* MFT2 : system timer */
|
||||
irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
|
||||
irq_desc[M32R_IRQ_MFT2].handler = &mappi3_irq_type;
|
||||
irq_desc[M32R_IRQ_MFT2].action = 0;
|
||||
irq_desc[M32R_IRQ_MFT2].depth = 1;
|
||||
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
|
||||
disable_mappi3_irq(M32R_IRQ_MFT2);
|
||||
|
||||
#ifdef CONFIG_SERIAL_M32R_SIO
|
||||
/* SIO0_R : uart receive data */
|
||||
irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
|
||||
irq_desc[M32R_IRQ_SIO0_R].handler = &mappi3_irq_type;
|
||||
irq_desc[M32R_IRQ_SIO0_R].action = 0;
|
||||
irq_desc[M32R_IRQ_SIO0_R].depth = 1;
|
||||
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
|
||||
disable_mappi3_irq(M32R_IRQ_SIO0_R);
|
||||
|
||||
/* SIO0_S : uart send data */
|
||||
irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
|
||||
irq_desc[M32R_IRQ_SIO0_S].handler = &mappi3_irq_type;
|
||||
irq_desc[M32R_IRQ_SIO0_S].action = 0;
|
||||
irq_desc[M32R_IRQ_SIO0_S].depth = 1;
|
||||
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
|
||||
disable_mappi3_irq(M32R_IRQ_SIO0_S);
|
||||
/* SIO1_R : uart receive data */
|
||||
irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
|
||||
irq_desc[M32R_IRQ_SIO1_R].handler = &mappi3_irq_type;
|
||||
irq_desc[M32R_IRQ_SIO1_R].action = 0;
|
||||
irq_desc[M32R_IRQ_SIO1_R].depth = 1;
|
||||
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
|
||||
disable_mappi3_irq(M32R_IRQ_SIO1_R);
|
||||
|
||||
/* SIO1_S : uart send data */
|
||||
irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
|
||||
irq_desc[M32R_IRQ_SIO1_S].handler = &mappi3_irq_type;
|
||||
irq_desc[M32R_IRQ_SIO1_S].action = 0;
|
||||
irq_desc[M32R_IRQ_SIO1_S].depth = 1;
|
||||
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
|
||||
disable_mappi3_irq(M32R_IRQ_SIO1_S);
|
||||
#endif /* CONFIG_M32R_USE_DBG_CONSOLE */
|
||||
|
||||
#if defined(CONFIG_USB)
|
||||
/* INT1 : USB Host controller interrupt */
|
||||
irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED;
|
||||
irq_desc[M32R_IRQ_INT1].handler = &mappi3_irq_type;
|
||||
irq_desc[M32R_IRQ_INT1].action = 0;
|
||||
irq_desc[M32R_IRQ_INT1].depth = 1;
|
||||
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01;
|
||||
disable_mappi3_irq(M32R_IRQ_INT1);
|
||||
#endif /* CONFIG_USB */
|
||||
|
||||
/* ICUCR40: CFC IREQ */
|
||||
irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
|
||||
irq_desc[PLD_IRQ_CFIREQ].handler = &mappi3_irq_type;
|
||||
irq_desc[PLD_IRQ_CFIREQ].action = 0;
|
||||
irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
|
||||
icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01;
|
||||
disable_mappi3_irq(PLD_IRQ_CFIREQ);
|
||||
|
||||
#if defined(CONFIG_M32R_CFC)
|
||||
/* ICUCR41: CFC Insert */
|
||||
irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
|
||||
irq_desc[PLD_IRQ_CFC_INSERT].handler = &mappi3_irq_type;
|
||||
irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
|
||||
irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
|
||||
icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
|
||||
disable_mappi3_irq(PLD_IRQ_CFC_INSERT);
|
||||
|
||||
/* ICUCR42: CFC Eject */
|
||||
irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED;
|
||||
irq_desc[PLD_IRQ_CFC_EJECT].handler = &mappi3_irq_type;
|
||||
irq_desc[PLD_IRQ_CFC_EJECT].action = 0;
|
||||
irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */
|
||||
icu_data[PLD_IRQ_CFC_EJECT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
|
||||
disable_mappi3_irq(PLD_IRQ_CFC_EJECT);
|
||||
#endif /* CONFIG_M32R_CFC */
|
||||
}
|
||||
|
||||
#define LAN_IOSTART 0x300
|
||||
#define LAN_IOEND 0x320
|
||||
static struct resource smc91x_resources[] = {
|
||||
[0] = {
|
||||
.start = (LAN_IOSTART),
|
||||
.end = (LAN_IOEND),
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = M32R_IRQ_INT0,
|
||||
.end = M32R_IRQ_INT0,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
}
|
||||
};
|
||||
|
||||
static struct platform_device smc91x_device = {
|
||||
.name = "smc91x",
|
||||
.id = 0,
|
||||
.num_resources = ARRAY_SIZE(smc91x_resources),
|
||||
.resource = smc91x_resources,
|
||||
};
|
||||
|
||||
static int __init platform_init(void)
|
||||
{
|
||||
platform_device_register(&smc91x_device);
|
||||
return 0;
|
||||
}
|
||||
arch_initcall(platform_init);
|
|
@ -0,0 +1,751 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.12-rc5
|
||||
# Tue May 31 17:55:34 2005
|
||||
#
|
||||
CONFIG_M32R=y
|
||||
# CONFIG_UID16 is not set
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
#
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_CLEAN_COMPILE is not set
|
||||
CONFIG_BROKEN=y
|
||||
CONFIG_BROKEN_ON_SMP=y
|
||||
CONFIG_LOCK_KERNEL=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_LOCALVERSION=""
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_HOTPLUG=y
|
||||
CONFIG_KOBJECT_UEVENT=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
# CONFIG_CPUSETS is not set
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_KALLSYMS is not set
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_BASE_FULL=y
|
||||
# CONFIG_FUTEX is not set
|
||||
# CONFIG_EPOLL is not set
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_CC_ALIGN_FUNCTIONS=0
|
||||
CONFIG_CC_ALIGN_LABELS=0
|
||||
CONFIG_CC_ALIGN_LOOPS=0
|
||||
CONFIG_CC_ALIGN_JUMPS=0
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
#
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
CONFIG_OBSOLETE_MODPARM=y
|
||||
# CONFIG_MODVERSIONS is not set
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_KMOD=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
|
||||
#
|
||||
# Processor type and features
|
||||
#
|
||||
# CONFIG_PLAT_MAPPI is not set
|
||||
# CONFIG_PLAT_USRV is not set
|
||||
# CONFIG_PLAT_M32700UT is not set
|
||||
# CONFIG_PLAT_OPSPUT is not set
|
||||
# CONFIG_PLAT_OAKS32R is not set
|
||||
# CONFIG_PLAT_MAPPI2 is not set
|
||||
CONFIG_PLAT_MAPPI3=y
|
||||
CONFIG_CHIP_M32700=y
|
||||
# CONFIG_CHIP_M32102 is not set
|
||||
# CONFIG_CHIP_VDEC2 is not set
|
||||
# CONFIG_CHIP_OPSP is not set
|
||||
CONFIG_MMU=y
|
||||
CONFIG_TLB_ENTRIES=32
|
||||
CONFIG_ISA_M32R2=y
|
||||
CONFIG_ISA_DSP_LEVEL2=y
|
||||
CONFIG_ISA_DUAL_ISSUE=y
|
||||
CONFIG_BUS_CLOCK=10000000
|
||||
CONFIG_TIMER_DIVIDE=128
|
||||
# CONFIG_CPU_LITTLE_ENDIAN is not set
|
||||
CONFIG_MEMORY_START=0x08000000
|
||||
CONFIG_MEMORY_SIZE=0x08000000
|
||||
CONFIG_NOHIGHMEM=y
|
||||
CONFIG_DISCONTIGMEM=y
|
||||
CONFIG_IRAM_START=0x00f00000
|
||||
CONFIG_IRAM_SIZE=0x00080000
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_PREEMPT=y
|
||||
# CONFIG_HAVE_DEC_LOCK is not set
|
||||
CONFIG_SMP=y
|
||||
# CONFIG_CHIP_M32700_TS1 is not set
|
||||
CONFIG_NR_CPUS=2
|
||||
# CONFIG_NUMA is not set
|
||||
|
||||
#
|
||||
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
|
||||
#
|
||||
# CONFIG_PCI is not set
|
||||
# CONFIG_ISA is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
#
|
||||
CONFIG_PCCARD=y
|
||||
# CONFIG_PCMCIA_DEBUG is not set
|
||||
CONFIG_PCMCIA=y
|
||||
|
||||
#
|
||||
# PC-card bridges
|
||||
#
|
||||
# CONFIG_TCIC is not set
|
||||
# CONFIG_M32R_PCC is not set
|
||||
# CONFIG_M32R_CFC is not set
|
||||
|
||||
#
|
||||
# PCI Hotplug Support
|
||||
#
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Generic Driver Options
|
||||
#
|
||||
CONFIG_STANDALONE=y
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
CONFIG_FW_LOADER=y
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
# CONFIG_MTD_CONCAT is not set
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_REDBOOT_PARTS=y
|
||||
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
|
||||
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
|
||||
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
|
||||
# CONFIG_MTD_CMDLINE_PARTS is not set
|
||||
|
||||
#
|
||||
# User Modules And Translation Layers
|
||||
#
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
# CONFIG_FTL is not set
|
||||
# CONFIG_NFTL is not set
|
||||
# CONFIG_INFTL is not set
|
||||
|
||||
#
|
||||
# RAM/ROM/Flash chip drivers
|
||||
#
|
||||
# CONFIG_MTD_CFI is not set
|
||||
# CONFIG_MTD_JEDECPROBE is not set
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_4=y
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
|
||||
CONFIG_MTD_CFI_I1=y
|
||||
CONFIG_MTD_CFI_I2=y
|
||||
# CONFIG_MTD_CFI_I4 is not set
|
||||
# CONFIG_MTD_CFI_I8 is not set
|
||||
# CONFIG_MTD_RAM is not set
|
||||
# CONFIG_MTD_ROM is not set
|
||||
# CONFIG_MTD_ABSENT is not set
|
||||
# CONFIG_MTD_OBSOLETE_CHIPS is not set
|
||||
|
||||
#
|
||||
# Mapping drivers for chip access
|
||||
#
|
||||
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||
|
||||
#
|
||||
# Self-contained MTD device drivers
|
||||
#
|
||||
# CONFIG_MTD_SLRAM is not set
|
||||
# CONFIG_MTD_PHRAM is not set
|
||||
# CONFIG_MTD_MTDRAM is not set
|
||||
# CONFIG_MTD_BLKMTD is not set
|
||||
# CONFIG_MTD_BLOCK2MTD is not set
|
||||
|
||||
#
|
||||
# Disk-On-Chip Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_DOC2000 is not set
|
||||
# CONFIG_MTD_DOC2001 is not set
|
||||
# CONFIG_MTD_DOC2001PLUS is not set
|
||||
|
||||
#
|
||||
# NAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_NAND is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
#
|
||||
# CONFIG_PARPORT is not set
|
||||
|
||||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
# CONFIG_BLK_DEV_FD is not set
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
|
||||
CONFIG_BLK_DEV_NBD=m
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
#
|
||||
CONFIG_IOSCHED_NOOP=y
|
||||
# CONFIG_IOSCHED_AS is not set
|
||||
CONFIG_IOSCHED_DEADLINE=y
|
||||
CONFIG_IOSCHED_CFQ=y
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
CONFIG_IDE=y
|
||||
CONFIG_BLK_DEV_IDE=y
|
||||
|
||||
#
|
||||
# Please see Documentation/ide.txt for help/info on IDE drives
|
||||
#
|
||||
# CONFIG_BLK_DEV_IDE_SATA is not set
|
||||
CONFIG_BLK_DEV_IDEDISK=y
|
||||
# CONFIG_IDEDISK_MULTI_MODE is not set
|
||||
CONFIG_BLK_DEV_IDECS=y
|
||||
CONFIG_BLK_DEV_IDECD=m
|
||||
# CONFIG_BLK_DEV_IDETAPE is not set
|
||||
# CONFIG_BLK_DEV_IDEFLOPPY is not set
|
||||
# CONFIG_IDE_TASK_IOCTL is not set
|
||||
|
||||
#
|
||||
# IDE chipset support/bugfixes
|
||||
#
|
||||
CONFIG_IDE_GENERIC=y
|
||||
# CONFIG_IDE_ARM is not set
|
||||
# CONFIG_BLK_DEV_IDEDMA is not set
|
||||
# CONFIG_IDEDMA_AUTO is not set
|
||||
# CONFIG_BLK_DEV_HD is not set
|
||||
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
# CONFIG_SCSI is not set
|
||||
|
||||
#
|
||||
# Multi-device support (RAID and LVM)
|
||||
#
|
||||
# CONFIG_MD is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
#
|
||||
|
||||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
# CONFIG_IEEE1394 is not set
|
||||
|
||||
#
|
||||
# I2O device support
|
||||
#
|
||||
|
||||
#
|
||||
# Networking support
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_PACKET is not set
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
# CONFIG_IP_PNP_BOOTP is not set
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
# CONFIG_SYN_COOKIES is not set
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_IP_TCPDIAG=y
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_NET_CLS_ROUTE is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_SMC91X=y
|
||||
# CONFIG_NE2000 is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
#
|
||||
# CONFIG_NET_RADIO is not set
|
||||
|
||||
#
|
||||
# PCMCIA network device support
|
||||
#
|
||||
# CONFIG_NET_PCMCIA is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
#
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
#
|
||||
# CONFIG_ISDN is not set
|
||||
|
||||
#
|
||||
# Telephony Support
|
||||
#
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
#
|
||||
# Input device support
|
||||
#
|
||||
CONFIG_INPUT=y
|
||||
|
||||
#
|
||||
# Userland interfaces
|
||||
#
|
||||
CONFIG_INPUT_MOUSEDEV=y
|
||||
CONFIG_INPUT_MOUSEDEV_PSAUX=y
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||||
# CONFIG_INPUT_JOYDEV is not set
|
||||
# CONFIG_INPUT_TSDEV is not set
|
||||
# CONFIG_INPUT_EVDEV is not set
|
||||
# CONFIG_INPUT_EVBUG is not set
|
||||
|
||||
#
|
||||
# Input Device Drivers
|
||||
#
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
#
|
||||
# Hardware I/O ports
|
||||
#
|
||||
CONFIG_SERIO=y
|
||||
# CONFIG_SERIO_I8042 is not set
|
||||
# CONFIG_SERIO_SERPORT is not set
|
||||
# CONFIG_SERIO_LIBPS2 is not set
|
||||
# CONFIG_SERIO_RAW is not set
|
||||
# CONFIG_GAMEPORT is not set
|
||||
CONFIG_SOUND_GAMEPORT=y
|
||||
|
||||
#
|
||||
# Character devices
|
||||
#
|
||||
# CONFIG_VT is not set
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
#
|
||||
# Serial drivers
|
||||
#
|
||||
# CONFIG_SERIAL_8250 is not set
|
||||
|
||||
#
|
||||
# Non-8250 serial port support
|
||||
#
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
CONFIG_SERIAL_M32R_SIO=y
|
||||
CONFIG_SERIAL_M32R_SIO_CONSOLE=y
|
||||
# CONFIG_SERIAL_M32R_PLDSIO is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
|
||||
#
|
||||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_RTC is not set
|
||||
# CONFIG_GEN_RTC is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
|
||||
#
|
||||
# Ftape, the floppy tape device driver
|
||||
#
|
||||
# CONFIG_DRM is not set
|
||||
|
||||
#
|
||||
# PCMCIA character devices
|
||||
#
|
||||
# CONFIG_SYNCLINK_CS is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
# CONFIG_USB_ARCH_HAS_HCD is not set
|
||||
# CONFIG_USB_ARCH_HAS_OHCI is not set
|
||||
|
||||
#
|
||||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
# CONFIG_INFINIBAND is not set
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
CONFIG_EXT2_FS=y
|
||||
# CONFIG_EXT2_FS_XATTR is not set
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_XATTR=y
|
||||
# CONFIG_EXT3_FS_POSIX_ACL is not set
|
||||
# CONFIG_EXT3_FS_SECURITY is not set
|
||||
CONFIG_JBD=y
|
||||
# CONFIG_JBD_DEBUG is not set
|
||||
CONFIG_FS_MBCACHE=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
|
||||
#
|
||||
# XFS support
|
||||
#
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
CONFIG_ROMFS_FS=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
# CONFIG_AUTOFS4_FS is not set
|
||||
|
||||
#
|
||||
# CD-ROM/DVD Filesystems
|
||||
#
|
||||
CONFIG_ISO9660_FS=y
|
||||
# CONFIG_JOLIET is not set
|
||||
# CONFIG_ZISOFS is not set
|
||||
# CONFIG_UDF_FS is not set
|
||||
|
||||
#
|
||||
# DOS/FAT/NT Filesystems
|
||||
#
|
||||
CONFIG_FAT_FS=m
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_VFAT_FS=m
|
||||
CONFIG_FAT_DEFAULT_CODEPAGE=437
|
||||
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
|
||||
# CONFIG_NTFS_FS is not set
|
||||
|
||||
#
|
||||
# Pseudo filesystems
|
||||
#
|
||||
CONFIG_PROC_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_SYSFS=y
|
||||
CONFIG_DEVFS_FS=y
|
||||
CONFIG_DEVFS_MOUNT=y
|
||||
# CONFIG_DEVFS_DEBUG is not set
|
||||
# CONFIG_DEVPTS_FS_XATTR is not set
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_TMPFS_XATTR is not set
|
||||
# CONFIG_HUGETLBFS is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_RAMFS=y
|
||||
|
||||
#
|
||||
# Miscellaneous filesystems
|
||||
#
|
||||
# CONFIG_ADFS_FS is not set
|
||||
# CONFIG_AFFS_FS is not set
|
||||
# CONFIG_HFS_FS is not set
|
||||
# CONFIG_HFSPLUS_FS is not set
|
||||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
CONFIG_JFFS_FS=y
|
||||
CONFIG_JFFS_FS_VERBOSE=0
|
||||
CONFIG_JFFS_PROC_FS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_FS_NAND is not set
|
||||
# CONFIG_JFFS2_FS_NOR_ECC is not set
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
# CONFIG_JFFS2_RUBIN is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
|
||||
#
|
||||
# Network File Systems
|
||||
#
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
# CONFIG_NFS_V4 is not set
|
||||
# CONFIG_NFS_DIRECTIO is not set
|
||||
# CONFIG_NFSD is not set
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_LOCKD=y
|
||||
CONFIG_LOCKD_V4=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
# CONFIG_CIFS is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
|
||||
#
|
||||
# Partition Types
|
||||
#
|
||||
# CONFIG_PARTITION_ADVANCED is not set
|
||||
CONFIG_MSDOS_PARTITION=y
|
||||
|
||||
#
|
||||
# Native Language Support
|
||||
#
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NLS_DEFAULT="iso8859-1"
|
||||
# CONFIG_NLS_CODEPAGE_437 is not set
|
||||
# CONFIG_NLS_CODEPAGE_737 is not set
|
||||
# CONFIG_NLS_CODEPAGE_775 is not set
|
||||
# CONFIG_NLS_CODEPAGE_850 is not set
|
||||
# CONFIG_NLS_CODEPAGE_852 is not set
|
||||
# CONFIG_NLS_CODEPAGE_855 is not set
|
||||
# CONFIG_NLS_CODEPAGE_857 is not set
|
||||
# CONFIG_NLS_CODEPAGE_860 is not set
|
||||
# CONFIG_NLS_CODEPAGE_861 is not set
|
||||
# CONFIG_NLS_CODEPAGE_862 is not set
|
||||
# CONFIG_NLS_CODEPAGE_863 is not set
|
||||
# CONFIG_NLS_CODEPAGE_864 is not set
|
||||
# CONFIG_NLS_CODEPAGE_865 is not set
|
||||
# CONFIG_NLS_CODEPAGE_866 is not set
|
||||
# CONFIG_NLS_CODEPAGE_869 is not set
|
||||
# CONFIG_NLS_CODEPAGE_936 is not set
|
||||
# CONFIG_NLS_CODEPAGE_950 is not set
|
||||
# CONFIG_NLS_CODEPAGE_932 is not set
|
||||
# CONFIG_NLS_CODEPAGE_949 is not set
|
||||
# CONFIG_NLS_CODEPAGE_874 is not set
|
||||
# CONFIG_NLS_ISO8859_8 is not set
|
||||
# CONFIG_NLS_CODEPAGE_1250 is not set
|
||||
# CONFIG_NLS_CODEPAGE_1251 is not set
|
||||
# CONFIG_NLS_ASCII is not set
|
||||
# CONFIG_NLS_ISO8859_1 is not set
|
||||
# CONFIG_NLS_ISO8859_2 is not set
|
||||
# CONFIG_NLS_ISO8859_3 is not set
|
||||
# CONFIG_NLS_ISO8859_4 is not set
|
||||
# CONFIG_NLS_ISO8859_5 is not set
|
||||
# CONFIG_NLS_ISO8859_6 is not set
|
||||
# CONFIG_NLS_ISO8859_7 is not set
|
||||
# CONFIG_NLS_ISO8859_9 is not set
|
||||
# CONFIG_NLS_ISO8859_13 is not set
|
||||
# CONFIG_NLS_ISO8859_14 is not set
|
||||
# CONFIG_NLS_ISO8859_15 is not set
|
||||
# CONFIG_NLS_KOI8_R is not set
|
||||
# CONFIG_NLS_KOI8_U is not set
|
||||
# CONFIG_NLS_UTF8 is not set
|
||||
|
||||
#
|
||||
# Profiling support
|
||||
#
|
||||
# CONFIG_PROFILING is not set
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
#
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
CONFIG_LOG_BUF_SHIFT=15
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_FRAME_POINTER is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
|
||||
#
|
||||
# Cryptographic options
|
||||
#
|
||||
# CONFIG_CRYPTO is not set
|
||||
|
||||
#
|
||||
# Hardware crypto devices
|
||||
#
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_ZLIB_DEFLATE=y
|
|
@ -0,0 +1,224 @@
|
|||
# .gdbinit file
|
||||
# $Id: dot.gdbinit,v 1.1 2005/04/11 02:21:08 sakugawa Exp $
|
||||
|
||||
# setting
|
||||
set width 0d70
|
||||
set radix 0d16
|
||||
use_debug_dma
|
||||
|
||||
# Initialize SDRAM controller for Mappi
|
||||
define sdram_init
|
||||
# SDIR0
|
||||
set *(unsigned long *)0x00ef6008 = 0x00000182
|
||||
# SDIR1
|
||||
set *(unsigned long *)0x00ef600c = 0x00000001
|
||||
# Initialize wait
|
||||
shell sleep 0.1
|
||||
# MOD
|
||||
set *(unsigned long *)0x00ef602c = 0x00000020
|
||||
set *(unsigned long *)0x00ef604c = 0x00000020
|
||||
# TR
|
||||
set *(unsigned long *)0x00ef6028 = 0x00051502
|
||||
set *(unsigned long *)0x00ef6048 = 0x00051502
|
||||
# ADR
|
||||
set *(unsigned long *)0x00ef6020 = 0x08000004
|
||||
set *(unsigned long *)0x00ef6040 = 0x0c000004
|
||||
# AutoRef On
|
||||
set *(unsigned long *)0x00ef6004 = 0x00010517
|
||||
# Access enable
|
||||
set *(unsigned long *)0x00ef6024 = 0x00000001
|
||||
set *(unsigned long *)0x00ef6044 = 0x00000001
|
||||
end
|
||||
|
||||
# Initialize LAN controller for Mappi
|
||||
define lanc_init
|
||||
# Set BSEL4
|
||||
#set *(unsigned long *)0x00ef5004 = 0x0fff330f
|
||||
#set *(unsigned long *)0x00ef5004 = 0x01113301
|
||||
|
||||
# set *(unsigned long *)0x00ef5004 = 0x02011101
|
||||
# set *(unsigned long *)0x00ef5004 = 0x04441104
|
||||
end
|
||||
|
||||
define clock_init
|
||||
set *(unsigned long *)0x00ef4010 = 2
|
||||
set *(unsigned long *)0x00ef4014 = 2
|
||||
set *(unsigned long *)0x00ef4020 = 3
|
||||
set *(unsigned long *)0x00ef4024 = 3
|
||||
set *(unsigned long *)0x00ef4004 = 0x7
|
||||
# shell sleep 0.1
|
||||
# set *(unsigned long *)0x00ef4004 = 0x5
|
||||
shell sleep 0.1
|
||||
set *(unsigned long *)0x00ef4008 = 0x0200
|
||||
end
|
||||
|
||||
define port_init
|
||||
set $sfrbase = 0x00ef0000
|
||||
set *(unsigned short *)0x00ef1060 = 0x5555
|
||||
set *(unsigned short *)0x00ef1062 = 0x5555
|
||||
set *(unsigned short *)0x00ef1064 = 0x5555
|
||||
set *(unsigned short *)0x00ef1066 = 0x5555
|
||||
set *(unsigned short *)0x00ef1068 = 0x5555
|
||||
set *(unsigned short *)0x00ef106a = 0x0000
|
||||
set *(unsigned short *)0x00ef106e = 0x5555
|
||||
set *(unsigned short *)0x00ef1070 = 0x5555
|
||||
end
|
||||
|
||||
# MMU enable
|
||||
define mmu_enable
|
||||
set $evb=0x88000000
|
||||
set *(unsigned long *)0xffff0024=1
|
||||
end
|
||||
|
||||
# MMU disable
|
||||
define mmu_disable
|
||||
set $evb=0
|
||||
set *(unsigned long *)0xffff0024=0
|
||||
end
|
||||
|
||||
# Show TLB entries
|
||||
define show_tlb_entries
|
||||
set $i = 0
|
||||
set $addr = $arg0
|
||||
while ($i < 0d16 )
|
||||
set $tlb_tag = *(unsigned long*)$addr
|
||||
set $tlb_data = *(unsigned long*)($addr + 4)
|
||||
printf " [%2d] 0x%08lx : 0x%08lx - 0x%08lx\n", $i, $addr, $tlb_tag, $tlb_data
|
||||
set $i = $i + 1
|
||||
set $addr = $addr + 8
|
||||
end
|
||||
end
|
||||
define itlb
|
||||
set $itlb=0xfe000000
|
||||
show_tlb_entries $itlb
|
||||
end
|
||||
define dtlb
|
||||
set $dtlb=0xfe000800
|
||||
show_tlb_entries $dtlb
|
||||
end
|
||||
|
||||
# Cache ON
|
||||
define set_cache_type
|
||||
set $mctype = (void*)0xfffffff8
|
||||
# chaos
|
||||
# set *(unsigned long *)($mctype) = 0x0000c000
|
||||
# m32102 i-cache only
|
||||
set *(unsigned long *)($mctype) = 0x00008000
|
||||
# m32102 d-cache only
|
||||
# set *(unsigned long *)($mctype) = 0x00004000
|
||||
end
|
||||
define cache_on
|
||||
set $param = (void*)0x08001000
|
||||
set *(unsigned long *)($param) = 0x60ff6102
|
||||
end
|
||||
|
||||
|
||||
# Show current task structure
|
||||
define show_current
|
||||
set $current = $spi & 0xffffe000
|
||||
printf "$current=0x%08lX\n",$current
|
||||
print *(struct task_struct *)$current
|
||||
end
|
||||
|
||||
# Show user assigned task structure
|
||||
define show_task
|
||||
set $task = $arg0 & 0xffffe000
|
||||
printf "$task=0x%08lX\n",$task
|
||||
print *(struct task_struct *)$task
|
||||
end
|
||||
document show_task
|
||||
Show user assigned task structure
|
||||
arg0 : task structure address
|
||||
end
|
||||
|
||||
# Show M32R registers
|
||||
define show_regs
|
||||
printf " R0[0x%08lX] R1[0x%08lX] R2[0x%08lX] R3[0x%08lX]\n",$r0,$r1,$r2,$r3
|
||||
printf " R4[0x%08lX] R5[0x%08lX] R6[0x%08lX] R7[0x%08lX]\n",$r4,$r5,$r6,$r7
|
||||
printf " R8[0x%08lX] R9[0x%08lX] R10[0x%08lX] R11[0x%08lX]\n",$r8,$r9,$r10,$r11
|
||||
printf "R12[0x%08lX] FP[0x%08lX] LR[0x%08lX] SP[0x%08lX]\n",$r12,$fp,$lr,$sp
|
||||
printf "PSW[0x%08lX] CBR[0x%08lX] SPI[0x%08lX] SPU[0x%08lX]\n",$psw,$cbr,$spi,$spu
|
||||
printf "BPC[0x%08lX] PC[0x%08lX] ACCL[0x%08lX] ACCH[0x%08lX]\n",$bpc,$pc,$accl,$acch
|
||||
printf "EVB[0x%08lX]\n",$evb
|
||||
|
||||
set $mests = *(unsigned long *)0xffff000c
|
||||
set $mdeva = *(unsigned long *)0xffff0010
|
||||
printf "MESTS[0x%08lX] MDEVA[0x%08lX]\n",$mests,$mdeva
|
||||
end
|
||||
|
||||
|
||||
# Setup all
|
||||
define setup
|
||||
clock_init
|
||||
shell sleep 0.1
|
||||
port_init
|
||||
sdram_init
|
||||
# lanc_init
|
||||
# dispc_init
|
||||
# set $evb=0x08000000
|
||||
end
|
||||
|
||||
# Load modules
|
||||
define load_modules
|
||||
use_debug_dma
|
||||
load
|
||||
# load busybox.mot
|
||||
end
|
||||
|
||||
# Set kernel parameters
|
||||
define set_kernel_parameters
|
||||
set $param = (void*)0x08001000
|
||||
|
||||
## MOUNT_ROOT_RDONLY
|
||||
set {long}($param+0x00)=0
|
||||
## RAMDISK_FLAGS
|
||||
#set {long}($param+0x04)=0
|
||||
## ORIG_ROOT_DEV
|
||||
#set {long}($param+0x08)=0x00000100
|
||||
## LOADER_TYPE
|
||||
#set {long}($param+0x0C)=0
|
||||
## INITRD_START
|
||||
set {long}($param+0x10)=0x082a0000
|
||||
## INITRD_SIZE
|
||||
set {long}($param+0x14)=0d6200000
|
||||
|
||||
# M32R_CPUCLK
|
||||
set *(unsigned long *)($param + 0x0018) = 0d100000000
|
||||
# M32R_BUSCLK
|
||||
set *(unsigned long *)($param + 0x001c) = 0d50000000
|
||||
# M32R_TIMER_DIVIDE
|
||||
set *(unsigned long *)($param + 0x0020) = 0d128
|
||||
|
||||
|
||||
set {char[0x200]}($param + 0x100) = "console=ttyS0,115200n8x root=/dev/nfsroot nfsroot=192.168.0.1:/project/m32r-linux/export/root.2.6_04 nfsaddrs=192.168.0.102:192.168.0.1:192.168.0.1:255.255.255.0:mappi: \0"
|
||||
|
||||
|
||||
end
|
||||
|
||||
# Boot
|
||||
define boot
|
||||
set_kernel_parameters
|
||||
debug_chaos
|
||||
set *(unsigned long *)0x00f00000=0x08002000
|
||||
set $pc=0x08002000
|
||||
set $fp=0
|
||||
del b
|
||||
si
|
||||
end
|
||||
|
||||
# Restart
|
||||
define restart
|
||||
sdireset
|
||||
sdireset
|
||||
setup
|
||||
load_modules
|
||||
boot
|
||||
end
|
||||
|
||||
sdireset
|
||||
sdireset
|
||||
file vmlinux
|
||||
target m32rsdi
|
||||
|
||||
restart
|
||||
boot
|
|
@ -35,7 +35,7 @@
|
|||
static __inline__ int ide_default_irq(unsigned long base)
|
||||
{
|
||||
switch (base) {
|
||||
#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2)
|
||||
#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2) || defined(CONFIG_PLAT_MAPPI3)
|
||||
case 0x1f0: return PLD_IRQ_CFIREQ;
|
||||
default:
|
||||
return 0;
|
||||
|
|
|
@ -175,6 +175,7 @@
|
|||
#define M32R_ICU_CR5_PORTL (0x210+M32R_ICU_OFFSET) /* INT4 */
|
||||
#define M32R_ICU_CR6_PORTL (0x214+M32R_ICU_OFFSET) /* INT5 */
|
||||
#define M32R_ICU_CR7_PORTL (0x218+M32R_ICU_OFFSET) /* INT6 */
|
||||
#define M32R_ICU_CR8_PORTL (0x219+M32R_ICU_OFFSET) /* INT7 */
|
||||
#define M32R_ICU_CR16_PORTL (0x23C+M32R_ICU_OFFSET) /* MFT0 */
|
||||
#define M32R_ICU_CR17_PORTL (0x240+M32R_ICU_OFFSET) /* MFT1 */
|
||||
#define M32R_ICU_CR18_PORTL (0x244+M32R_ICU_OFFSET) /* MFT2 */
|
||||
|
|
|
@ -36,6 +36,10 @@
|
|||
#include <asm/mappi2/mappi2_pld.h>
|
||||
#endif /* CONFIG_PLAT_MAPPI2 */
|
||||
|
||||
#if defined(CONFIG_PLAT_MAPPI3)
|
||||
#include <asm/mappi3/mappi3_pld.h>
|
||||
#endif /* CONFIG_PLAT_MAPPI3 */
|
||||
|
||||
#if defined(CONFIG_PLAT_USRV)
|
||||
#include <asm/m32700ut/m32700ut_pld.h>
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,143 @@
|
|||
/*
|
||||
* include/asm/mappi3/mappi3_pld.h
|
||||
*
|
||||
* Definitions for Extended IO Logic on MAPPI3 board.
|
||||
* based on m32700ut_pld.h
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General
|
||||
* Public License. See the file "COPYING" in the main directory of
|
||||
* this archive for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _MAPPI3_PLD_H
|
||||
#define _MAPPI3_PLD_H
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/* FIXME:
|
||||
* Some C functions use non-cache address, so can't define non-cache address.
|
||||
*/
|
||||
#define PLD_BASE (0x1c000000 /* + NONCACHE_OFFSET */)
|
||||
#define __reg8 (volatile unsigned char *)
|
||||
#define __reg16 (volatile unsigned short *)
|
||||
#define __reg32 (volatile unsigned int *)
|
||||
#else
|
||||
#define PLD_BASE (0x1c000000 + NONCACHE_OFFSET)
|
||||
#define __reg8
|
||||
#define __reg16
|
||||
#define __reg32
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/* CFC */
|
||||
#define PLD_CFRSTCR __reg16(PLD_BASE + 0x0000)
|
||||
#define PLD_CFSTS __reg16(PLD_BASE + 0x0002)
|
||||
#define PLD_CFIMASK __reg16(PLD_BASE + 0x0004)
|
||||
#define PLD_CFBUFCR __reg16(PLD_BASE + 0x0006)
|
||||
#define PLD_CFCR0 __reg16(PLD_BASE + 0x000a)
|
||||
#define PLD_CFCR1 __reg16(PLD_BASE + 0x000c)
|
||||
|
||||
/* MMC */
|
||||
#define PLD_MMCCR __reg16(PLD_BASE + 0x4000)
|
||||
#define PLD_MMCMOD __reg16(PLD_BASE + 0x4002)
|
||||
#define PLD_MMCSTS __reg16(PLD_BASE + 0x4006)
|
||||
#define PLD_MMCBAUR __reg16(PLD_BASE + 0x400a)
|
||||
#define PLD_MMCCMDBCUT __reg16(PLD_BASE + 0x400c)
|
||||
#define PLD_MMCCDTBCUT __reg16(PLD_BASE + 0x400e)
|
||||
#define PLD_MMCDET __reg16(PLD_BASE + 0x4010)
|
||||
#define PLD_MMCWP __reg16(PLD_BASE + 0x4012)
|
||||
#define PLD_MMCWDATA __reg16(PLD_BASE + 0x5000)
|
||||
#define PLD_MMCRDATA __reg16(PLD_BASE + 0x6000)
|
||||
#define PLD_MMCCMDDATA __reg16(PLD_BASE + 0x7000)
|
||||
#define PLD_MMCRSPDATA __reg16(PLD_BASE + 0x7006)
|
||||
|
||||
/* Power Control of MMC and CF */
|
||||
#define PLD_CPCR __reg16(PLD_BASE + 0x14000)
|
||||
|
||||
|
||||
/*==== ICU ====*/
|
||||
#define M32R_IRQ_PC104 (5) /* INT4(PC/104) */
|
||||
#define M32R_IRQ_I2C (28) /* I2C-BUS */
|
||||
#define PLD_IRQ_CFIREQ (6) /* INT5 CFC Card Interrupt */
|
||||
#define PLD_IRQ_CFC_INSERT (7) /* INT6 CFC Card Insert */
|
||||
#define PLD_IRQ_CFC_EJECT (8) /* INT7 CFC Card Eject */
|
||||
#define PLD_IRQ_MMCCARD (43) /* MMC Card Insert */
|
||||
#define PLD_IRQ_MMCIRQ (44) /* MMC Transfer Done */
|
||||
|
||||
|
||||
#if 0
|
||||
/* LED Control
|
||||
*
|
||||
* 1: DIP swich side
|
||||
* 2: Reset switch side
|
||||
*/
|
||||
#define PLD_IOLEDCR __reg16(PLD_BASE + 0x14002)
|
||||
#define PLD_IOLED_1_ON 0x001
|
||||
#define PLD_IOLED_1_OFF 0x000
|
||||
#define PLD_IOLED_2_ON 0x002
|
||||
#define PLD_IOLED_2_OFF 0x000
|
||||
|
||||
/* DIP Switch
|
||||
* 0: Write-protect of Flash Memory (0:protected, 1:non-protected)
|
||||
* 1: -
|
||||
* 2: -
|
||||
* 3: -
|
||||
*/
|
||||
#define PLD_IOSWSTS __reg16(PLD_BASE + 0x14004)
|
||||
#define PLD_IOSWSTS_IOSW2 0x0200
|
||||
#define PLD_IOSWSTS_IOSW1 0x0100
|
||||
#define PLD_IOSWSTS_IOWP0 0x0001
|
||||
|
||||
#endif
|
||||
|
||||
/* CRC */
|
||||
#define PLD_CRC7DATA __reg16(PLD_BASE + 0x18000)
|
||||
#define PLD_CRC7INDATA __reg16(PLD_BASE + 0x18002)
|
||||
#define PLD_CRC16DATA __reg16(PLD_BASE + 0x18004)
|
||||
#define PLD_CRC16INDATA __reg16(PLD_BASE + 0x18006)
|
||||
#define PLD_CRC16ADATA __reg16(PLD_BASE + 0x18008)
|
||||
#define PLD_CRC16AINDATA __reg16(PLD_BASE + 0x1800a)
|
||||
|
||||
|
||||
#if 0
|
||||
/* RTC */
|
||||
#define PLD_RTCCR __reg16(PLD_BASE + 0x1c000)
|
||||
#define PLD_RTCBAUR __reg16(PLD_BASE + 0x1c002)
|
||||
#define PLD_RTCWRDATA __reg16(PLD_BASE + 0x1c004)
|
||||
#define PLD_RTCRDDATA __reg16(PLD_BASE + 0x1c006)
|
||||
#define PLD_RTCRSTODT __reg16(PLD_BASE + 0x1c008)
|
||||
|
||||
/* SIO0 */
|
||||
#define PLD_ESIO0CR __reg16(PLD_BASE + 0x20000)
|
||||
#define PLD_ESIO0CR_TXEN 0x0001
|
||||
#define PLD_ESIO0CR_RXEN 0x0002
|
||||
#define PLD_ESIO0MOD0 __reg16(PLD_BASE + 0x20002)
|
||||
#define PLD_ESIO0MOD0_CTSS 0x0040
|
||||
#define PLD_ESIO0MOD0_RTSS 0x0080
|
||||
#define PLD_ESIO0MOD1 __reg16(PLD_BASE + 0x20004)
|
||||
#define PLD_ESIO0MOD1_LMFS 0x0010
|
||||
#define PLD_ESIO0STS __reg16(PLD_BASE + 0x20006)
|
||||
#define PLD_ESIO0STS_TEMP 0x0001
|
||||
#define PLD_ESIO0STS_TXCP 0x0002
|
||||
#define PLD_ESIO0STS_RXCP 0x0004
|
||||
#define PLD_ESIO0STS_TXSC 0x0100
|
||||
#define PLD_ESIO0STS_RXSC 0x0200
|
||||
#define PLD_ESIO0STS_TXREADY (PLD_ESIO0STS_TXCP | PLD_ESIO0STS_TEMP)
|
||||
#define PLD_ESIO0INTCR __reg16(PLD_BASE + 0x20008)
|
||||
#define PLD_ESIO0INTCR_TXIEN 0x0002
|
||||
#define PLD_ESIO0INTCR_RXCEN 0x0004
|
||||
#define PLD_ESIO0BAUR __reg16(PLD_BASE + 0x2000a)
|
||||
#define PLD_ESIO0TXB __reg16(PLD_BASE + 0x2000c)
|
||||
#define PLD_ESIO0RXB __reg16(PLD_BASE + 0x2000e)
|
||||
|
||||
/* SIM Card */
|
||||
#define PLD_SCCR __reg16(PLD_BASE + 0x38000)
|
||||
#define PLD_SCMOD __reg16(PLD_BASE + 0x38004)
|
||||
#define PLD_SCSTS __reg16(PLD_BASE + 0x38006)
|
||||
#define PLD_SCINTCR __reg16(PLD_BASE + 0x38008)
|
||||
#define PLD_SCBAUR __reg16(PLD_BASE + 0x3800a)
|
||||
#define PLD_SCTXB __reg16(PLD_BASE + 0x3800c)
|
||||
#define PLD_SCRXB __reg16(PLD_BASE + 0x3800e)
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* _MAPPI3_PLD.H */
|
Loading…
Reference in New Issue