MT 8163 Android 6.0デバッグ光感IC(STK 3310)まとめ


概要:フォトセンシングIC stk 3310をデバッグする手順を説明します.デバッグハードウェアプラットフォーム:MT 8163デバッグソフトウェアプラットフォーム:Android 6.0
総修正ファイル:プロジェクト名
arch/arm64/boot/dts/project.dts
 device/pskyed/project/ProjectConfig.mk
kernel-3.18/drivers/misc/mediatek/alsps/Kconfig
kernel-3.18/arch/arm64/configs/project_defconfig
 device/pskyed/project/ProjectConfig.mk
device/pskyed/project/overlay/frameworks/base/core/res/res/values/config.xml

ドライバのデバッグと分析追加ドライバファイルはkernel-3.18driversmiscmediatekalspsディレクトリの下でstk 3 x 1 xのドライバファイルを追加します.このドライバファイルは他のデバッグされたBSPから取得することも、ベンダーから取得することもできます.
コンパイル項目の追加kernel-3.18driversmiscmediatekalspsKconfig増加:source"drivers/misc/mediatek/alsps/stk 3 x 1 x/Kconfig"kernel-3.18driversmiscmediatekalspsMakefile増加:obj-$(CONFIG_MTK_STK 3 X 1)+=stk 3 x 1 x/arch/arch/arm 64/configs/project_defconfigコンパイルマクロを追加:
  CONFIG_CUSTOM_KERNEL_ALSPS=y
CONFIG_MTK_STK3X1X=y 

これにより、ドライバがカーネルにコンパイルされます.
Dts構成I 2 Cデバイスディレクトリ:arch/arm 64/boot/dts/project.dtsは&i 2 c 2{で増加:
      alsps@48{
         compatible = "mediatek,alsps";
         reg = <0x48>;
         interrupt-parent = ;
         interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
         int-gpio = 30 0>;
         status = "okay";
};  

既存のDtsのアーキテクチャの下で、device「alsps」が作成されます.Driverでは「alsps」に対応する必要があります.I 2 cアドレス:0 x 48;デバイスには、/sys/bus/i 2 c/devices/3-0048の増加が表示されます.
   cust_alsps@0 {
               compatible = "mediatek,stk3x1x";
               i2c_num = <2>;
               i2c_addr = <0x48 0x48 0x78 0x00>;
               polling_mode_ps = <1>;
               polling_mode_als = <1>;
               power_id = <0xffff>;
               power_vol = <0>;
               als_level = <5 10 25 50 100 150 200 400 1000 1500 2000 3000 5000 8000 10000>;
               als_value = <10 50 100 150 200 250 280 280 1600 1600 1600 6000 6000 9000 10240 10240>;
               ps_threshold_high = <120>;
               ps_threshold_low = <100>;
               is_batch_supported_ps = <0>;
               is_batch_supported_als = <0>;
       };

以上の情報stk 3 x 1 xの駆動によりハードウェア構成情報が読み出される.二、HAL層の追加2.1修正目次:device/pskyed/project/ProjectConfig.mk CUSTOM_KERNEL_ALSPS = stk3x1x
ここでのCUSTOM_KERNEL_ALSPSは値さえあればいい.vendor/mediatek/proprietary/hardware/sensor/のコードを表示できます.
if defined(CUSTOM_KERNEL_ALSPS) || defined(CUSTOM_KERNEL_ALS)
だからCUSTOM_KERNEL_ALSPSは,空でない限り光感を加えた中間層の関数である.
三、応用層スイッチの追加3.1以下のファイルを修正する:ディレクトリ:device/pskyed/project/overlay/frameworks/base/core/res/res/values/config.xmlは、trueをtrueに変更するとインタフェースに自動バックライトのオプションが表示されます.自動バックライトをオンにすると、ドライバのenable関数が呼び出され、バックライトのタイマスレッドが開きます.
デバッグテクニック:問題はprobeを駆動することに成功し、ノードもありますが、初期化OKかどうか分かりません.解決方法:1.adbマシンに接続し、ディレクトリに切断:/sys/bus/platform/drivers/als_psは従ってのレジスタを表示します:cat allreg cat allreg最初のレジスタはsensorのスイッチで、デフォルトの自動感光は閉じています.ノックコマンド:echo 0003>allregは感光sensorを開き、alsを読み取る値が変化し、駆動が正常に動作していることを示します.