UEFI中的adc配置 && UEFI往kernel传值

    写这篇文章的原因很简单,我们要在sdm660平台的项目上,靠ADC口的电压状态来区分同一个项目的不同版本。因为不同版本的PCB对应到我们项目中某个模块的驱动可能用的也不相同,因此这个ADC要求在系统进到kernel之前就要识别到,并且讲当前版本的值传到kernel里。

1、在BOOT.XF.1.4/boot_images/QcomPkg/Include/AdcInputs.h文件中,定义一个ADC的名字

#define ADC_INPUT_AUX_THERM2       "AUX_THERM2"

2、在BOOT.XF.1.4/boot_images/QcomPkg/QcomTestPkg/AdcTest/AdcTest.c中,

static const CHAR8 *vAdcChannels[]这个数组里加上刚才添加的ADC名字:

static const CHAR8 *vAdcChannels[] = 
{
…………
+    ADC_INPUT_AUX_THERM2,
};

3、在BOOT.XF.1.4/boot_images/QcomPkg/Sdm660Pkg/Settings/ADC/core/VAdcSettings.c中,

const VAdcChannelConfigType gVAdcChannels[]这个数组里加上该ADC,pin脚的配置信息:

static const AdcMapPtInt32toInt32Type adcMap_NTCG104EF104FB[] =
{
…………
+       /* AUX_THERM2 */
+       {
+               .pszName = ADC_INPUT_AUX_THERM2,
+               .uAdcHardwareChannel = 0x10,
+               .eSettlingDelay = VADC_SETTLING_DELAY_0_US,
+               .eAverageMode = VADC_AVERAGE_1_SAMPLE,
+               .eDecimationRatio = VADC_DECIMATION_RATIO_1024,
+         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值