/*	$NetBSD: ipaq_atmel.h,v 1.3 2008/04/28 20:23:21 martin Exp $	*/

/*-
 * Copyright (c) 2001 The NetBSD Foundation, Inc.  All rights reserved.
 *
 * This code is derived from software contributed to The NetBSD Foundation
 * by Ichiro FUKUHARA (ichiro@ichiro.org).
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

/*
 * Atmel microcontroller (Proxy Controller for StrongARM)
 */

/* Frame character */
#define FRAME_SOF		0x02	/* Start of Frame character */
#define FRAME_EOF		0x04	/* End of Frame character */
#define FRAME_OVERHEAD_SIZE	3	/* FRAME_SOF + (ID+len) + checksum */

/* ID */
#define ID_VERSION		0x00	/* Get version ID */
#define EVENT_BUTTON		0x02	/* Get event of BUTTON */
#define EVENT_TS		0x03	/* Get event of Touch Screen */
#define READ_EEPROM		0x04	/* Read EEPROM */
#define WRITE_EEPROM		0x05	/* Write EEPROM */
#define SW_LED			0x08	/* Switch of LED */
#define STATUS_BATTERY		0x09	/* Get status of battery */
#define READ_IIC		0x0b	/* Read data via IIC protocol */
#define WRITE_IIC		0x0c	/* Write data via IIC protocol */
#define SET_BACKLIGHT		0x0d	/* Backlight Control command */
#define STATUS_EXTP		0xa1	/* Get status of Extension Pack */

#define MAX_SENDSIZE		32	/* maximum data size of sendData() */
#define MAX_RECVSIZE		16	/* maximum data size of recv data */


/*
 * Battery status
 */
#define BATT_STATUS_HIGH		0x00
#define BATT_STATUS_LOW			0x01
#define BATT_STATUS_CRITICAL 		0x02
#define BATT_STATUS_CHARGING		0x04
#define BATT_STATUS_CHARGING_MAIN	0x10
#define BATT_STATUS_NOBATT		0x80
#define BATT_STATUS_UNKNOWN		0xff

/*
 * AC status   
 */
#define AC_STATUS_OFFLINE		0x00
#define AC_STATUS_ONLINE		0x01
#define AC_STATUS_BACKUP		0x02
#define AC_STATUS_UNKNOWN		0xff

/*
 * kind of battery
 */
#define BATT_ALKALINE			0x01
#define BATT_NICD			0x02
#define BATT_NIMH			0x03
#define BATT_LION			0x04
#define BATT_LIPOLY			0x05
#define BATT_UNKNOWN			0xff
