summaryrefslogtreecommitdiff
path: root/include/driver/bc12/mt6360_public.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-06-04 13:28:10 -0600
committerCommit Bot <commit-bot@chromium.org>2021-06-09 17:17:00 +0000
commit478248fdc135d773ae6dbb881a3fcea14093c042 (patch)
treede9e910dc425a5d8f24308e1b75fe37e652e1754 /include/driver/bc12/mt6360_public.h
parent34351ebad0f8903a6e10ddb019185955e1606d96 (diff)
downloadchrome-ec-478248fdc135d773ae6dbb881a3fcea14093c042.tar.gz
Create a public header for mt6360.c
Add a separate public header for this chip so we can include it from Zephyr. BUG=b:189855648 BRANCH=none TEST=make BOARD=hayato -j30 Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Iaf93bf7f0f7336b17d06bd5c5691624a3877a43b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941807 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'include/driver/bc12/mt6360_public.h')
-rw-r--r--include/driver/bc12/mt6360_public.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/include/driver/bc12/mt6360_public.h b/include/driver/bc12/mt6360_public.h
new file mode 100644
index 0000000000..d2b8499e1f
--- /dev/null
+++ b/include/driver/bc12/mt6360_public.h
@@ -0,0 +1,62 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef __CROS_EC_DRIVER_BC12_MT6360_PUBLIC_H
+#define __CROS_EC_DRIVER_BC12_MT6360_PUBLIC_H
+
+#include <inttypes.h>
+
+#define MT6360_PMU_I2C_ADDR_FLAGS 0x34
+#define MT6360_PMIC_I2C_ADDR_FLAGS 0x1a
+#define MT6360_LDO_I2C_ADDR_FLAGS 0x64
+#define MT6360_PD_I2C_ADDR_FLAGS 0x4e
+
+enum mt6360_regulator_id {
+ MT6360_LDO3,
+ MT6360_LDO5,
+ MT6360_LDO6,
+ MT6360_LDO7,
+ MT6360_BUCK1,
+ MT6360_BUCK2,
+
+ MT6360_REGULATOR_COUNT,
+};
+
+int mt6360_regulator_get_info(enum mt6360_regulator_id id, char *name,
+ uint16_t *voltage_count, uint16_t *voltages_mv);
+
+int mt6360_regulator_enable(enum mt6360_regulator_id id, uint8_t enable);
+
+int mt6360_regulator_is_enabled(enum mt6360_regulator_id id, uint8_t *enabled);
+
+int mt6360_regulator_set_voltage(enum mt6360_regulator_id id, int min_mv,
+ int max_mv);
+
+int mt6360_regulator_get_voltage(enum mt6360_regulator_id id, int *voltage_mv);
+
+enum mt6360_led_id {
+ MT6360_LED_RGB1,
+ MT6360_LED_RGB2,
+ MT6360_LED_RGB3,
+ MT6360_LED_RGB_ML,
+
+ MT6360_LED_COUNT,
+};
+
+#define MT6360_LED_BRIGHTNESS_MAX 15
+
+int mt6360_led_enable(enum mt6360_led_id led_id, int enable);
+
+int mt6360_led_set_brightness(enum mt6360_led_id led_id, int brightness);
+
+extern const struct mt6360_config_t mt6360_config;
+
+struct mt6360_config_t {
+ int i2c_port;
+ int i2c_addr_flags;
+};
+extern const struct bc12_drv mt6360_drv;
+
+#endif /* __CROS_EC_DRIVER_BC12_MT6360_PUBLIC_H */