⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m32r_sio.c

📁 linux内核源码
💻 C
字号:
/* * arch/m32r/boot/compressed/m32r_sio.c * * 2003-02-12:	Takeo Takahashi * 2006-11-30:	OPSPUT support by Kazuhiro Inaoka * */#include <asm/processor.h>static void putc(char c);static int puts(const char *s){	char c;	while ((c = *s++)) putc(c);	return 0;}#if defined(CONFIG_PLAT_M32700UT_Alpha) || defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_OPSPUT)#include <asm/m32r.h>#include <asm/io.h>#define USE_FPGA_MAP	0#if USE_FPGA_MAP/* * fpga configuration program uses MMU, and define map as same as * M32104 uT-Engine board. */#define BOOT_SIO0STS	(volatile unsigned short *)(0x02c00000 + 0x20006)#define BOOT_SIO0TXB	(volatile unsigned short *)(0x02c00000 + 0x2000c)#else#undef PLD_BASE#if defined(CONFIG_PLAT_OPSPUT)#define PLD_BASE	0x1cc00000#else#define PLD_BASE	0xa4c00000#endif#define BOOT_SIO0STS	PLD_ESIO0STS#define BOOT_SIO0TXB	PLD_ESIO0TXB#endifstatic void putc(char c){	while ((*BOOT_SIO0STS & 0x3) != 0x3)		cpu_relax();	if (c == '\n') {		*BOOT_SIO0TXB = '\r';		while ((*BOOT_SIO0STS & 0x3) != 0x3)			cpu_relax();	}	*BOOT_SIO0TXB = c;}#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#define SIO0STS	(volatile unsigned short *)(0x00efd000 + 14)#define SIO0TXB	(volatile unsigned short *)(0x00efd000 + 30)#endifstatic void putc(char c){	while ((*SIO0STS & 0x1) == 0)		cpu_relax();	if (c == '\n') {		*SIO0TXB = '\r';		while ((*SIO0STS & 0x1) == 0)			cpu_relax();	}	*SIO0TXB = c;}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -