1
2
3
4
5
6
7
8
9#ifndef __ASSEMBLY__
10
11
12#define GSC_SC_ADDR 0x20
13#define GSC_RTC_ADDR 0x68
14#define GSC_HWMON_ADDR 0x29
15#define GSC_EEPROM_ADDR 0x51
16
17
18enum {
19 GSC_SC_CTRL0 = 0x00,
20 GSC_SC_CTRL1 = 0x01,
21 GSC_SC_STATUS = 0x0a,
22 GSC_SC_FWCRC = 0x0c,
23 GSC_SC_FWVER = 0x0e,
24};
25
26
27enum {
28 GSC_SC_CTRL1_WDTIME = 4,
29 GSC_SC_CTRL1_WDEN = 5,
30 GSC_SC_CTRL1_WDDIS = 7,
31};
32
33
34enum {
35 GSC_SC_IRQ_PB = 0,
36 GSC_SC_IRQ_SECURE = 1,
37 GSC_SC_IRQ_EEPROM_WP = 2,
38 GSC_SC_IRQ_GPIO = 4,
39 GSC_SC_IRQ_TAMPER = 5,
40 GSC_SC_IRQ_WATCHDOG = 6,
41 GSC_SC_IRQ_PBLONG = 7,
42};
43
44
45enum {
46 GSC_HWMON_TEMP = 0x00,
47 GSC_HWMON_VIN = 0x02,
48 GSC_HWMON_VDD_3P3 = 0x05,
49 GSC_HWMON_VBATT = 0x08,
50 GSC_HWMON_VDD_5P0 = 0x0b,
51 GSC_HWMON_VDD_CORE = 0x0e,
52 GSC_HWMON_VDD_HIGH = 0x14,
53 GSC_HWMON_VDD_DDR = 0x17,
54 GSC_HWMON_VDD_SOC = 0x11,
55 GSC_HWMON_VDD_1P8 = 0x1d,
56 GSC_HWMON_VDD_IO2 = 0x20,
57 GSC_HWMON_VDD_2P5 = 0x23,
58 GSC_HWMON_VDD_IO3 = 0x26,
59 GSC_HWMON_VDD_IO4 = 0x29,
60};
61
62
63
64
65
66int gsc_i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len);
67int gsc_i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len);
68int gsc_info(int verbose);
69int gsc_boot_wd_disable(void);
70#endif
71
72