blob: 8ff3f2f3a9b4269f4ced89db7f440bf93f91a2c8 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Michael Wallef214a202012-06-05 11:33:17 +00002/*
3 * Copyright (c) 2012 Michael Walle
4 * Michael Walle <michael@walle.cc>
Michael Wallef214a202012-06-05 11:33:17 +00005 */
6
7#ifndef __LSXL_H
8#define __LSXL_H
9
10#define GPIO_HDD_POWER 10
11#define GPIO_USB_VBUS 11
12#define GPIO_FAN_HIGH 18
13#define GPIO_FAN_LOW 19
14#define GPIO_FUNC_LED 36
15#define GPIO_ALARM_LED 37
16#define GPIO_INFO_LED 38
17#define GPIO_POWER_LED 39
18#define GPIO_FAN_LOCK 40
19#define GPIO_FUNC_BUTTON 41
20#define GPIO_POWER_SWITCH 42
21#define GPIO_POWER_AUTO_SWITCH 43
22#define GPIO_FUNC_RED_LED 48
23
24#define _BIT(x) (1<<(x))
25
26#define LSXL_OE_LOW (~(_BIT(GPIO_HDD_POWER) \
27 | _BIT(GPIO_USB_VBUS) \
28 | _BIT(GPIO_FAN_HIGH) \
29 | _BIT(GPIO_FAN_LOW)))
30
31#define LSXL_OE_HIGH (~(_BIT(GPIO_FUNC_LED - 32) \
32 | _BIT(GPIO_ALARM_LED - 32) \
33 | _BIT(GPIO_INFO_LED - 32) \
34 | _BIT(GPIO_POWER_LED - 32) \
35 | _BIT(GPIO_FUNC_RED_LED - 32)))
36
37#define LSXL_OE_VAL_LOW (_BIT(GPIO_HDD_POWER) \
38 | _BIT(GPIO_USB_VBUS))
39
40#define LSXL_OE_VAL_HIGH (_BIT(GPIO_FUNC_LED - 32) \
41 | _BIT(GPIO_ALARM_LED - 32) \
42 | _BIT(GPIO_INFO_LED - 32) \
43 | _BIT(GPIO_POWER_LED - 32) \
44 | _BIT(GPIO_FUNC_RED_LED - 32))
45
46#define LSXL_POL_VAL_LOW (_BIT(GPIO_FAN_HIGH) \
47 | _BIT(GPIO_FAN_LOW))
48
49#define LSXL_POL_VAL_HIGH (_BIT(GPIO_FUNC_LED - 32) \
50 | _BIT(GPIO_ALARM_LED - 32) \
51 | _BIT(GPIO_INFO_LED - 32) \
52 | _BIT(GPIO_POWER_LED - 32) \
53 | _BIT(GPIO_FUNC_BUTTON - 32) \
54 | _BIT(GPIO_POWER_SWITCH - 32) \
55 | _BIT(GPIO_POWER_AUTO_SWITCH - 32) \
56 | _BIT(GPIO_FUNC_RED_LED - 32))
57
58#endif /* __LSXL_H */