这两天调试中遇到的一个问题:MT6169 clock buffer XO3在开机后无时钟输出。这个时钟在项目上是供给ICN6211的,如果没有26M输出会导致ICN6211无法工作,开机白屏。MTK平台默认设计XO3给NFC使用,在带NFC的主板上用示波器量测XO3信号,发现打开NFC时有26M输出,关闭时26M也被关闭。所以顺藤摸瓜,在nfc代码中找到接口clk_buf_ctrl,这个接口就可以控制XO3的输出。
接口定义在kernel-3.18/drivers/misc/mediatek/base/power/mt6735/mt_clkbuf_ctl.c中。
具体的使用方法请参考:
代码中直接调用
接口定义在kernel-3.18/drivers/misc/mediatek/base/power/mt6735/mt_clkbuf_ctl.c中。
具体的使用方法请参考:
代码中直接调用
①Makefile 中添加ccflags-y += -Werror -I$(srctree)/drivers/misc/mediatek/base/power/$(MTK_PLATFORM)
②.c中包含#include"mt_clkbuf_ctl.h"
③
mt_clkbuf_ctl.c中修改为开机默认打开
②.c中包含#include"mt_clkbuf_ctl.h"
③
mt_clkbuf_ctl.c中修改为开机默认打开
static CLK_BUF_SWCTRL_STATUS_T clk_buf_swctrl[CLKBUF_NUM] = {
CLK_BUF_SW_ENABLE,
CLK_BUF_SW_DISABLE,
CLK_BUF_SW_ENABLE,