1 /*        $NetBSD: hpcbatterytable.h,v 1.6 2005/12/11 12:21:22 christos Exp $   */
2 
3 /*
4  * Copyright (c) 2000-2001 SATO Kazumi
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  *
28  */
29 #ifdef hpcmips
30 /*
31  * NEC MCR/430, MCR/530 parameters
32  */
33 struct hpcbattery_spec hpcbattery_mcr530_spec =
34 {
35           0,        /* guess_charge */
36           0,        /* guess_ac_dc */
37           0,        /* main_port */
38           10,       /* drift */
39           20,       /* ac_bias */
40           840,      /* dc_100p (100) */
41           810,      /* dc_80p (80) */
42           780,      /* dc_50p (50) */
43           720,      /* dc_20p (20) */
44           630,      /* dc_critical (0) */
45           875,      /* ac_charge_100p */
46           860,      /* ac_100p */
47           830,      /* ac_80p */
48           800,      /* ac_50p */
49           740,      /* ac_20p */
50           640,      /* ac_critical */
51           1,        /* main_flag */
52 
53           1,        /* backup_port */
54           900,      /* b_full */
55           720,      /* b_low */
56           640,      /* b_critical */
57           1,        /* b_flag */
58 
59           -1,       /* nocharge_port */
60           -1,       /* n_low */
61           0,        /* n_flag */
62 
63           -1,       /* dc_ac_port */
64           -1,       /* da_low */
65           0,        /* da_flag */
66 
67           -1,       /* c_ac_port */
68           -1,       /* c_low */
69           0         /* c_flag */
70 };
71 
72 /*
73  * DoCoMo sigmarion parameter
74  */
75 struct hpcbattery_spec hpcbattery_sigmarion_spec =
76 {
77           0,        /* guess_charge */
78           0,        /* guess_ac_dc */
79           0,        /* main_port */
80           10,       /* drift */
81           20,       /* ac_bias */
82           840,      /* dc_100p */
83           810,      /* dc_80p */
84           780,      /* dc_50p */
85           720,      /* dc_20p */
86           630,      /* dc_critical */
87           875,      /* ac_charge_100p */
88           860,      /* ac_100p */
89           830,      /* ac_80p */
90           800,      /* ac_50p */
91           740,      /* ac_20p */
92           640,      /* ac_critical */
93           1,        /* main_flag */
94 
95           1,        /* backup_port */
96           900,      /* b_full */
97           880,      /* b_low */
98           860,      /* b_critical */
99           1,        /* b_flag */
100 
101           -1,       /* nocharge_port */
102           -1,       /* n_low */
103           0,        /* n_flag */
104 
105           -1,       /* dc_ac_port */
106           -1,       /* da_low */
107           0,        /* da_flag */
108 
109           -1,       /* c_ac_port */
110           -1,       /* c_low */
111           0         /* c_flag */
112 };
113 
114 /*
115  * IBM WorkPad z50
116  */
117 struct hpcbattery_spec hpcbattery_z50_spec =
118 {
119           0,        /* guess_charge */
120           0,        /* guess_ac_dc */
121           0,        /* main_port */
122           10,       /* drift */
123           20,       /* ac_bias */
124           945,      /* dc_100p */
125           915,      /* dc_80p */
126           880,      /* dc_50p */
127           855,      /* dc_20p */
128           820,      /* dc_critical */
129           -1,       /* ac_charge_100p */
130           -1,       /* ac_100p */
131           -1,       /* ac_80p */
132           -1,       /* ac_50p */
133           969,      /* ac_20p */
134           -1,       /* ac_critical */
135           1,        /* main_flag */
136 
137           1,        /* backup_port */
138           970,      /* b_full */
139           900,      /* b_low */
140           800,      /* b_critical */
141           1,        /* b_flag */
142 
143           2,        /* nocharge_port */
144           800,      /* n_low */
145           1,        /* n_flag */
146 
147           -1,       /* dc_ac_port */
148           -1,       /* da_low */
149           0,        /* da_flag */
150 
151           -1,       /* c_ac_port */
152           -1,       /* c_low */
153           0         /* c_flag */
154 };
155 
156 /*
157  * NEC MC-R700/730 parameters
158  */
159 struct hpcbattery_spec hpcbattery_mcr700_spec =
160 {
161           0,        /* guess_charge */
162           0,        /* guess_ac_dc */
163           0,        /* main_port */
164           10,       /* drift */
165           20,       /* ac_bias */
166           840,      /* dc_100p (100) */
167           820,      /* dc_80p (80) */
168           790,      /* dc_50p (50) */
169           770,      /* dc_20p (20) */
170           760,      /* dc_critical (0) */
171           860,      /* ac_charge_100p */
172           850,      /* ac_100p */
173           840,      /* ac_80p */
174           830,      /* ac_50p */
175           810,      /* ac_20p */
176           800,      /* ac_critical */
177           1,        /* main_flag */
178 
179           1,        /* backup_port */
180           900,      /* b_full */
181           720,      /* b_low */
182           640,      /* b_critical */
183           1,        /* b_flag */
184 
185           -1,       /* nocharge_port */
186           -1,       /* n_low */
187           0,        /* n_flag */
188 
189           -1,       /* dc_ac_port */
190           -1,       /* da_low */
191           0,        /* da_flag */
192 
193           -1,       /* c_ac_port */
194           -1,       /* c_low */
195           0         /* c_flag */
196 };
197 
198 #endif /* hpcmips */
199 
200 /* parameter table */
201 
202 struct platid_data hpcbattery_parameters[] = {
203 #ifdef hpcmips
204           { &platid_mask_MACH_NEC_MCR_510, &hpcbattery_mcr530_spec }, /* XXX */
205           { &platid_mask_MACH_NEC_MCR_520, &hpcbattery_mcr530_spec }, /* XXX */
206           { &platid_mask_MACH_NEC_MCR_520A, &hpcbattery_mcr530_spec }, /* XXX */
207           { &platid_mask_MACH_NEC_MCR_530, &hpcbattery_mcr530_spec },
208           { &platid_mask_MACH_NEC_MCR_530A, &hpcbattery_mcr530_spec },
209           { &platid_mask_MACH_NEC_MCR_SIGMARION, &hpcbattery_sigmarion_spec },
210           { &platid_mask_MACH_IBM_WORKPAD_Z50, &hpcbattery_z50_spec },
211           { &platid_mask_MACH_NEC_MCR_700, &hpcbattery_mcr700_spec },
212           { &platid_mask_MACH_NEC_MCR_700A, &hpcbattery_mcr700_spec }, /* XXX */
213           { &platid_mask_MACH_NEC_MCR_730, &hpcbattery_mcr700_spec }, /* XXX */
214           { &platid_mask_MACH_NEC_MCR_730A, &hpcbattery_mcr700_spec }, /* XXX */
215 #endif /* hpcmips */
216           { NULL, NULL }      /* terminator, don't delete */
217 };
218 /* end */
219