杂谈
1.加开机振动
/bootable/bootloader/lk/target/msm8953/init.c
2.怎么在sbl里拉高拉低gpio电平
具体说说怎么回事
1. 通过GPIO初始化控制它
\boot_images\core\systemdrivers\tlmm\config\msm89xx\TLMMChipset.xml
Change DALTLMM_PRG_NO to DALTLMM_PRG_YES, gpio initialization will config this GPIO.
2. TLMM DAL pseudo code. (reference 80-NL239-3)
Note:这个配置只是在SBL中工作,启动后,另一个子系统可以把它改成其他的GPIO功能。
3、如何在SBL1中获得输入GPIO状态
要获得输入gpio状态,需要两个步骤才能获得正确的状态。
以下是读取输入GPIO2高/低状态的示例
1.配置相关的pio gpio作为数字输入。
2.获取GPIO状态,找出80-NA555-2 PM8941软件接口PM_GPIO_2的GPIO_VAL,页面535,相关寄存器为0xC108
以下是代码实现
uint8 data_gpio2;
//config GPIO_2 as digital input
pm_gpio_config_digital_input(0,PM_GPIO_2,PM_GPIO_I_SOURCE_PULL_NO_PULL,PM_GPIO_VIN2,PM_GPIO_OUT_BUFFER_MEDIUM.PM_GPIO_SOURCE_GND);
//read GPIO_2 related register
pm_spmi_lite_read_byte(0,0xC108,&data_gpio2,0)
if(data_gpio2&0x01)
//input is high
else
//input is low
在bootloader里 加属性 前面要加空格 如下面 “ 和 androidboot.mac 之间 要有 空格
// @20180508 for slb741 reconfig mac address
static const char *mac_cmdline = " androidboot.mac=";