diff options
author | Simon Glass <sjg@chromium.org> | 2021-06-04 13:28:10 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-06-09 17:17:00 +0000 |
commit | 478248fdc135d773ae6dbb881a3fcea14093c042 (patch) | |
tree | de9e910dc425a5d8f24308e1b75fe37e652e1754 /include/driver/bc12/mt6360_public.h | |
parent | 34351ebad0f8903a6e10ddb019185955e1606d96 (diff) | |
download | chrome-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.h | 62 |
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 */ |