Add sensors set for MacBook2, from register dump on a mid-2007 MacBook2.
--
Signed-off-by: Riki Oktarianto <[email protected]>
--- linux-2.6.24-rc3.orig/drivers/hwmon/applesmc.c
+++ linux-2.6.24-rc3/drivers/hwmon/applesmc.c
@@ -84,12 +84,15 @@ static const char* temperature_sensors_s
/* Set 0: Macbook Pro */
{ "TA0P", "TB0T", "TC0D", "TC0P", "TG0H", "TG0P", "TG0T", "Th0H",
"Th1H", "Tm0P", "Ts0P", "Ts1P", NULL },
-/* Set 1: Macbook set */
+/* Set 1: Macbook2 set */
+ { "TB0T", "TC0D", "TC0P", "TM0P", "TN0P", "TN1P", "TTF0", "Th0H",
+ "Th0S", "Th1H", NULL },
+/* Set 2: Macbook set */
{ "TB0T", "TC0D", "TC0P", "TM0P", "TN0P", "TN1P", "Th0H", "Th0S",
"Th1H", "Ts0P", NULL },
-/* Set 2: Macmini set */
+/* Set 3: Macmini set */
{ "TC0D", "TC0P", NULL },
-/* Set 3: Mac Pro (2 x Quad-Core) */
+/* Set 4: Mac Pro (2 x Quad-Core) */
{ "TA0P", "TCAG", "TCAH", "TCBG", "TCBH", "TC0C", "TC0D", "TC0P",
"TC1C", "TC1D", "TC2C", "TC2D", "TC3C", "TC3D", "THTG", "TH0P",
"TH1P", "TH2P", "TH3P", "TMAP", "TMAS", "TMBS", "TM0P", "TM0S",
@@ -1212,12 +1215,14 @@ static void applesmc_release_acceleromet
static __initdata struct dmi_match_data applesmc_dmi_data[] = {
/* MacBook Pro: accelerometer, backlight and temperature set 0 */
{ .accelerometer = 1, .light = 1, .temperature_set = 0 },
-/* MacBook: accelerometer and temperature set 1 */
+/* MacBook2: accelerometer and temperature set 1 */
{ .accelerometer = 1, .light = 0, .temperature_set = 1 },
-/* MacMini: temperature set 2 */
- { .accelerometer = 0, .light = 0, .temperature_set = 2 },
-/* MacPro: temperature set 3 */
+/* MacBook: accelerometer and temperature set 2 */
+ { .accelerometer = 1, .light = 0, .temperature_set = 2 },
+/* MacMini: temperature set 3 */
{ .accelerometer = 0, .light = 0, .temperature_set = 3 },
+/* MacPro: temperature set 4 */
+ { .accelerometer = 0, .light = 0, .temperature_set = 4 },
};
/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
@@ -1229,16 +1234,20 @@ static __initdata struct dmi_system_id a
(void*)&applesmc_dmi_data[0]},
{ applesmc_dmi_match, "Apple MacBook", {
DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
- DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") },
+ DMI_MATCH(DMI_PRODUCT_NAME,"MacBook2") },
(void*)&applesmc_dmi_data[1]},
+ { applesmc_dmi_match, "Apple MacBook", {
+ DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
+ DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") },
+ (void*)&applesmc_dmi_data[2]},
{ applesmc_dmi_match, "Apple Macmini", {
DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
DMI_MATCH(DMI_PRODUCT_NAME,"Macmini") },
- (void*)&applesmc_dmi_data[2]},
+ (void*)&applesmc_dmi_data[3]},
{ applesmc_dmi_match, "Apple MacPro2", {
DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") },
- (void*)&applesmc_dmi_data[3]},
+ (void*)&applesmc_dmi_data[4]},
{ .ident = NULL }
};
On Thu, Nov 29, 2007 at 12:17:59AM +0700, Riki Oktarianto wrote:
> Add sensors set for MacBook2, from register dump on a mid-2007 MacBook2.
>
> --
>
> Signed-off-by: Riki Oktarianto <[email protected]>
>
> --- linux-2.6.24-rc3.orig/drivers/hwmon/applesmc.c
> +++ linux-2.6.24-rc3/drivers/hwmon/applesmc.c
This is the register dump:
0: #KEY 4 ui32 00 00 00 e2
1: +LKS 1 flag 07
2: ACID 8 ch8* ba be 3c 45 c0 03 10 43
3: ALSC 16 {alc 01 92 00 96 01 4a 00 02 00 01 00 64 2e fd 00 00
4: AUPO 1 ui8 00
5: B0AC 2 si16 00 00
6: B0AP 1 flag 00
7: B0AV 2 ui16 00 00
8: B0Al 2 ui16 ff ff
9: B0Am 1 ui8 00
10: B0BI 1 ui8 00
11: B0FC 2 ui16 00 00
12: B0LI 2 ui16 0e 10
13: B0RI 2 ui16 00 00
14: B0RM 2 ui16 00 00
15: B0St 2 ui16 00 00
16: BATP 1 flag 00
hexdump: key_at_index_data: Input/output error
17: BISE 1 ui8
18: BNum 1 ui8 01
19: BRSC 2 ui16 00 00
20: BSDC 1 ui8 00
21: BSIn 1 ui8 42
22: CLK! 1 ui8 00
23: CLKC 10 {clc 00 00 0e 10 00 00 0e 10 19 8c
24: CLKH 8 {clh 00 00 00 00 00 00 00 00
25: CLKS 2 fp1f 80 00
26: CLKT 4 ui32 00 00 36 e8
27: CRCB 4 ui32 c5 12 fc 40
hexdump: key_at_index_data: Input/output error
28: CRCU 4 ui32
cat: key_at_index_name: Invalid argument
cat: key_at_index_data_length: Invalid argument
cat: key_at_index_type: Invalid argument
hexdump: key_at_index_data: Invalid argument
29: 0
cat: key_at_index_name: Invalid argument
cat: key_at_index_data_length: Invalid argument
30: 0 ui32 01 b0 17 00
31: EPCV 2 ui16 00 01
32: EPMA 4 ch8* 00 00 e0 80
33: EPMI 1 ui8 00
34: EPUF 1 flag 01
35: EPUI 4 ui32 01 b0 00 04
36: EPUV 2 ui16 00 01
37: EVCT 2 ui16 00 00
hexdump: key_at_index_data: Input/output error
38: EVMD 4 ui32
39: EVRD 32 ch8* f6 06 03 00 00 00 00 19 1e 05 38 00 01 00 00 19 73 00 00 00 01 00 00 19 00 00 00 00 00 00 00 00
40: F0Ac 2 fpe2 1c 2e
41: F0ID 16 {fds 00 00 0a 00 45 78 68 61 75 73 74 20 20 00 00 00
42: F0Mn 2 fpe2 1c 20
43: F0Mt 2 ui16 00 00
44: F0Mx 2 fpe2 60 e0
45: F0Sf 2 fpe2 12 c0
46: F0Tg 2 fpe2 1c 20
47: FNum 1 ui8 01
hexdump: key_at_index_data: Input/output error
48: FPhz 2 i16
49: FS! 2 ui16 00 00
50: HDBS 1 ui8 01
51: HDST 4 ui16 00 00 00 00
52: HDSW 4 ui32 00 00 00 00
53: HIBW 1 flag 00
54: IC0C 2 fp6a 14 37
55: IC0c 2 ui16 24 40
56: ID0R 2 fp3d 1e 9d
57: ID0r 2 ui16 22 80
58: IN0R 2 fp6a 00 a8
59: IN0r 2 ui16 08 00
60: IN1R 2 fp6a 03 b0
61: IN1r 2 ui16 10 00
62: IP0R 2 fp4c 00 93
63: IP0r 2 ui16 00 80
hexdump: key_at_index_data: Input/output error
64: LAcN 1 ui8
hexdump: key_at_index_data: Input/output error
65: LAtN 2 ui16
66: LCCN 1 ui8 07
67: LCCQ 1 ui8 07
68: LCKA 1 ui8 98
69: LCSA 1 ui8 00
70: LCTN 1 ui8 01
71: LCTQ 1 ui8 02
hexdump: key_at_index_data: Input/output error
72: LDSB 2 fp1f
hexdump: key_at_index_data: Input/output error
73: LDSP 1 flag
74: LS! 1 ui8 00
75: LSCF 10 {lsc 0b b8 02 3a 80 00 01 02 00 01
76: LSDD 8 {lsd 00 02 00 03 00 03 00 19
77: LSDU 8 {lsd 00 03 00 02 00 14 00 03
78: LSFD 6 {lsf 2e e0 00 04 00 17
79: LSFU 6 {lsf ff ff 01 90 03 20
80: LSLB 2 {pwm ff ff
81: LSLF 2 {pwm 00 00
82: LSLN 2 {pwm ff ff
83: LSOF 1 flag 01
hexdump: key_at_index_data: Input/output error
84: LSOO 1 flag
85: LSPV 2 {pwm 00 00
hexdump: key_at_index_data: Input/output error
86: LSRB 1 flag
hexdump: key_at_index_data: Input/output error
87: LSSB 2 {lso
88: LSSE 1 flag 01
hexdump: key_at_index_data: Input/output error
89: LSSS 2 {lso
90: LSSV 2 ui16 ff ff
hexdump: key_at_index_data: Input/output error
91: LSUP 1 ui8
92: MACA 4 ui32 00 00 00 00
93: MACM 1 flag 01
94: MACR 32 ch8* 63 68 38 2a 90 00 00 19 1e 05 38 00 01 00 00 19 73 00 00 00 01 00 00 19 00 00 00 00 00 00 00 00
95: MOCF 2 ui16 86 00
96: MOCN 2 ui16 e0 f8
97: MOHD 1 ui8 14
98: MOHT 2 sp78 01 c0
99: MOLD 1 ui8 14
100: MOLT 2 sp78 00 60
101: MOST 2 ui16 80 03
102: MO_X 2 sp78 ff f7
103: MO_Y 2 sp78 ff ef
104: MO_Z 2 sp78 01 04
hexdump: key_at_index_data: Input/output error
105: MSAL 1 si8
106: MSAc 2 fp88 00 00
107: MSAg 2 fp88 00 00
108: MSAm 2 fp88 00 00
109: MSBC 2 ui16 00 00
110: MSBP 2 ui16 00 00
111: MSBc 2 ui16 00 00
112: MSBp 2 ui16 00 00
113: MSC0 2 ui16 3a 11
114: MSC1 2 ui16 00 69
115: MSC2 2 ui16 00 69
116: MSC3 2 ui16 00 69
117: MSCP 2 ui16 00 08
118: MSCR 1 ui18 01
hexdump: key_at_index_data: Input/output error
119: MSCS 1 ui8
120: MSCT 1 ui8 04
121: MSCa 2 ui16 04 00
122: MSCb 2 ui16 04 00
123: MSCc 2 ui16 04 00
124: MSCd 2 ui16 04 00
125: MSCl 2 ui16 00 08
126: MSCm 2 ui16 00 08
127: MSCn 2 ui16 00 08
128: MSCo 2 ui16 00 08
hexdump: key_at_index_data: Input/output error
129: MSDW 1 flag
130: MSLD 1 ui8 00
131: MSPA 1 fp88 00
132: MSPS 1 {msp 00
133: MSSD 1 si8 00
134: MSSP 1 si8 00
135: MSSS 1 {mss 00
136: MSTM 1 ui8 01
137: MSTc 1 ui8 00
138: MSTg 1 ui8 00
139: MSTm 1 ui8 00
hexdump: key_at_index_data: Input/output error
140: MSWR 1 ui8
141: NATJ 1 ui8 00
142: NATi 2 ui16 00 00
hexdump: key_at_index_data: Input/output error
143: NTOK 1 ui8
144: ONMI 1 ui8 00
145: PC0C 2 fp88 03 eb
146: PD0R 2 fp88 0f 34
147: PHPC 2 fp88 05 26
148: PN0R 2 fp88 01 3c
149: PP0R 2 fp88 00 73
150: PTHC 2 fp88 1a 55
151: RBr 8 ch8* 6d 34 32 62 00 00 00 00
152: REV 6 {rev 01 17 0f 00 00 00
153: RMde 1 byte 41
154: RPlt 8 ch8* 6d 34 32 62 00 00 00 00
155: RSvn 4 ui32 00 00 33 53
156: RVBF 6 {rev 01 17 0f 00 00 00
157: RVUF 6 {rev 01 17 0f 00 00 00
hexdump: key_at_index_data: Input/output error
158: SAS! 4 ui32
hexdump: key_at_index_data: Input/output error
159: SDRd 2 ui16
hexdump: key_at_index_data: Input/output error
160: SIS! 2 ui16
161: SM0x 2 ui16 7e 00
162: SM0y 2 ui16 83 c0
163: SM0z 2 ui16 4b c0
164: SPHS 1 ui8 01
165: SPHT 1 ui8 03
hexdump: key_at_index_data: Input/output error
166: SPS! 2 ui16
167: TB0T 2 sp78 80 00
168: TC0D 2 sp78 3e 00
169: TC0P 2 sp78 3a 00
170: TM0P 2 sp78 33 80
171: TN0P 2 sp78 37 20
172: TN1P 2 sp78 37 00
173: TTF0 2 sp78 39 40
174: Th0H 2 sp78 39 a0
175: Th0S 2 sp78 39 5b
176: Th1H 2 sp78 39 20
177: VC0C 2 fp2e 35 92
178: VC0c 2 ui16 49 00
179: VP0R 2 fp4c ca 48
180: VP0r 2 ui16 a3 40
181: iC0C 2 ui16 03 00
182: iC0c 2 ui16 01 00
183: iD0R 2 ui16 03 00
184: iD0r 2 ui16 01 00
185: iN0R 2 ui16 03 00
186: iN0r 2 ui16 01 00
187: iN1R 2 ui16 03 00
188: iN1r 2 ui16 01 00
189: iP0R 2 ui16 03 00
190: iP0r 2 ui16 01 00
191: pC0C 2 {sds 03 00
192: pD0R 2 {sds 03 00
193: pN0R 2 {sds 03 00
194: pP0R 2 {sds 03 00
195: tA0P 2 {sds 01 00
196: tB0T 2 {sds 01 00
197: tC0D 2 {sds 01 00
198: tC0P 2 {sds 01 00
199: tM0P 2 {sds 01 00
200: tN0P 2 {sds 01 01
201: tN1P 2 {sds 01 00
202: th0H 2 {sds 01 00
203: th1H 2 {sds 01 01
204: ts0P 2 {sds 01 00
205: vC0C 2 {sds 03 00
206: vC0c 2 {sds 01 00
207: vP0R 2 {sds 03 00
208: vP0r 2 {sds 01 00
hexdump: key_at_index_data: Input/output error
209: zDBG 1 ui8
hexdump: key_at_index_data: Input/output error
210: zSCI 1 ui8
211: {clc 3 00 01 db
212: {clf 3 00 01 df
213: {clh 3 00 01 db
214: {fds 3 00 01 db
215: {lsc 3 00 01 dd
216: {lsd 3 00 01 db
217: {lsf 3 00 01 db
218: {lsm 3 00 01 dd
219: {lso 3 00 01 dd
220: {lss 3 00 01 dd
221: {msp 3 00 01 de
222: {mss 3 00 01 de
223: {pwm 3 00 01 dc
224: {rev 3 00 01 df
225: {sds 3 00 01 dc