#include <linux/firmware.h>
#include <linux/module.h>
#include <linux/platform_data/leds-lp55xx.h>
#include "leds-lp55xx-common.h"
#define LP5521_PROGRAM_LENGTH 32
#define LP5521_MAX_LEDS 3
#define LP5521_CMD_DIRECT 0x3F
#define LP5521_REG_ENABLE 0x00
#define LP5521_REG_OP_MODE 0x01
#define LP5521_REG_R_PWM 0x02
#define LP5521_REG_G_PWM 0x03
#define LP5521_REG_B_PWM 0x04
#define LP5521_REG_R_CURRENT 0x05
#define LP5521_REG_G_CURRENT 0x06
#define LP5521_REG_B_CURRENT 0x07
#define LP5521_REG_CONFIG 0x08
#define LP5521_REG_STATUS 0x0C
#define LP5521_REG_RESET 0x0D
#define LP5521_REG_R_PROG_MEM 0x10
#define LP5521_REG_G_PROG_MEM 0x30
#define LP5521_REG_B_PROG_MEM 0x50
#define LP5521_REG_LED_CURRENT_BASE LP5521_REG_R_CURRENT
#define LP5521_REG_LED_PWM_BASE LP5521_REG_R_PWM
#define LP5521_MASTER_ENABLE 0x40
#define LP5521_LOGARITHMIC_PWM 0x80
#define LP5521_EXEC_RUN 0x2A
#define LP5521_ENABLE_DEFAULT \
(LP5521_MASTER_ENABLE | LP5521_LOGARITHMIC_PWM)
#define LP5521_ENABLE_RUN_PROGRAM \
(LP5521_ENABLE_DEFAULT | LP5521_EXEC_RUN)
#define LP5521_PWM_HF 0x40
#define LP5521_PWRSAVE_EN 0x20
#define LP5521_CP_MODE_OFF 0
#define LP5521_CP_MODE_BYPASS 8
#define LP5521_CP_MODE_1X5 0x10
#define LP5521_CP_MODE_AUTO 0x18
#define LP5521_R_TO_BATT 0x04
#define LP5521_CLK_INT 0x01
#define LP5521_DEFAULT_CFG \
(LP5521_PWM_HF | LP5521_PWRSAVE_EN | LP5521_CP_MODE_AUTO)
#define LP5521_EXT_CLK_USED 0x08
#define LP5521_REG_R_CURR_DEFAULT 0xAF
#define LP5521_RESET 0xFF