1/* apc - Driver definitions for power management functions
2 * of Aurora Personality Chip (APC) on SPARCstation-4/5 and
3 * derivatives
4 *
5 * Copyright (c) 2001 Eric Brower (ebrower@usa.net)
6 *
7 */
8
9#ifndef _SPARC_APC_H
10#define _SPARC_APC_H
11
12#include <linux/ioctl.h>
13
14#define APC_IOC	'A'
15
16#define APCIOCGFANCTL _IOR(APC_IOC, 0x00, int)	/* Get fan speed	*/
17#define APCIOCSFANCTL _IOW(APC_IOC, 0x01, int)	/* Set fan speed	*/
18
19#define APCIOCGCPWR   _IOR(APC_IOC, 0x02, int)	/* Get CPOWER state	*/
20#define APCIOCSCPWR   _IOW(APC_IOC, 0x03, int)	/* Set CPOWER state	*/
21
22#define APCIOCGBPORT   _IOR(APC_IOC, 0x04, int)	/* Get BPORT state 	*/
23#define APCIOCSBPORT   _IOW(APC_IOC, 0x05, int)	/* Set BPORT state	*/
24
25/*
26 * Register offsets
27 */
28#define APC_IDLE_REG	0x00
29#define APC_FANCTL_REG	0x20
30#define APC_CPOWER_REG	0x24
31#define APC_BPORT_REG	0x30
32
33#define APC_REGMASK		0x01
34#define APC_BPMASK		0x03
35
36/*
37 * IDLE - CPU standby values (set to initiate standby)
38 */
39#define APC_IDLE_ON		0x01
40
41/*
42 * FANCTL - Fan speed control state values
43 */
44#define APC_FANCTL_HI	0x00	/* Fan speed high	*/
45#define APC_FANCTL_LO	0x01	/* Fan speed low	*/
46
47/*
48 * CPWR - Convenience power outlet state values
49 */
50#define APC_CPOWER_ON	0x00	/* Conv power on	*/
51#define APC_CPOWER_OFF	0x01	/* Conv power off	*/
52
53/*
54 * BPA/BPB - Read-Write "Bit Ports" state values (reset to 0 at power-on)
55 *
56 * WARNING: Internal usage of bit ports is platform dependent--
57 * don't modify BPORT settings unless you know what you are doing.
58 *
59 * On SS5 BPA seems to toggle onboard ethernet loopback... -E
60 */
61#define APC_BPORT_A		0x01	/* Bit Port A		*/
62#define APC_BPORT_B		0x02	/* Bit Port B		*/
63
64#endif /* !(_SPARC_APC_H) */
65