xref: /netbsd/sys/dev/hpc/hpcbatterytable.h (revision 6550d01e)
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