summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorNicolas Boichat <drinkcat@chromium.org>2019-02-22 15:36:51 +0800
committerchrome-bot <chrome-bot@chromium.org>2019-03-12 18:54:16 -0700
commitb364bd251f0d867b2796cbe9fd9160662d0f7ad3 (patch)
tree3d111788a8488fc5058a83f612e1221d413fdcdd /driver
parent1d68cfe1a301ca326cbdcc8758df662407e204c7 (diff)
downloadchrome-ec-b364bd251f0d867b2796cbe9fd9160662d0f7ad3.tar.gz
kukui: Enable MT6370 DB_POSVOUT/DB_NEGVOUT
BRANCH=none BUG=b:123669273 TEST=Boot kukui P2, panel AVDD/AVEE looks good Change-Id: Ie9b8780fdad6e061e967ebb127b27bf63a11db2f Signed-off-by: Yilun Lin <yllin@google.com> Reviewed-on: https://chromium-review.googlesource.com/1482633 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Diffstat (limited to 'driver')
-rw-r--r--driver/charger/rt946x.c7
-rw-r--r--driver/charger/rt946x.h19
2 files changed, 26 insertions, 0 deletions
diff --git a/driver/charger/rt946x.c b/driver/charger/rt946x.c
index 35fb6fcb15..9a69f3847a 100644
--- a/driver/charger/rt946x.c
+++ b/driver/charger/rt946x.c
@@ -1019,6 +1019,13 @@ int mt6370_set_ldo_voltage(int mv)
return rt946x_update_bits(MT6370_REG_LDOVOUT, vout_mask, vout_val);
}
+/* MT6370 Display bias */
+int mt6370_db_external_control(int en)
+{
+ return rt946x_update_bits(MT6370_REG_DBCTRL1, MT6370_MASK_DB_EXT_EN,
+ en << MT6370_SHIFT_DB_EXT_EN);
+}
+
/* MT6370 RGB LED */
int mt6370_led_set_dim_mode(enum mt6370_led_index index,
diff --git a/driver/charger/rt946x.h b/driver/charger/rt946x.h
index d91def7b4c..b28a87f3f5 100644
--- a/driver/charger/rt946x.h
+++ b/driver/charger/rt946x.h
@@ -135,6 +135,9 @@
#define MT6370_REG_RGBCHRINDDIM 0x92
#define MT6370_REG_RGBCHRINDCTRL 0x93
+/* Display bias */
+#define MT6370_REG_DBCTRL1 0XB0
+
#define RT946X_REG_DPDMIRQ 0xC6
/* backlight */
#define MT6370_BACKLIGHT_BLEN 0xA0
@@ -477,6 +480,19 @@
#define MT6370_MASK_RGBISNK_CURSEL (0x7 << MT6370_SHIFT_RGBISNK_CURSEL)
#define MT6370_MASK_RGBISNK_DIMFSEL (0x7 << MT6370_SHIFT_RGBISNK_DIMFSEL)
+/* ========== DBCTRL1 (mt6370) ============ */
+#define MT6370_SHIFT_DB_EXT_EN 0
+#define MT6370_SHIFT_DB_PERIODIC_FIX 4
+#define MT6370_SHIFT_DB_SINGLE_PIN 5
+#define MT6370_SHIFT_DB_FREQ_PM 6
+#define MT6370_SHIFT_DB_PERIODIC_MODE 7
+
+#define MT6370_MASK_DB_EXT_EN 1
+#define MT6370_MASK_DB_PERIODIC_FIX 1
+#define MT6370_MASK_DB_SINGLE_PIN 1
+#define MT6370_MASK_DB_FREQ_PM 1
+#define MT6370_MASK_DB_PERIODIC_MODE 1
+
/* ========== CHGSTAT2 0xD1 (mt6370) ============ */
#ifdef CONFIG_CHARGER_MT6370
#define MT6370_SHIFT_CHG_VBUSOV_STAT 7
@@ -567,6 +583,9 @@ enum mt6370_led_pwm_freq {
MT6370_LED_PWM_FREQ1000 = 7 /* 1000 Hz */
};
+/* Enable display bias external pin control. */
+int mt6370_db_external_control(int en);
+
/* Set LED brightness */
int mt6370_led_set_brightness(enum mt6370_led_index index, uint8_t brightness);