1/*	$NetBSD: hpcbatterytable.h,v 1.3.24.4 2005/03/04 16:41:15 skrll 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 */
33struct 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 */
75struct 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 */
117struct 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 */
159struct 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
202struct 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