xref: /linux/arch/sparc/include/uapi/asm/apc.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
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