Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/arm/mach-ep93xx/include/mach/ts72xx.h
15157 views
1
/*
2
* arch/arm/mach-ep93xx/include/mach/ts72xx.h
3
*/
4
5
/*
6
* TS72xx memory map:
7
*
8
* virt phys size
9
* febff000 22000000 4K model number register
10
* febfe000 22400000 4K options register
11
* febfd000 22800000 4K options register #2
12
* febf9000 10800000 4K TS-5620 RTC index register
13
* febf8000 11700000 4K TS-5620 RTC data register
14
*/
15
16
#define TS72XX_MODEL_PHYS_BASE 0x22000000
17
#define TS72XX_MODEL_VIRT_BASE 0xfebff000
18
#define TS72XX_MODEL_SIZE 0x00001000
19
20
#define TS72XX_MODEL_TS7200 0x00
21
#define TS72XX_MODEL_TS7250 0x01
22
#define TS72XX_MODEL_TS7260 0x02
23
24
25
#define TS72XX_OPTIONS_PHYS_BASE 0x22400000
26
#define TS72XX_OPTIONS_VIRT_BASE 0xfebfe000
27
#define TS72XX_OPTIONS_SIZE 0x00001000
28
29
#define TS72XX_OPTIONS_COM2_RS485 0x02
30
#define TS72XX_OPTIONS_MAX197 0x01
31
32
33
#define TS72XX_OPTIONS2_PHYS_BASE 0x22800000
34
#define TS72XX_OPTIONS2_VIRT_BASE 0xfebfd000
35
#define TS72XX_OPTIONS2_SIZE 0x00001000
36
37
#define TS72XX_OPTIONS2_TS9420 0x04
38
#define TS72XX_OPTIONS2_TS9420_BOOT 0x02
39
40
41
#define TS72XX_RTC_INDEX_VIRT_BASE 0xfebf9000
42
#define TS72XX_RTC_INDEX_PHYS_BASE 0x10800000
43
#define TS72XX_RTC_INDEX_SIZE 0x00001000
44
45
#define TS72XX_RTC_DATA_VIRT_BASE 0xfebf8000
46
#define TS72XX_RTC_DATA_PHYS_BASE 0x11700000
47
#define TS72XX_RTC_DATA_SIZE 0x00001000
48
49
#define TS72XX_WDT_CONTROL_PHYS_BASE 0x23800000
50
#define TS72XX_WDT_FEED_PHYS_BASE 0x23c00000
51
52
#ifndef __ASSEMBLY__
53
54
static inline int board_is_ts7200(void)
55
{
56
return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7200;
57
}
58
59
static inline int board_is_ts7250(void)
60
{
61
return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7250;
62
}
63
64
static inline int board_is_ts7260(void)
65
{
66
return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7260;
67
}
68
69
static inline int is_max197_installed(void)
70
{
71
return !!(__raw_readb(TS72XX_OPTIONS_VIRT_BASE) &
72
TS72XX_OPTIONS_MAX197);
73
}
74
75
static inline int is_ts9420_installed(void)
76
{
77
return !!(__raw_readb(TS72XX_OPTIONS2_VIRT_BASE) &
78
TS72XX_OPTIONS2_TS9420);
79
}
80
#endif
81
82