From 3e2c751048cc3d4b84373b07013e7c904eb4a5d3 Mon Sep 17 00:00:00 2001 From: Yilun Lin Date: Fri, 19 Apr 2019 13:27:39 +0800 Subject: charger/rt946x,krane: Enable backlight power. Krane's backlight power and PWM is controlled by mt6370. TEST=See the backlight is enabled on krane. BUG=b:131125903 BRANCH=None Change-Id: I9276a73d1a36e6b1eb64b39d7e9e988cda164ada Signed-off-by: Yilun Lin Reviewed-on: https://chromium-review.googlesource.com/1575051 Commit-Ready: ChromeOS CL Exonerator Bot Tested-by: Yilun Lin Reviewed-by: Ting Shen --- board/kukui/board.h | 1 + driver/charger/rt946x.c | 9 +++++++++ driver/charger/rt946x.h | 20 ++++++++++++++++++++ include/config.h | 6 ++++++ 4 files changed, 36 insertions(+) diff --git a/board/kukui/board.h b/board/kukui/board.h index d9b35e7142..262052fe8e 100644 --- a/board/kukui/board.h +++ b/board/kukui/board.h @@ -132,6 +132,7 @@ #define CONFIG_BATTERY_REVIVE_DISCONNECT #ifdef BOARD_KRANE #define CONFIG_BATTERY_MM8013 +#define CONFIG_CHARGER_MT6370_BACKLIGHT #else #define CONFIG_BATTERY_MAX17055 #define CONFIG_BATTERY_MAX17055_ALERT diff --git a/driver/charger/rt946x.c b/driver/charger/rt946x.c index 984c1d1d4f..b9518eec42 100644 --- a/driver/charger/rt946x.c +++ b/driver/charger/rt946x.c @@ -458,6 +458,15 @@ static int rt946x_init_setting(void) if (rv) return rv; +#ifdef CONFIG_CHARGER_MT6370_BACKLIGHT + rt946x_write8(MT6370_BACKLIGHT_BLEN, + MT6370_MASK_BLED_EXT_EN | MT6370_MASK_BLED_EN | + MT6370_MASK_BLED_1CH_EN | MT6370_MASK_BLED_2CH_EN | + MT6370_MASK_BLED_3CH_EN | MT6370_MASK_BLED_4CH_EN); + rt946x_update_bits(MT6370_BACKLIGHT_BLPWM, MT6370_MASK_BLPWM_BLED_PWM, + BIT(MT6370_SHIFT_BLPWM_BLED_PWM)); +#endif + return rt946x_init_irq(); } diff --git a/driver/charger/rt946x.h b/driver/charger/rt946x.h index f4f37975ad..29e36f0ac9 100644 --- a/driver/charger/rt946x.h +++ b/driver/charger/rt946x.h @@ -493,6 +493,26 @@ #define MT6370_MASK_DB_FREQ_PM 1 #define MT6370_MASK_DB_PERIODIC_MODE 1 +/* ========== BLEN 0xA0 (mt6370) ============ */ +#define MT6370_SHIFT_BLED_EXT_EN 7 +#define MT6370_SHIFT_BLED_EN 6 +#define MT6370_SHIFT_BLED_1CH_EN 5 +#define MT6370_SHIFT_BLED_2CH_EN 4 +#define MT6370_SHIFT_BLED_3CH_EN 3 +#define MT6370_SHIFT_BLED_4CH_EN 2 + +#define MT6370_MASK_BLED_EXT_EN BIT(MT6370_SHIFT_BLED_EXT_EN) +#define MT6370_MASK_BLED_EN BIT(MT6370_SHIFT_BLED_EN) +#define MT6370_MASK_BLED_1CH_EN BIT(MT6370_SHIFT_BLED_1CH_EN) +#define MT6370_MASK_BLED_2CH_EN BIT(MT6370_SHIFT_BLED_2CH_EN) +#define MT6370_MASK_BLED_3CH_EN BIT(MT6370_SHIFT_BLED_3CH_EN) +#define MT6370_MASK_BLED_4CH_EN BIT(MT6370_SHIFT_BLED_4CH_EN) + +/* ========== BLPWM 0xA2 (mt6370) ============ */ +#define MT6370_SHIFT_BLPWM_BLED_PWM 7 + +#define MT6370_MASK_BLPWM_BLED_PWM BIT(MT6370_SHIFT_BLPWM_BLED_PWM) + /* ========== CHGSTAT2 0xD1 (mt6370) ============ */ #ifdef CONFIG_CHARGER_MT6370 #define MT6370_SHIFT_CHG_VBUSOV_STAT 7 diff --git a/include/config.h b/include/config.h index f1719806da..9015c6cd78 100644 --- a/include/config.h +++ b/include/config.h @@ -762,6 +762,12 @@ */ #undef CONFIG_CHARGER_CURRENT_LIMIT +/* + * MT6370 backlight control settings. + * If defined, Panel backlight power is controlled by MT6370. + */ +#undef CONFIG_CHARGER_MT6370_BACKLIGHT + /* * Enable/disable system power monitor PSYS function: this enables output * from charger chip to SoC. -- cgit v1.2.1