电源管理接口

电源管理接口

设备树配置

    i2c@78b7000 { /* BLSP1 QUP3 */
        status = "okay";
        synaptics@4b {
            compatible = "synaptics,dsx-i2c";
            vcc_i2c-supply = <&pm8953_l6>;

驱动代码

static struct regulator *vcc_i2c;

//申请    

vcc_i2c = regulator_get(dev, "vcc_i2c");  //名字和设备树中-supply前面名字保持一致
    if (IS_ERR(vcc_i2c)) {
        GTP_ERROR("regulator get of vcc_i2c failed");
        ret = PTR_ERR(vcc_i2c);
        vcc_i2c = NULL;
        goto ERR_GET_VCC;
    }

//使能LDO

        ret = regulator_enable(vcc_i2c);

//关闭LDO

        ret = regulator_disable(vcc_i2c);

//释放

        regulator_put(vcc_i2c);

节点查看:

msm8953_64:/ # cat  sys/kernel/debug/regulator/pm8953_l6/consumers           
Device-Supply                    EN    Min_uV   Max_uV  load_uA
3-005d-vcc_i2c                   Y    1800000  1800000    10000
1a94000.qcom,mdss_dsi_ctrl0-vddio N    1800000  1800000      100
pm8953_l6                        N          0        0        0
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章