blob: af50a134e5f7bbc1bd6166e8b4b653518b61972c [file] [log] [blame]
/*
* 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 */