MTK6580电源使用(regulator)

关于MTK6580电源使用
相关的API
    struct regulator *__must_check regulator_get(struct device *dev,const char *id);
    int regulator_set_voltage(struct regulator *regulator, int min_uV, int max_uV);
    int __must_check regulator_enable(struct regulator *regulator);
    int regulator_disable(struct regulator *regulator);

在platform_device使用
    struct platform_device {
        ...
        struct device   dev;
        ..
    };

//需要包含的头文件
    #include <linux/regulator/consumer.h>
    #include <pmic_drv.h>
    #include <mach/mt_pm_ldo.h>  


    struct regulator *reg_V33_433;
    reg_V33_433 = regulator_get(&pdev->dev,"VGP1");             //get pointer to regulator structure VGP1
    if (IS_ERR(reg_V33_433)) {
        printk("regulator_get() failed!\n");
    }    
    ret=regulator_set_voltage(reg_V33_433, 3300000, 3300000);  // set 3.3v
    if (ret)
        printk("regulator_set_voltage() failed!\n");
    ret=regulator_enable(reg_V33_433);                             //open power
    if (ret)
        printk("regulator_enable() failed!\n");
            

一般使用
struct device *dev
struct regulator *reg_V33_BT;
    if(!(IS_ERR(dev))){
        reg_V33_BT = regulator_get(dev,"VCN_1V8");
    }
    if(reg_V33_BT)
    {
    regulator_set_voltage(reg_V33_BT, 3300000, 3300000);
    regulator_enable(reg_V33_BT);
    }

猜你喜欢

转载自blog.csdn.net/alifrank/article/details/82225046
MTK
今日推荐