Android: 使用Linux regulator系统通过一个GPIO控制外部IC的电源

  Android: 使用Linux regulator系统通过一个GPIO控制外部IC的电源

 

一、通过一个GPIO控制外部IC的电源,如下图,通过SDMMC0_PWR_H pin(连到CPU的GPIO0_A1)去控制sd卡的电源enable或者disable。

Android: 使用Linux regulator系统通过一个GPIO控制外部IC的电源

二、dts设备树添加如下:

Android: 使用Linux regulator系统通过一个GPIO控制外部IC的电源

Android: 使用Linux regulator系统通过一个GPIO控制外部IC的电源

 

三、驱动添加红框里面的代码:

Android: 使用Linux regulator系统通过一个GPIO控制外部IC的电源

三、然后再在驱动里面分别通过regulator_enable、regulator_disable函数拉高或者拉低上面提到GPIO0_A1达到控制外部电源的目的。例如:

Android: 使用Linux regulator系统通过一个GPIO控制外部IC的电源

四、亲自测试成功

Android: 使用Linux regulator系统通过一个GPIO控制外部IC的电源