5 #ifndef OPENTITAN_SW_DEVICE_LIB_BOARDS_TEACUP_V1_3_0_LEDS_H_
6 #define OPENTITAN_SW_DEVICE_LIB_BOARDS_TEACUP_V1_3_0_LEDS_H_
8 #include "sw/device/lib/base/status.h"
16 kLedsDriverI2cAddr = 0x34,
19 kLedsControlRegAddr = 0x00,
20 kLedUpdateRegAddr = 0x49,
21 kLedChannel0ScalingRegAddr = 0x4D,
22 kLedGlobalCurrentControlRegAddr = 0x6E,
25 kLedBlue0LowRegAddr = 0x07,
26 kLedRed0LowRegAddr = 0x09,
27 kLedGreen0LowRegAddr = 0x0B,
30 kLedBlue1LowRegAddr = 0x0D,
31 kLedRed1LowRegAddr = 0x0F,
32 kLedGreen1LowRegAddr = 0x11,
35 kLedBlue2LowRegAddr = 0x13,
36 kLedRed2LowRegAddr = 0x15,
37 kLedGreen2LowRegAddr = 0x17,
40 kLedBlue3LowRegAddr = 0x19,
41 kLedRed3LowRegAddr = 0x1B,
42 kLedGreen3LowRegAddr = 0x1D,
51 typedef enum teacup_led {
75 status_t leds_read_ctrl_reg(
const dif_i2c_t *i2c, uint8_t reg_addr,
86 status_t leds_set_color(
const dif_i2c_t *i2c, teacup_led_t led,
96 status_t leds_set_all_brightness(
const dif_i2c_t *i2c, uint8_t brightness);
104 status_t leds_i2c_controller_configure(
const dif_i2c_t *i2c);
112 status_t leds_turn_all_off(
const dif_i2c_t *i2c);
120 status_t leds_turn_all_on(
const dif_i2c_t *i2c);