Server IP : 172.67.216.182 / Your IP : 172.68.242.119 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/src/linux-headers-5.15.0-142/include/linux/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0-only */ /* * LED driver for TI lp3952 controller * * Copyright (C) 2016, DAQRI, LLC. * Author: Tony Makkiel <[email protected]> */ #ifndef LEDS_LP3952_H_ #define LEDS_LP3952_H_ #define LP3952_NAME "lp3952" #define LP3952_CMD_REG_COUNT 8 #define LP3952_BRIGHT_MAX 4 #define LP3952_LABEL_MAX_LEN 15 #define LP3952_REG_LED_CTRL 0x00 #define LP3952_REG_R1_BLNK_TIME_CTRL 0x01 #define LP3952_REG_R1_BLNK_CYCLE_CTRL 0x02 #define LP3952_REG_G1_BLNK_TIME_CTRL 0x03 #define LP3952_REG_G1_BLNK_CYCLE_CTRL 0x04 #define LP3952_REG_B1_BLNK_TIME_CTRL 0x05 #define LP3952_REG_B1_BLNK_CYCLE_CTRL 0x06 #define LP3952_REG_ENABLES 0x0B #define LP3952_REG_PAT_GEN_CTRL 0x11 #define LP3952_REG_RGB1_MAX_I_CTRL 0x12 #define LP3952_REG_RGB2_MAX_I_CTRL 0x13 #define LP3952_REG_CMD_0 0x50 #define LP3952_REG_RESET 0x60 #define REG_MAX LP3952_REG_RESET #define LP3952_PATRN_LOOP BIT(1) #define LP3952_PATRN_GEN_EN BIT(2) #define LP3952_INT_B00ST_LDR BIT(2) #define LP3952_ACTIVE_MODE BIT(6) #define LP3952_LED_MASK_ALL 0x3f /* Transition Time in ms */ enum lp3952_tt { TT0, TT55, TT110, TT221, TT422, TT885, TT1770, TT3539 }; /* Command Execution Time in ms */ enum lp3952_cet { CET197, CET393, CET590, CET786, CET1180, CET1376, CET1573, CET1769, CET1966, CET2163, CET2359, CET2556, CET2763, CET2949, CET3146 }; /* Max Current in % */ enum lp3952_colour_I_log_0 { I0, I7, I14, I21, I32, I46, I71, I100 }; enum lp3952_leds { LP3952_BLUE_2, LP3952_GREEN_2, LP3952_RED_2, LP3952_BLUE_1, LP3952_GREEN_1, LP3952_RED_1, LP3952_LED_ALL }; struct lp3952_ctrl_hdl { struct led_classdev cdev; char name[LP3952_LABEL_MAX_LEN]; enum lp3952_leds channel; void *priv; }; struct ptrn_gen_cmd { union { struct { u16 tt:3; u16 b:3; u16 cet:4; u16 g:3; u16 r:3; }; struct { u8 lsb; u8 msb; } bytes; }; } __packed; struct lp3952_led_array { struct regmap *regmap; struct i2c_client *client; struct gpio_desc *enable_gpio; struct lp3952_ctrl_hdl leds[LP3952_LED_ALL]; }; #endif /* LEDS_LP3952_H_ */