Loading...
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) */
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) */