You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.6 KiB
111 lines
2.6 KiB
/*
|
|
* 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 */
|
|
|