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