Blame view

kernel/linux-rt-4.4.41/arch/sh/include/mach-common/mach/secureedge5410.h 1.62 KB
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
  /*
   * include/asm-sh/snapgear.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
  
  #define __IO_PREFIX	snapgear
  #include <asm/io_generic.h>
  
  /*
   * 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 /* _ASM_SH_IO_SNAPGEAR_H */