Files
OpenCellular/include/lp5562.h
Randall Spangler 22ff9df913 Move battery LED code on spring to common
It's not board-specific, so move it out of board.c.

No functional changes; this is just moving code and renaming a few functions.

BUG=chrome-os-partner:18256
BRANCH=none
TEST=build spring

Change-Id: Ib004066aed93745cb0c96d3cb45d70b728545492
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/45918
2013-03-20 17:42:04 -07:00

66 lines
1.7 KiB
C

/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
* TI LP5562 LED driver.
*/
#ifndef LP5562_H
#define LP5562_H
#define LP5562_REG_ENABLE 0x00
#define LP5562_REG_OP_MODE 0x01
#define LP5562_REG_B_PWM 0x02
#define LP5562_REG_G_PWM 0x03
#define LP5562_REG_R_PWM 0x04
#define LP5562_REG_B_CURRENT 0x05
#define LP5562_REG_G_CURRENT 0x06
#define LP5562_REG_R_CURRENT 0x07
#define LP5562_REG_CONFIG 0x08
#define LP5562_REG_ENG1_PC 0x09
#define LP5562_REG_ENG2_PC 0x0a
#define LP5562_REG_ENG3_PC 0x0b
#define LP5562_REG_STATUS 0x0c
#define LP5562_REG_RESET 0x0d
#define LP5562_REG_W_PWM 0x0e
#define LP5562_REG_W_CURRENT 0x0f
#define LP5562_REG_LED_MAP 0x70
#define LP5562_REG_ENG_PROG(n) (0x10 + ((n)-1) * 0x20)
#define LP5562_COLOR_NONE 0x000000
#define LP5562_COLOR_RED 0x800000
#define LP5562_COLOR_GREEN 0x008000
#define LP5562_COLOR_BLUE 0x000080
#define LP5562_ENG_SEL_NONE 0x0
#define LP5562_ENG_SEL_1 0x1
#define LP5562_ENG_SEL_2 0x2
#define LP5562_ENG_SEL_3 0x3
#define LP5562_ENG_HOLD 0x0
#define LP5562_ENG_RUN 0x2
/* Power on and initialize LP5562. */
int lp5562_poweron(void);
/* Power off LP5562. */
int lp5562_poweroff(void);
/*
* Set LED color.
* The parameter 'rgb' is in the format 0x00RRGGBB.
*/
int lp5562_set_color(uint32_t rgb);
/* Set lighting engine used by each color */
int lp5562_set_engine(uint8_t r, uint8_t g, uint8_t b);
/* Load lighting engine program */
int lp5562_engine_load(int engine, const uint8_t *program, int size);
/* Control lighting engine execution state */
int lp5562_engine_control(int eng1, int eng2, int eng3);
#endif /* LP5562_H */