pinebuds/platform/drivers/ana/best2300p/pmu_best2300p.h

101 lines
2.5 KiB
C

/***************************************************************************
*
* Copyright 2015-2019 BES.
* All rights reserved. All unpublished rights reserved.
*
* No part of this work may be used or reproduced in any form or by any
* means, or stored in a database or retrieval system, without prior written
* permission of BES.
*
* Use of this work is governed by a license granted by BES.
* This work contains confidential and proprietary information of
* BES. which is protected by copyright, trade secret,
* trademark and other intellectual property rights.
*
****************************************************************************/
#ifndef __PMU_BEST2300P_H__
#define __PMU_BEST2300P_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "hal_cmu.h"
enum PMU_EFUSE_PAGE_T {
PMU_EFUSE_PAGE_SECURITY = 0,
PMU_EFUSE_PAGE_BOOT = 1,
PMU_EFUSE_PAGE_FEATURE = 2,
PMU_EFUSE_PAGE_BATTER_LV = 3,
PMU_EFUSE_PAGE_BATTER_HV = 4,
PMU_EFUSE_PAGE_SW_CFG = 5,
PMU_EFUSE_PAGE_PROD_TEST = 6,
PMU_EFUSE_PAGE_RESERVED_7 = 7,
PMU_EFUSE_PAGE_BT_POWER = 8,
PMU_EFUSE_PAGE_DCCALIB2_L = 9,
PMU_EFUSE_PAGE_DCCALIB2_R = 10,
PMU_EFUSE_PAGE_DCCALIB_L = 11,
PMU_EFUSE_PAGE_DCCALIB_R = 12,
PMU_EFUSE_PAGE_RESERVED_13 = 13,
PMU_EFUSE_PAGE_MODEL = 14,
PMU_EFUSE_PAGE_RESERVED_15 = 15,
PMU_EFUSE_PAGE_BOOT_SIG1 = 16,
PMU_EFUSE_PAGE_BOOT_SIG2 = 17,
PMU_EFUSE_PAGE_BOOT_SIG3 = 18,
PMU_EFUSE_PAGE_RESERVED_19 = 19,
PMU_EFUSE_PAGE_RESERVED_20 = 20,
PMU_EFUSE_PAGE_RESERVED_21 = 21,
PMU_EFUSE_PAGE_RESERVED_22 = 22,
PMU_EFUSE_PAGE_RESERVED_23 = 23,
};
enum PMU_IRQ_TYPE_T {
PMU_IRQ_TYPE_PWRKEY,
PMU_IRQ_TYPE_GPADC,
PMU_IRQ_TYPE_RTC,
PMU_IRQ_TYPE_CHARGER,
PMU_IRQ_TYPE_QTY
};
enum PMU_PLL_DIV_TYPE_T {
PMU_PLL_DIV_DIG,
PMU_PLL_DIV_CODEC,
};
void pmu_codec_hppa_enable(int enable);
void pmu_codec_mic_bias_enable(uint32_t map);
void pmu_codec_mic_bias_lowpower_mode(uint32_t map);
int pmu_codec_volt_ramp_up(void);
int pmu_codec_volt_ramp_down(void);
void pmu_codec_vad_save_power(void);
void pmu_codec_vad_restore_power(void);
void pmu_lbrt_config(int enable);
void pmu_pll_div_reset_set(enum HAL_CMU_PLL_T pll);
void pmu_pll_div_reset_clear(enum HAL_CMU_PLL_T pll);
void pmu_pll_div_set(enum HAL_CMU_PLL_T pll, enum PMU_PLL_DIV_TYPE_T type, uint32_t div);
void pmu_led_set_hiz(enum HAL_GPIO_PIN_T pin);
#ifdef __cplusplus
}
#endif
#endif