diff options
-rw-r--r-- | board/flapjack/board.c | 20 | ||||
-rw-r--r-- | board/flapjack/board.h | 3 | ||||
-rw-r--r-- | driver/charger/rt946x.h | 4 |
3 files changed, 27 insertions, 0 deletions
diff --git a/board/flapjack/board.c b/board/flapjack/board.c index 13372d92f3..2077ff6b31 100644 --- a/board/flapjack/board.c +++ b/board/flapjack/board.c @@ -53,6 +53,25 @@ uint16_t board_version; uint8_t oem; uint32_t sku; +static void board_setup_panel(void) +{ + uint8_t channel; + uint8_t dim; + int rv = 0; + + channel = sku & SKU_ID_PANEL_SIZE_MASK ? 0xfe : 0xfa; + dim = sku & SKU_ID_PANEL_SIZE_MASK ? 0xc4 : 0xc8; + + rv |= i2c_write8(I2C_PORT_CHARGER, RT946X_ADDR, MT6370_BACKLIGHT_BLEN, + channel); + rv |= i2c_write8(I2C_PORT_CHARGER, RT946X_ADDR, MT6370_BACKLIGHT_BLDIM, + dim); + rv |= i2c_write8(I2C_PORT_CHARGER, RT946X_ADDR, MT6370_BACKLIGHT_BLPWM, + 0xac); + if (rv) + CPRINTS("Board setup panel failed\n"); +} + static void cbi_init(void) { uint32_t val; @@ -249,6 +268,7 @@ static void board_init(void) /* Enable gauge interrupt from max17055 */ gpio_enable_interrupt(GPIO_GAUGE_INT_ODL); + board_setup_panel(); } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); diff --git a/board/flapjack/board.h b/board/flapjack/board.h index 65d410fff9..260e29b16b 100644 --- a/board/flapjack/board.h +++ b/board/flapjack/board.h @@ -200,6 +200,9 @@ (EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON) |\ EC_HOST_EVENT_MASK(EC_HOST_EVENT_RTC)) +/* Define panel size mask according to skuid */ +#define SKU_ID_PANEL_SIZE_MASK (1 << 1) + #ifndef __ASSEMBLER__ enum oem_id { diff --git a/driver/charger/rt946x.h b/driver/charger/rt946x.h index 9f1d682901..d91def7b4c 100644 --- a/driver/charger/rt946x.h +++ b/driver/charger/rt946x.h @@ -136,6 +136,10 @@ #define MT6370_REG_RGBCHRINDCTRL 0x93 #define RT946X_REG_DPDMIRQ 0xC6 +/* backlight */ +#define MT6370_BACKLIGHT_BLEN 0xA0 +#define MT6370_BACKLIGHT_BLPWM 0xA2 +#define MT6370_BACKLIGHT_BLDIM 0xA5 /* status event */ #define MT6370_REG_CHGSTAT1 0xD0 #define RT946X_REG_CHGSTATC MT6370_REG_CHGSTAT1 |