📄 io.h
字号:
/* * include/asm-sh/snapgear/io.h * * Modified version of io_se.h for the snapgear-specific functions. * * May be copied or modified under the terms of the GNU General Public * License. See linux/COPYING for more information. * * IO functions for a SnapGear */#ifndef _ASM_SH_IO_SNAPGEAR_H#define _ASM_SH_IO_SNAPGEAR_H#if defined(CONFIG_CPU_SH4)/* * The external interrupt lines, these take up ints 0 - 15 inclusive * depending on the priority for the interrupt. In fact the priority * is the interrupt :-) */#define IRL0_IRQ 2#define IRL0_IPR_ADDR INTC_IPRD#define IRL0_IPR_POS 3#define IRL0_PRIORITY 13#define IRL1_IRQ 5#define IRL1_IPR_ADDR INTC_IPRD#define IRL1_IPR_POS 2#define IRL1_PRIORITY 10#define IRL2_IRQ 8#define IRL2_IPR_ADDR INTC_IPRD#define IRL2_IPR_POS 1#define IRL2_PRIORITY 7#define IRL3_IRQ 11#define IRL3_IPR_ADDR INTC_IPRD#define IRL3_IPR_POS 0#define IRL3_PRIORITY 4#endifextern unsigned char snapgear_inb(unsigned long port);extern unsigned short snapgear_inw(unsigned long port);extern unsigned int snapgear_inl(unsigned long port);extern void snapgear_outb(unsigned char value, unsigned long port);extern void snapgear_outw(unsigned short value, unsigned long port);extern void snapgear_outl(unsigned int value, unsigned long port);extern unsigned char snapgear_inb_p(unsigned long port);extern void snapgear_outb_p(unsigned char value, unsigned long port);extern void snapgear_insl(unsigned long port, void *addr, unsigned long count);extern void snapgear_outsl(unsigned long port, const void *addr, unsigned long count);extern unsigned long snapgear_isa_port2addr(unsigned long offset);#ifdef CONFIG_SH_SECUREEDGE5410/* * We need to remember what was written to the ioport as some bits * are shared with other functions and you cannot read back what was * written :-| * * Bit Read Write * ----------------------------------------------- * D0 DCD on ttySC1 power * D1 Reset Switch heatbeat * D2 ttySC0 CTS (7100) LAN * D3 - WAN * D4 ttySC0 DCD (7100) CONSOLE * D5 - ONLINE * D6 - VPN * D7 - DTR on ttySC1 * D8 - ttySC0 RTS (7100) * D9 - ttySC0 DTR (7100) * D10 - RTC SCLK * D11 RTC DATA RTC DATA * D12 - RTS RESET */ #define SECUREEDGE_IOPORT_ADDR ((volatile short *) 0xb0000000) extern unsigned short secureedge5410_ioport; #define SECUREEDGE_WRITE_IOPORT(val, mask) (*SECUREEDGE_IOPORT_ADDR = \ (secureedge5410_ioport = \ ((secureedge5410_ioport & ~(mask)) | ((val) & (mask))))) #define SECUREEDGE_READ_IOPORT() \ ((*SECUREEDGE_IOPORT_ADDR&0x0817) | (secureedge5410_ioport&~0x0817))#endif#endif /* _ASM_SH_IO_SNAPGEAR_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -