mtk6580 8.1 如何操作vgp1电压

本文档详细介绍了在MTK6580 8.1平台上如何操作VGPU1电压,特别是在遇到3.3V输出问题时的解决步骤。通过修改设备树和驱动代码,成功实现了VGPU1的3.3V输出。关键在于理解并正确使用`regulator_get`函数以及在设备树中指定正确的供应源。
摘要由CSDN通过智能技术生成

今天在调试一个外设时,需要用vgp1控制,需要设置3.3v,一直没有输出来。6580 8.1平台tp默认是用vgp1控制的,用下面的代码是可以输出2.8v的

下面是ft的tp驱动部分

int fts_power_init(void)
{
    int ret;
    /*set TP volt*/
    tpd->reg = regulator_get(tpd->tpd_dev, "vtouch");
    ret = regulator_set_voltage(tpd->reg, 2800000, 2800000);
    if (ret != 0) {
        FTS_ERROR("[POWER]Failed to set voltage of regulator,ret=%d!", ret);
        return ret;
    }

    ret = regulator_enable(tpd->reg);
    if (ret != 0) {
        FTS_ERROR("[POWER]Fail to enable regulator when init,ret=%d!", ret);
        return ret;
    }

    return 0;
}

kernel-3.18\arch\arm\boot\dts\mt6580.dts

touch: touch@0 {
			compatible = "mediatek,touch";
			vtouch-supply = <&mt_pmic_vgp1_ldo_reg>;
		};

为了保持代码的可移植性和方便查阅问题,没有采取在tp里面操作这个电压,而是在对应驱动里面去操作vgp1
按照tp的方法,加入如下代码:
kernel-3.18\arch\arm\boot\dts\mt6580.dts

breathled: breathled {
			compatible = "mediatek,breathled";
			mx9016-supply = <&mt_pmic_vgp1_ldo_reg>;		
		};

在对应驱动操作电压部分代码

static int breathled_probe(struct platform_device *pdev)
{
	struct regulator *reg_mx9016;
	//zxw open vgp1 注意要引入头文件#include <linux/regulator/consu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值