diff options
Diffstat (limited to 'driver/led/tlc59116f.h')
-rw-r--r-- | driver/led/tlc59116f.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/driver/led/tlc59116f.h b/driver/led/tlc59116f.h new file mode 100644 index 0000000000..68ce218517 --- /dev/null +++ b/driver/led/tlc59116f.h @@ -0,0 +1,74 @@ +/* Copyright 2022 The ChromiumOS Authors. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef __CROS_EC_DRIVER_LED_TLC59116F_H +#define __CROS_EC_DRIVER_LED_TLC59116F_H + +/* TLC59116F secondary address */ +#define TLC59116F_ADDR0_FLAG 0x60 +#define TLC59116F_ADDR1_FLAG 0x61 +#define TLC59116F_ADDR2_FLAG 0x62 +#define TLC59116F_ADDR3_FLAG 0x63 +#define TLC59116F_ADDR4_FLAG 0x64 +#define TLC59116F_ADDR5_FLAG 0x65 +#define TLC59116F_ADDR6_FLAG 0x66 +#define TLC59116F_ADDR7_FLAG 0x67 +#define TLC59116F_ADDR8_FLAG 0x68 +#define TLC59116F_ADDR9_FLAG 0x69 +#define TLC59116F_ADDR10_FLAG 0x6A +#define TLC59116F_RESET 0x6B +#define TLC59116F_ADDR12_FLAG 0x6C +#define TLC59116F_ADDR13_FLAG 0x6D +#define TLC59116F_ADDR14_FLAG 0x6E +#define TLC59116F_ADDR15_FLAG 0x6F + +#define TLC59116F_ROW_SIZE 1 +#define TLC59116F_COL_SIZE 5 +#define TLC59116F_GRID_SIZE (TLC59116F_COL_SIZE * TLC59116F_ROW_SIZE) + +/* TLC59116F registers */ +#define TLC59116F_MODE1 0x00 +#define TLC59116F_MODE2 0x01 +#define TLC59116F_PWM0 0x02 +#define TLC59116F_PWM1 0x03 +#define TLC59116F_PWM2 0x04 +#define TLC59116F_PWM3 0x05 +#define TLC59116F_PWM4 0x06 +#define TLC59116F_PWM5 0x07 +#define TLC59116F_PWM6 0x08 +#define TLC59116F_PWM7 0x09 +#define TLC59116F_PWM8 0x0A +#define TLC59116F_PWM9 0x0B +#define TLC59116F_PWM10 0x0C +#define TLC59116F_PWM11 0x0D +#define TLC59116F_PWM12 0x0E +#define TLC59116F_PWM13 0x0F +#define TLC59116F_PWM14 0x10 +#define TLC59116F_PWM15 0x11 +#define TLC59116F_GRPPWM 0x12 +#define TLC59116F_GRPFREQ 0x13 +#define TLC59116F_LEDOUT0 0x14 +#define TLC59116F_LEDOUT1 0x15 +#define TLC59116F_LEDOUT2 0x16 +#define TLC59116F_LEDOUT3 0x17 +#define TLC59116F_SUBADR1 0x18 +#define TLC59116F_SUBADR2 0x19 +#define TLC59116F_SUBADR3 0x1A +#define TLC59116F_ALLCALLADR 0x1B + +#define TLC59116_LEDOUT_OFF 0x00 +#define TLC59116_LEDOUT_ON 0x55 +#define TLC59116_LEDOUT_PWM 0xAA +#define TLC59116_LEDOUT_GROUP 0xFF + +/* Auto Increment flag */ +#define TLC59116_AI_NONE 0 +#define TLC59116_AI_ALL BIT(7) +#define TLC59116_AI_BRIGHTNESS_ONLY (BIT(7) | BIT(5)) +#define TLC59116_AI_GCR_ONLY (BIT(7) | BIT(6)) + +extern const struct rgbkbd_drv tlc59116f_drv; + +#endif /* __CROS_EC_DRIVER_LED_TLC59116F_H */ |