diff options
-rw-r--r-- | board/kukui/board.h | 1 | ||||
-rw-r--r-- | driver/charger/rt946x.c | 9 | ||||
-rw-r--r-- | driver/charger/rt946x.h | 20 | ||||
-rw-r--r-- | include/config.h | 6 |
4 files changed, 36 insertions, 0 deletions
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 @@ -763,6 +763,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. */ |