ACT 8846およびRK 818駆動

4734 ワード

Regulator Usage(原文アドレスはこちら)


DCDC & LDO


ACT 8846 PMU駆動


フレーム図は以下の通り
図からわかる
REG[1,4]対応DCDC[1,4]
REG[5,13]対応LDO[1,9]
ドライバコードのvoltage mapはマニュアルのtable 5を参照できます
 600, 625, 650, 675, 700, 725, 750, 775,
 800, 825, 850, 875, 900, 925, 950, 975,
 1000, 1025, 1050, 1075, 1100, 1125, 1150,
 1175, 1200, 1250, 1300, 1350, 1400, 1450,
 1500, 1550, 1600, 1650, 1700, 1750, 1800,
 1850, 1900, 1950, 2000, 2050, 2100, 2150,
 2200, 2250, 2300, 2350, 2400, 2500, 2600,
 2700, 2800, 2900, 3000, 3100, 3200,
 3300, 3400, 3500, 3600, 3700, 3800, 3900,

デバイスツリー構成


使用するプライマリdtsファイルにact 8846を含む.dtsiのデバイスツリーファイルでOK
#include "act8846.dtsi"

マスタI 2 CのI 2 C 0にact 8846が接続されていて、I 2 C 0がi 2 c 0であればそのまま使用できるものとし、そうでなければI 2 Cの番号を変更するだけでよい

タッチスクリーンハードウェア接続とデバイスツリー構成


下図のようなTPモジュール接続方式で説明する
VCC_TPはTPに電力を供給し、PMU上のLDOから供給する
TPのデバイスtreeは以下のように記述されているが,ここでは完全ではなく,PIN脚などの記述は少ない.
goodix_ts@5d {
    compatible = "goodix,gt9xx";
    status = "okay";
    reg = <0x5d>;
    VCC_TP-supply = ;
}

そのうちVCC_TP-supplyはこのように書くのが比較的に規範的です
VCC_TPと原理図に表示されている対応(純粋に覚えやすいようにコードと図を対応させる)
supplyは固定接尾辞で、コードから知ることができます
なぜldo 4_に対応するのかreg?
regulatorのレジスタは0から計算を開始します
OUT 8対応はregulator 7対応
regulator 7のラベルはldo 4_ですreg、ここはdevice treeの文法です
ldo4_reg:regulator@7 {
    reg = <0x7>;
    regulator-compatible = "act_ldo4";
    regulator-name = "act_ldo4";
    regulator-min-microvolt = <0x325aa0>;
    regulator-max-microvolt = <0x325aa0>;
    linux,phandle = <0xc2>;
    phandle = <0xc2>;
};

テストメソッド

  • PMU駆動insmod act 8846をロードする.ko
  • regulator 7の電圧
  • を絶えずスイッチする
    while true
    do
    insmod regulator.ko
    sleep 5
    rmmod regulator
    sleep 5
    done
  • regulator 7スイッチステータス
  • を表示
    while true
    do
    cat /sys/class/regulator/regulator.8/state
    sleep 2
    done

    RK 818 PMU駆動


    テストメソッド

  • PMU駆動insmod rk 818をロードする.ko
  • LDO 2の電圧
  • を常時開閉する.
    while true
    do
    insmod rk818_test.ko
    sleep 5
    rmmod rk818_test
    sleep 5
    done
  • regulatorスイッチステータス
  • を表示
    while true
    do
    cat /sys/class/regulator/regulator.7/state
    sleep 2
    done