1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun * 3*4882a593Smuzhiyun * include/asm-sh/snapgear.h 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Modified version of io_se.h for the snapgear-specific functions. 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * IO functions for a SnapGear 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #ifndef _ASM_SH_IO_SNAPGEAR_H 11*4882a593Smuzhiyun #define _ASM_SH_IO_SNAPGEAR_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #define __IO_PREFIX snapgear 14*4882a593Smuzhiyun #include <asm/io_generic.h> 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun /* 17*4882a593Smuzhiyun * We need to remember what was written to the ioport as some bits 18*4882a593Smuzhiyun * are shared with other functions and you cannot read back what was 19*4882a593Smuzhiyun * written :-| 20*4882a593Smuzhiyun * 21*4882a593Smuzhiyun * Bit Read Write 22*4882a593Smuzhiyun * ----------------------------------------------- 23*4882a593Smuzhiyun * D0 DCD on ttySC1 power 24*4882a593Smuzhiyun * D1 Reset Switch heatbeat 25*4882a593Smuzhiyun * D2 ttySC0 CTS (7100) LAN 26*4882a593Smuzhiyun * D3 - WAN 27*4882a593Smuzhiyun * D4 ttySC0 DCD (7100) CONSOLE 28*4882a593Smuzhiyun * D5 - ONLINE 29*4882a593Smuzhiyun * D6 - VPN 30*4882a593Smuzhiyun * D7 - DTR on ttySC1 31*4882a593Smuzhiyun * D8 - ttySC0 RTS (7100) 32*4882a593Smuzhiyun * D9 - ttySC0 DTR (7100) 33*4882a593Smuzhiyun * D10 - RTC SCLK 34*4882a593Smuzhiyun * D11 RTC DATA RTC DATA 35*4882a593Smuzhiyun * D12 - RTS RESET 36*4882a593Smuzhiyun */ 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun #define SECUREEDGE_IOPORT_ADDR ((volatile short *) 0xb0000000) 39*4882a593Smuzhiyun extern unsigned short secureedge5410_ioport; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun #define SECUREEDGE_WRITE_IOPORT(val, mask) (*SECUREEDGE_IOPORT_ADDR = \ 42*4882a593Smuzhiyun (secureedge5410_ioport = \ 43*4882a593Smuzhiyun ((secureedge5410_ioport & ~(mask)) | ((val) & (mask))))) 44*4882a593Smuzhiyun #define SECUREEDGE_READ_IOPORT() \ 45*4882a593Smuzhiyun ((*SECUREEDGE_IOPORT_ADDR&0x0817) | (secureedge5410_ioport&~0x0817)) 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun #endif /* _ASM_SH_IO_SNAPGEAR_H */ 48