1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * leds-lp3944.h - platform data structure for lp3944 led controller 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2009 Antonio Ospite <ospite@studenti.unina.it> 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef __LINUX_LEDS_LP3944_H 9*4882a593Smuzhiyun #define __LINUX_LEDS_LP3944_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #define LP3944_LED0 0 12*4882a593Smuzhiyun #define LP3944_LED1 1 13*4882a593Smuzhiyun #define LP3944_LED2 2 14*4882a593Smuzhiyun #define LP3944_LED3 3 15*4882a593Smuzhiyun #define LP3944_LED4 4 16*4882a593Smuzhiyun #define LP3944_LED5 5 17*4882a593Smuzhiyun #define LP3944_LED6 6 18*4882a593Smuzhiyun #define LP3944_LED7 7 19*4882a593Smuzhiyun #define LP3944_LEDS_MAX 8 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun #define LP3944_LED_STATUS_MASK 0x03 22*4882a593Smuzhiyun enum lp3944_status { 23*4882a593Smuzhiyun LP3944_LED_STATUS_OFF = 0x0, 24*4882a593Smuzhiyun LP3944_LED_STATUS_ON = 0x1, 25*4882a593Smuzhiyun LP3944_LED_STATUS_DIM0 = 0x2, 26*4882a593Smuzhiyun LP3944_LED_STATUS_DIM1 = 0x3 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun enum lp3944_type { 30*4882a593Smuzhiyun LP3944_LED_TYPE_NONE, 31*4882a593Smuzhiyun LP3944_LED_TYPE_LED, 32*4882a593Smuzhiyun LP3944_LED_TYPE_LED_INVERTED, 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun struct lp3944_led { 36*4882a593Smuzhiyun char *name; 37*4882a593Smuzhiyun enum lp3944_type type; 38*4882a593Smuzhiyun enum lp3944_status status; 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun struct lp3944_platform_data { 42*4882a593Smuzhiyun struct lp3944_led leds[LP3944_LEDS_MAX]; 43*4882a593Smuzhiyun u8 leds_size; 44*4882a593Smuzhiyun }; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #endif /* __LINUX_LEDS_LP3944_H */ 47