| /* |
| * leds-pca9956b.h - NXP PCA9956B LED segment driver |
| * |
| * Copyright (C) 2017 NXP Semiconductors |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #ifndef PCA9956B_H |
| |
| /* Register address */ |
| enum { |
| PCA9956B_MODE1 = 0x00, /* AIF, SLEEP, SUBn, ALLCALL */ |
| PCA9956B_MODE2, /* OVERTEMP, ERROR, DMBLNK, CLRERR, OCH */ |
| PCA9956B_LEDOUT0, /* LED driver output state */ |
| PCA9956B_LEDOUT1, |
| PCA9956B_LEDOUT2, |
| PCA9956B_LEDOUT3, |
| PCA9956B_LEDOUT4, |
| PCA9956B_LEDOUT5, |
| PCA9956B_GRPPWM, /* DMBLINK set 0, then GRPPWM controls */ |
| /* global brightness */ |
| PCA9956B_GRPFREQ, /* DMBLINK set 1, then GRPFREQ controls */ |
| /* global blinking period */ |
| |
| /* 10 : 0x0A */ |
| PCA9956B_PWM0, /* Brightness control */ |
| PCA9956B_PWM1, |
| PCA9956B_PWM2, |
| PCA9956B_PWM3, |
| PCA9956B_PWM4, |
| PCA9956B_PWM5, |
| PCA9956B_PWM6, |
| PCA9956B_PWM7, |
| PCA9956B_PWM8, |
| PCA9956B_PWM9, |
| |
| /* 20 : 0x14 */ |
| PCA9956B_PWM10, |
| PCA9956B_PWM11, |
| PCA9956B_PWM12, |
| PCA9956B_PWM13, |
| PCA9956B_PWM14, |
| PCA9956B_PWM15, |
| PCA9956B_PWM16, |
| PCA9956B_PWM17, |
| PCA9956B_PWM18, |
| PCA9956B_PWM19, |
| |
| /* 30 : 0x1E */ |
| PCA9956B_PWM20, |
| PCA9956B_PWM21, |
| PCA9956B_PWM22, |
| PCA9956B_PWM23, |
| PCA9956B_IREF0, /* Output current control */ |
| PCA9956B_IREF1, |
| PCA9956B_IREF2, |
| PCA9956B_IREF3, |
| PCA9956B_IREF4, |
| PCA9956B_IREF5, |
| |
| /* 40 : 0x28 */ |
| PCA9956B_IREF6, |
| PCA9956B_IREF7, |
| PCA9956B_IREF8, |
| PCA9956B_IREF9, |
| PCA9956B_IREF10, |
| PCA9956B_IREF11, |
| PCA9956B_IREF12, |
| PCA9956B_IREF13, |
| PCA9956B_IREF14, |
| PCA9956B_IREF15, |
| |
| /* 50 : 0x32 */ |
| PCA9956B_IREF16, |
| PCA9956B_IREF17, |
| PCA9956B_IREF18, |
| PCA9956B_IREF19, |
| PCA9956B_IREF20, |
| PCA9956B_IREF21, |
| PCA9956B_IREF22, |
| PCA9956B_IREF23, |
| PCA9956B_OFFSET, /* led turn-on delay */ |
| PCA9956B_SUBADR1, /* I2C bus subaddress */ |
| |
| /* 60 : 0x3C */ |
| PCA9956B_SUBADR2, |
| PCA9956B_SUBADR3, |
| PCA9956B_ALLCALLADR, /* Allows all the PCA9956Bs on the bus to be */ |
| /* programmed at the same time */ |
| PCA9956B_PWMALL, /* brightness control for all LEDn outputs */ |
| PCA9956B_IREFALL, /* output current value for all LED outputs */ |
| PCA9956B_EFLAG0, /* LED error detection */ |
| PCA9956B_EFLAG1, |
| PCA9956B_EFLAG2, |
| PCA9956B_EFLAG3, |
| PCA9956B_EFLAG4, |
| |
| /* 70 : 0x46 */ |
| PCA9956B_EFLAG5, |
| }; |
| |
| #endif /* PCA9956B_H */ |