linux 電源管理之 regulator

2022-09-12 23:18:29 字數 1190 閱讀 5982

1、電源管理 regulator 分成靜態和動態:靜態不需要改變電壓電流,只需要開關電源,用在bootloader,firmware,kernel board 階段等。動態,根據需要改變電壓電流。

2、獲取裝置的regulator,dev為驅動對應的裝置指標,可以用null,vcc為電源的id,核心會查表找到電源id對應的regulator。如:

struct regulator *ldo;

ldo=regulator_get(null,"act_ldo5");

regulator = regulator_get(dev, "vcc");//獲取裝置regulator.

3、regulator_put(regulator);   //釋放regulator。

4、int regulator_enable(regulator);//使能電源輸出。呼叫之前也可能已經使能了。所以用下面函式判斷。

5、int regulaor_is_enabled(regulator); //判斷是否使能,>0 表示已經使能。

6、int regulator_disable(regulator);//關閉電源輸出。但是未必立刻關閉,有可以存在電源共享的場景。

7、int regulator_force_disable(regulator);//強制關閉電源。

8、int regulator_set_voltage(regulator,min_uv,max_uv);//調節電壓的最小和最大輸出。如果接下去呼叫regulator_enable ,那麼這個值馬上就生效,如果呼叫regulator_disable等其他的,要等到下一次呼叫regulator_enable時才能生效。

9、int regulator_get_voltage(regulator); //通過此介面獲取配置的輸出電壓。

10、int regulator_count_voltages(regulator); //通過此介面獲取regulator的編號。

例如:

regulator_set_voltage(ldo_28, 2800000, 2800000); //設定電壓。

regulator_enable(ldo_28); //使能。

int value=regulator_get_voltage(ldo_28)); //獲取電壓值。

regulator_put(ldo_28); //釋放。

另一篇文章

linux電源管理

一 acpid的實驗 1 我在機房的機器上的 etc apci events power.conf中加了 actions bin echo 111111111111 root 1.tmp 2 service acpid restart 3 我按了電源.呵呵,發現了 root 1.tmp 二 etc ...

linux 電源管理

我用的筆記本 ubuntu 12.04 kernel 3.8.8 只能掛起一次,第二次掛起的話就到了解鎖介面,網上找了很多 ubuntu suspend once 沒有用 但是學到了一些其它的電源管理命令 快捷鍵關螢幕 其它的,光碟機,cpu,硬碟都可以進行管理 休眠 資料到記憶體 sudo etc...

Linux電源管理編譯

在核心中,有乙個driver power power supply core.我在核心 中的make menuconfig 開始,配置 power management options 中,已經全部配置.但是,power中的檔案仍然沒有變化。然後開始找核心,在device drivers中找到 po...