summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/kukui/board.h1
-rw-r--r--driver/charger/rt946x.c9
-rw-r--r--driver/charger/rt946x.h20
-rw-r--r--include/config.h6
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.
*/