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