原创 1、sensor see框架

    高通從SDM845平臺開始,Sensor使用新的架構SEE(Sensors Execution Environment),和之前架構不同,新的架構有着太多的優點。 一、軟件框圖 二、新舊框架對比     從上圖可以看到,新架構

原创 2、slpi 初始化

一、slpi 入口     slpi的入口在/AMSS/slpi_proc/ssc/utils/osa/中,我們先看下build/osa.scons env.AddRCInitFunc( ['SSC_SLPI_USER','

原创 I3C簡介

1、I2C的不足之處 從設備無法主動向主設備發起通訊 降低吞吐量和上拉電阻限制了時鐘速率且使得功耗偏高 2、SPI的不足之處 需要四根通訊線路來進行較大的數據通訊 沒有一個明確的定義標準 3、I3C特性 明確的定義標準 兩條通訊線路(DC

原创 I3C——代碼相關(雜記)

    8150代碼中當前能夠使用的還只是sensor。我們來看下其中的定義以及對應的使用方法。如果支持I3C,那麼SSC_TARGET_NO_I3C_SUPPORT該宏將不會被定義。     AMSS/slpi_proc/ssc/bui

原创 字符轉數字(包含負數)

如下demo爲在內核中將字符轉爲數字。其原理就是將每一個字符單獨拿出來然後重新拼接相加。正負值通過flag控制。 #include <stdio.h> #include <string.h> #include <assert.h> in

原创 linux內核裏的字符串轉換 ,鏈表操作常用函數

1.對雙向鏈表的具體操作如下: list_add ———向鏈表添加一個條目   list_add_tail ———添加一個條目到鏈表尾部   __list_del_entry ———從鏈表中刪除相應的條目   list_replace——

原创 【Linux】proc_create的使用方法

proc_create的使用方法 proc文件系統是個有用的東東。 創建一個proc虛擬文件,應用層通過讀寫該文件,即可實現與內核的交互。 proc虛擬文件是如何創建的呢? 先看看比較簡單的,創建proc文件夾。 調用以下函數,即可實現p

原创 linux下devicetree中慣用的of函數

linux下devicetree中常用的of函數   從device_node中獲取信息: int of_property_read_u8_array(const struct device_node *np, const char *p

原创 android——module_init內核調用順序

    最近有在做一個初始化設備的動作,但是發現在相同的文件夾下已經有兩個module_init,當我想再添加一個時,發現我添加的這個是最後執行的。由於其他的兩個初始化中有用到我添加的部分,所以想提高優先級。沒辦法,只能看下module_

原创 【轉】Linux設備驅動模型之platform總線詳解

1、什麼是platform(平臺)總線?     相對於USB、PCI、I2C、SPI等物理總線來說,platform總線是一種虛擬、抽象出來的總線,實際中並不存在這樣的總線。     那爲什麼需要platform總線呢?其實是Linux

原创 高通平臺GPIO模擬PWM控制背光

    很多時候由於節省硬件資源,降低成本,會把PWM控制芯片去掉或者是改做它用,導致當我們想用PWM方式控制背光時只能使用帶有clk功能的GPIO口。本篇文檔就來講解下如何使用GPIO模擬PWM功能進行背光的控制。本文以MSM8909爲

原创 android LCM啓動流程——LK

目錄 一、整體流程概述 二、詳細流程分析 1、LK中LCD的唯一入口 target_display_init() gcdb_display_init() 2、屏幕識別&獲取初始化參數信息 oem_panel_select() dsi_pa

原创 高通操作GPIO工具使用

    高通在N版本之前一直有一個可以操作GPIO口的工具,實際也是操作對應的寄存器。但是N之後沒有默認添加到代碼中。該工具即爲大家所熟知的/system/bin/r。     現在以O版本爲例,添加該工具。 一、添加方式     1、首

原创 MTK平臺通過adb獲取GPIO狀態

之前介紹了高通平臺對應GPIO狀態的查看https://mp.csdn.net/postedit/82345424。現在我們來看下MTK平臺是如何實現的。 一、節點位置     在MTK平臺,我們可以通過cat節點(mt_gpio)來查看