Dtsi documentation is under \kernel\Documentation\devicetree\bindings\media\video
1、 Qualcomm MSM Camera
Required properties: 要求属性
- compatible : "qcom,msm-cam"
- reg : offset and length of msm camera device registers. 偏移和MSM摄像设备寄存器长度
- reg-names : should specify relevant names for each reg property defined.应定义的每个reg属性指定的相关名称。
Example:
qcom,msm-cam@fd8c0000 {
compatible = "qcom,msm-cam";
reg = <0xfd8C0000 0x10000>;
reg-names = "msm-cam";
};
2、 Qualcomm MSM CAMERA FLASH
Required properties:
(1)- cell-index : Should contain flash source index to diffentiate between different flash devices. These indexes represent flash devices for multiple sensors. 应包含Flash源指数不同的闪存器件之间的计算微分。这些指标代表了多个传感器闪存设备。
- 0, 1, 2, 3
(2)- compatible : - "qcom,camera-led-flash" 兼容
(3)- qcom,flash-type : Should contain type flash device flash设备类型
- 1 for LED flash led闪光
- 2 for strobe flash 频闪闪光
- 3 for simple led flash controlled by one gpio
This is a low cost led used for camera flash, the led is driven by system power, and use a transistor controlled by external pin to gate its on/off state. 这是一个低成本的使用LED相机闪光灯,LED系统上电驱动,并使用外部引脚控制的晶体管栅极的开/关状态。
(4)- qcom,flash-source : Should contain array of phandles to flash source nodes. 应包含指向闪存资源源节点指针的阵列
- pm8941_flash0 pm8941_flash1
Optional properties:
(5)-qcom,torch-source : Should contain phandle to torch source node.
(6) -pm8941_torch
Example:
qcom,camera-led-flash {
cell-index = <0>;
compatible = "qcom,camera-led-flash";
qcom,flash-type = <1>;
qcom,flash-source = <&pm8941_flash0 &pm8941_flash1>;
qcom,torch-source = <&pm8941_torch>;
};
3、Qualcomm MSM CCI
[First level nodes]
Required properties:
(1)- cell-index: cci hardware core index 相机控制接口硬件芯片核心指数
(2)- compatible : 兼容
- "qcom,cci"
(3)- reg : offset and length of the register set for the device for the cci operating in compatible mode.偏移量和设备的CCI在兼容模式下设置寄存器的长度。
(4)- reg-names : should specify relevant names to each reg property defined. 应指定相关名称定义的每个reg属性。
(5)- interrupts : should contain the cci interrupt. 包含cci中断
(6)- interrupt-names : should specify relevant names to each interrupts property defined. 指定定义的每个中断属性的相关名称
(7)- gpios : should contain phandle to gpio controller node and array of 包含gpio控制器节点的指针。
#gpio-cells specifying specific gpio (controller specific)
(8)- qcom,gpio-req-tbl-num : should contain index to gpios specific to this sensor 包含传感器特定的gpio的指数
(9)- qcom,gpio-req-tbl-flags : should contain direction of gpios present in qcom,gpio-req-tbl-num property (in the same order)包含gpio的标志
(10)- qcom,gpio-req-tbl-label : should contain name of gpios present in qcom,gpio-req-tbl-num property (in the same order)包含gpio名称
Optional properties:
(11)qcom,cci-master
- master0: qcom,cci-master0 - node should contain clock settings for cci master 0 bus 节点应该包含CCI主0总线时钟设置
- master1: qcom,cci-master1 - node should contain clock settings for cci master 1 bus 节点应该包含CCI主1总线时钟设置
qcom,cci@0xfda0c000 {
cell-index = <0>;
compatible = "qcom,cci";
reg = <0xfda0c000 0x300>;
reg-names = "cci";
interrupts = <0 50 0>;
interrupt-names = "cci";
gpios = <&msmgpio 19 0>,
<&msmgpio 20 0>,
<&msmgpio 21 0>,
<&msmgpio 22 0>;
qcom,gpio-tbl-num = <0 1 2 3>;
qcom,gpio-tbl-flags = <1 1 1 1>;
qcom,gpio-tbl-label = "CCI_I2C_DATA0",
"CCI_I2C_CLK0",
"CCI_I2C_DATA1",
"CCI_I2C_CLK1";
master0: qcom,cci-master0 {
status = "disabled";
};
master1: qcom,cci-master1 {
status = "disabled";
};
[Second level nodes]
* Qualcomm CCI clock settings
Optional properties:
- qcom,hw-thigh : should contain high period of the SCL clock in terms of CCI clock cycle 应包含SCL时钟的高电平期间,就cci时钟周期而言
- qcom,hw-tlow : should contain high period of the SCL clock in terms of CCI clock cycle 应包含SCL时钟的低电平期间,就cci时钟周期而言
- qcom,hw-tsu-sto : should contain setup time for STOP condition 应包含stop情况的设置时间
- qcom,hw-tsu-sta : should contain setup time for Repeated START condition 应包含 repeat start情况的设置时间
- qcom,hw-thd-dat : should contain hold time for the data数据保持时间
- qcom,hw-thd-sta : should contain hold time for START condition start情况的保持时间
- qcom,hw-tbuf : should contain free time between a STOP and a START condition stop和start情况的自由时间
- qcom,hw-scl-stretch-en : should contain enable or disable clock stretching 启用或禁用时钟延长
- qcom,hw-trdhld : should contain internal hold time for SDA 应包含内部保持时间SDA
- qcom,hw-tsp : should contain filtering of glitches包含毛刺滤波
* Qualcomm MSM Sensor
MSM sensor node contains properties of camera sensor MSM传感器节点包含相机传感器的性能
Required properties:
- compatible : should be manufacturer name followed by sensor name制造商 传感器名字
- "qcom,s5k3l1yx"
- "sne,imx134"
- "qcom,imx135"
- "shinetech,gc0339"
- "shinetech,hi256"
- "shinetech,s5k4e1"
- reg : should contain i2c slave address of the device 包含i2c从设备地址
- qcom,slave-id : should contain i2c slave address, device id address and expected id read value 应包含I2C从地址,设备ID的地址和预期ID读值
- qcom,csiphy-sd-index : should contain csiphy instance that will used to receive sensor data 应包含将用于接收传感器数据csiphy实例
- 0, 1, 2
- qcom,csid-sd-index :should contain csid core instance that will used to receive sensor data 应包含将用于接收传感器数据CSID核心实例
- 0, 1, 2, 3
- qcom,sensor-name : should contain unique sensor name to differentiate from other sensor 第一无二的传感器名字
- "s5k3l1yx"
- cam_vdig-supply : should contain regulator from which digital voltage is supplied 应包含稳定的电压来自某个被供应的数字电压
- cam_vana-supply : should contain regulator from which analog voltage is supplied 模拟电压
- cam_vio-supply : should contain regulator from which IO voltage is supplied IO电压
- qcom,cam-vreg-name : should contain names of all regulators needed by this sensor 所有传感器需要的所有稳压调节器的名字
- "cam_vdig", "cam_vana", "cam_vio", "cam_vaf"
- qcom,cam-vreg-type : should contain regulator type for regulators mentioned in qcom,cam-vreg-name property (in the same order)调节器的类型
- 0 for LDO and 1 for LVS ldo lvs稳压器
- qcom,cam-vreg-min-voltage : should contain minimum voltage level for regulators mentioned in qcom,cam-vreg-name property (in the same order) 最小的电压水平
- qcom,cam-vreg-max-voltage : should contain maximum voltage level for regulators mentioned in qcom,cam-vreg-name property (in the same order) 最大电压水平
- qcom,cam-vreg-op-mode : should contain optimum voltage level for regulators mentioned in qcom,cam-vreg-name property (in the same order)
稳压器最佳电压水平
- qcom,sensor-mode : should contain sensor mode supported 支持传感器模式
- 0 -> back camera 2D 后置2D
- 1 -> front camera 2D 前置2D
- 2 -> back camera 3D 后置3D
- 3 -> back camera int 3D 后置INT3D
- qcom,sensor-type : should contain format of data that sensor streams 传感器流数据格式
- 0 -> bayer format 拜耳
- 1 -> yuv format yuv
Optional properties:
- qcom,is-vpe : should be enabled if VPE module is required for post processing of this sensor 如果VPE模块被传感器的后置处理请求,则启用
- 1 if required, 0 otherwise
- qcom,mount-angle : should contain the physical mount angle of the sensor on the target 应包含在目标上的传感器的物理安装角度
- 0, 90, 180, 360
- qcom,gpio-no-mux : should contain field to indicate whether gpio mux table is available 应包含字段表明GPIO MUX表是否可用
- 1 if gpio mux is not available, 0 otherwise
- cam_vaf-supply : should contain regulator from which AF voltage is supplied 应包含稳压器从哪个AF电压提供
- gpios : should contain phandle to gpio controller node and array of 应包含pHandle中到GPIO控制器节点和阵列
#gpio-cells specifying specific gpio (controller specific)
- qcom,gpio-reset : should contain index to gpio used by sensors reset_n 应包含指数GPIO使用的传感器RESET_N,第几个gpio
- qcom,gpio-standby : should contain index to gpio used by sensors standby_n 指数 使能
- qcom,gpio-vio : should contain index to gpio used by sensors io vreg enable 指数 IO口
- qcom,gpio-vana : should contain index to gpio used by sensors analog vreg enable 指数 模拟电压
- qcom,gpio-vdig : should contain index to gpio used by sensors digital vreg enable 指数 数字电压
- qcom,gpio-vaf : should contain index to gpio used by sensors af vreg enable 指数 聚焦电压
- qcom,gpio-af-pwdm : should contain index to gpio used by sensors af pwdm_n 指数 聚焦使能
- qcom,gpio-req-tbl-num : should contain index to gpios specific to this sensor
- qcom,gpio-req-tbl-flags : should contain direction of gpios present in qcom,gpio-req-tbl-num property (in the same order)应包含的GPIO现在的方向
- qcom,gpio-req-tbl-label : should contain name of gpios present in qcom,gpio-req-tbl-num property (in the same order) gpio名字标签
- qcom,gpio-set-tbl-num: should contain index of gpios that need to be configured by msm 应包含需要通过MSM进行配置的GPIO指数
- qcom,gpio-set-tbl-flags : should contain value to be configured for the gpios present in qcom,gpio-set-tbl-num property (in the same order) 应包含数值为的GPIO本要配置
- qcom,gpio-set-tbl-delay : should contain amount of delay after configuring gpios as specified in gpio_set_tbl_flags property (in the same order)
应包含指定配置的GPIO后延迟量
- qcom,csi-lane-assign : should contain lane assignment value to map CSIPHY lanes to CSID lanes 应包含通道道分配值去映射CSIPHY通道到CSID通道
- 0x4320
- qcom,csi-lane-mask : should contain lane mask that specifies CSIPHY lanes to be enabled 应包含通道掩码指定的CSIPHY通道被使能
- qcom,csi-phy-sel : should contain CSIPHY core instance from which CSID should receive data 应包含哪些CSID应该接收数据CSIPHY核心实例
- qcom,actuator-cam-name : should contain actuator cam name associated with this sensor 应该包含与该传感器相适配的马达
- If actuator does not exist, this property should not be initialized 马达不存在,属性不能初始化
- If actuator exist, this field should indicate the index of actuator to be used 存在,这个域将显示马达被使用的指数
- qcom,actuator-vcm-pwd : should contain the gpio pin of vcm power to be enabled for actuator 包含VCM电源的GPIO引脚启用马达,电源使能
- qcom,actuator-vcm-enable : should contain value to be set for actuator vcm gpio 马达的vcm gpio 值被设置,
- qcom,sensor-position : should contain the mount angle of the camera sensor 应包含相机传感器的安装角度
- 0 -> back camera 后置
- 1 -> front camera 前置
- qcom,cci-master : should contain i2c master id to be used for this camera sensor 包含被使用的相机传感器的i2c主机id
- 0 -> MASTER 0
- 1 -> MASTER 1
- qcom,actuator-src : if auto focus is supported by this sensor, this property should contain phandle of respective actuator node
如果自动对焦支持该传感器,该属性应包含相应调节器节点的pHandle中
- qcom,led-flash-src : if LED flash is supported by this sensor, this property should contain phandle of respective LED flash node
如果LED闪光灯支持该传感器,该属性应包含相应的LED闪光灯节点pHandle中
- qcom,vdd-cx-supply : should contain regulator from which cx voltage is supplied 应包含稳压器从其中CX电压提供
- qcom,vdd-cx-name : should contain names of cx regulator 应包含CX稳压器的名字
* Qualcomm MSM ACTUATOR
Required properties:
- cell-index : should contain unique identifier to differentiate between multiple actuators 应包含唯一标识符的多个驱动器区分
- reg : should contain i2c slave address of the actuator and length of data field which is 0x0 应包含驱动器i2c的从地址和数据字段的长度为0x0
- compatible :
- "qcom,actuator"
- qcom,cci-master : should contain i2c master id to be used for this camera sensor 包含被摄像机传感器使用的i2c主机id
- 0 -> MASTER 0
- 1 -> MASTER 1
Example:
qcom,cci@0xfda0c000 {
cell-index = <0>;
compatible = "qcom,cci";
reg = <0xfda0c000 0x300>;
reg-names = "cci";
interrupts = <0 50 0>;
interrupt-names = "cci";
gpios = <&msmgpio 19 0>,
<&msmgpio 20 0>,
<&msmgpio 21 0>,
<&msmgpio 22 0>;
qcom,gpio-tbl-num = <0 1 2 3>;
qcom,gpio-tbl-flags = <1 1 1 1>;
qcom,gpio-tbl-label = "CCI_I2C_DATA0",
"CCI_I2C_CLK0",
"CCI_I2C_DATA1",
"CCI_I2C_CLK1";
master0: qcom,cci-master0 {
status = "disabled";
};
master1: qcom,cci-master1 {
status = "disabled";
};
actuator0: qcom,actuator@18 {
cell-index = <0>;
reg = <0x18>;
compatible = "qcom,actuator";
qcom,cci-master = <0>;
};
qcom,s5k3l1yx@6e {
compatible = "qcom,s5k3l1yx";
reg = <0x6e>;
qcom,slave-id = <0x6e 0x0 0x3121>;
qcom,csiphy-sd-index = <2>;
qcom,csid-sd-index = <0>;
qcom,actuator-src = <&actuator0>;
qcom,led-flash-src = <&led_flash0>;
qcom,mount-angle = <90>;
qcom,sensor-name = "s5k3l1yx";
qcom,vdd-cx-supply = <&pm8841_s2>;
qcom,vdd-cx-name = "qcom,vdd-cx";
cam_vdig-supply = <&pm8941_l3>;
cam_vana-supply = <&pm8941_l17>;
cam_vio-supply = <&pm8941_lvs3>;
cam_vaf-supply = <&pm8941_l23>;
qcom,cam-vreg-name = "cam_vdig", "cam_vana", "cam_vio", "cam_vaf";
qcom,cam-vreg-type = <0 0 1 0>;
qcom,cam-vreg-min-voltage = <1225000 2850000 0 3000000>;
qcom,cam-vreg-max-voltage = <1225000 2850000 0 3000000>;
qcom,cam-vreg-op-mode = <105000 80000 0 100000>;
qcom,gpio-no-mux = <0>;
gpios = <&msmgpio 15 0>,
<&msmgpio 90 0>,
<&msmgpio 89 0>;
qcom,gpio-reset = <1>;
qcom,gpio-standby = <2>;
qcom,gpio-req-tbl-num = <0 1 2>;
qcom,gpio-req-tbl-flags = <1 0 0>;
qcom,gpio-req-tbl-label = "CAMIF_MCLK",
"CAM_RESET1",
"CAM_STANDBY";
qcom,gpio-set-tbl-num = <1 1>;
qcom,gpio-set-tbl-flags = <0 2>;
qcom,gpio-set-tbl-delay = <1000 4000>;
qcom,csi-lane-assign = <0x4320>;
qcom,csi-lane-mask = <0x1F>;
qcom,csi-phy-sel = <0>;
qcom,sensor-position = <0>;
qcom,sensor-mode = <1>;
};
};
&master0 {
qcom,hw-thigh = <78>;
qcom,hw-tlow = <114>;
qcom,hw-tsu-sto = <28>;
qcom,hw-tsu-sta = <28>;
qcom,hw-thd-dat = <10>;
qcom,hw-thd-sta = <77>;
qcom,hw-tbuf = <118>;
qcom,hw-scl-stretch-en = <0>;
qcom,hw-trdhld = <6>;
qcom,hw-tsp = <1>;
status = "ok";
};
&master1 {
qcom,hw-thigh = <78>;
qcom,hw-tlow = <114>;
qcom,hw-tsu-sto = <28>;
qcom,hw-tsu-sta = <28>;
qcom,hw-thd-dat = <10>;
qcom,hw-thd-sta = <77>;
qcom,hw-tbuf = <118>;
qcom,hw-scl-stretch-en = <0>;
qcom,hw-trdhld = <6>;
qcom,hw-tsp = <1>;
status = "ok";
};
4、 Qualcomm MSM CPP
Required properties:
- cell-index: cpp hardware core index
- compatible :
- "qcom,cpp"
- reg : offset and length of the register set for the device for the cpp operating in compatible mode.
- reg-names : should specify relevant names to each reg property defined.
- cpp - has CPP MICRO register set.
- cpp_vbif - has VBIF core register set used by CPP.
- cpp_hw - has CPP hardware register set.
- interrupts : should contain the cpp interrupt.
- interrupt-names : should specify relevant names to each interrupts property defined.
- vdd-supply: phandle to GDSC regulator controlling VFE & CPP core.
Example:
qcom,cpp@0xfda04000 {
cell-index = <0>;
compatible = "qcom,cpp";
reg = <0xfda04000 0x100>;
<0xfda40000 0x200>;
<0xfd180000 0x008>;
reg-names = "cpp", "cpp_vbif", "cpp_hw";
interrupts = <0 49 0>;
interrupt-names = "cpp";
vdd-supply = <&gdsc_vfe>;
};
5、Qualcomm MSM CSID
Required properties:
- cell-index: csid hardware core index csid硬件核心指数
- compatible :
- "qcom,csid"
- reg : offset and length of the register set for the device for the csid operating in compatible mode.
- reg-names : should specify relevant names to each reg property defined. csid寄存器名字
- interrupts : should contain the csid interrupt. csid中断
- interrupt-names : should specify relevant names to each interrupts property defined. 中断名字
- qcom,csi-vdd-voltage : should specify voltage level for mipi csi in uV. 移动处理接口(mipi)csi的指定电压
- qcom,mipi-csi-vdd-supply : should contain regulator to be used for this csid core 被csid瓷片使用的调节器
Example:
qcom,csid@fda08000 {
cell-index = <0>;
compatible = "qcom,csid";
reg = <0xfda08000 0x200>;
reg-names = "csid";
interrupts = <0 51 0>;
interrupt-names = "csiphy";
qcom,csi-vdd-voltage = <1800000>;
qcom,mipi-csi-vdd-supply = <&pm8941_l12>;
};
6、 Qualcomm MSM CSI Phy
Required properties:
- cell-index: csi phy hardware core index csi phy 硬件芯片指数
- compatible :
- "qcom,csiphy"
- reg : offset and length of the register set for the device 寄存器的偏移及其长度
for the csiphy operating in compatible mode.
- reg-names : should specify relevant names to each reg property defined. 寄存器名字
- interrupts : should contain the csiphy interrupt. csiphy中断号
- interrupt-names : should specify relevant names to each interrupts 中断名字
property defined.
Example:
qcom,csiphy@fda0ac00 {
cell-index = <0>;
compatible = "qcom,csiphy";
reg = <0xfda0ac00 0x200>;
reg-names = "csiphy";
interrupts = <0 78 0>;
interrupt-names = "csiphy";
};
7、
* Qualcomm MSM EEPROM
EEPROM is an one time programmed(OTP) device that stores the calibration data EEPROM是一次性可编程设备,存储camera使用的校准数据。
use for camera sensor. It may either be integrated in the sensor module or in 它可以被整合在传感器模块或在传感器本身中。
the sensor itself. As a result, the power, clock and GPIOs may be the same as 因此,电源,时钟,gpio可能与相机传感器相同。
the camera sensor. The following describes the page block map, power supply, 下面描述的是在eeprom 设备上序列属性的页快映射,电源供
clock, GPIO and power on sequence properties of the EEPROM device. 应,时钟,gpio,电
Required properties:
- cell-index: eeprom hardware core index eeprom硬件核心指数
- compatible :
- "qcom,eeprom"
- reg : offset of eeprom device registers. eeprom设备偏移
- qcom,eeprom-name : should specify relevant names of the eeprom module epprom名字
library.
- qcom,slave-addr : should specify the slave address of the eeprom. eeprom从地址
- qcom,cci-master : should specify the cci core index that eeprom use. 指定eeprom使用的cci芯片指数
- qcom,num-blocks :should specify the total block number that eeprom contains, 指定epprom包含的总块数,每块包含的页轮训和内存
every block should contains page poll and mem.
- qcom,page%d : number %d page size, start address, address type, data, 第几块页的字节,开始地址,地址类型,数据,数据类型,延时
data type, delay in ms. size 0 stand for non-paged.
- address type : 1 byte, 2 word.
- data type : 1 byte, 2 word.
- qcom,poll%d : number %d poll size, poll reg address, address type, data,
data type, delay in ms. size 0 stand for not used.
- address type : 1 byte, 2 word.
- data type : 1 byte, 2 word.
- qcom,mem%d : number %d memory size, start address, address type, data,
data type, delay in ms. size 0 stand for not used.
- address type : 1 byte, 2 word.
- data type : 1 byte, 2 word.
- cam_vio-supply : should contain regulator to be used for the IO vdd. io电压调节器
- qcom,cam-vreg-name : should specify the regulator name to be used for 调机器名字
this eeprom.
- qcom,cam-vreg-type : should specify the regulator type to be used for 调节器类型
this eeprom.
- qcom,cam-vreg-min-voltage : should specify minimum voltage level 调节器最小电压
for eeprom in uV.
- qcom,cam-vreg-max-voltage : should specify maximum voltage level 调节器最大电压
for eeprom in uV.
- qcom,cam-vreg-op-mode : should specify current level for eeprom in uA. 指定当前电压
- qcom,gpio-no-mux : should specify the gpio mux type. 指定gpio mux类型
- gpios : should specify the gpios to be used for the eeprom. 使用的gpio
- qcom,gpio-reset : should specify the reset gpio index. 复位gpio引脚
- qcom,gpio-standby : should specify the standby gpio index. 使能
- qcom,gpio-req-tbl-num : should specify the gpio table index. gpio表指数
- qcom,gpio-req-tbl-flags : should specify the gpio functions. gpio功能
- qcom,gpio-req-tbl-label : should specify the gpio labels. gpio标签
- qcom,cam-power-seq-type : should specify the power on sequence types. 序列中指定电源
- qcom,cam-power-seq-val : should specify the power on sequence values. 序列值中指电源值
- qcom,cam-power-seq-cfg-val : should specify the power on sequence config 在序列配置表中指定电源
values.
- qcom,cam-power-seq-delay : should specify the power on sequence delay 延时序列种指定电源。
time in ms.
Optional properties:
- qcom,pageen%d : number %d page enable reg size, start address, address type,
data, data type, delay in ms. size 0 stand for not used.
- cam_vdig-supply : should contain regulator to be used for the digital vdd.
Example:
eeprom0: qcom,eeprom@60 {
cell-index = <0>;
reg = <0x60 0x0>;
qcom,eeprom-name = "msm_eeprom";
compatible = "qcom,eeprom";
qcom,slave-addr = <0x60>;
qcom,cci-master = <0>;
qcom,num-blocks = <2>;
qcom,page0 = <1 0x0100 2 0x01 1 1>;
qcom,poll0 = <0 0x0 2 0 1 1>;
qcom,mem0 = <0 0x0 2 0 1 0>;
qcom,page1 = <1 0x0200 2 0x8 1 1>;
qcom,pageen1 = <1 0x0202 2 0x01 1 10>;
qcom,poll1 = <0 0x0 2 0 1 1>;
qcom,mem1 = <32 0x3000 2 0 1 0>;
cam_vdig-supply = <&pm8226_l5>;
cam_vio-supply = <&pm8226_lvs1>;
qcom,cam-vreg-name = "cam_vdig", "cam_vio";
qcom,cam-vreg-type = <0 1>;
qcom,cam-vreg-min-voltage = <1200000 0>;
qcom,cam-vreg-max-voltage = <1200000 0>;
qcom,cam-vreg-op-mode = <200000 0>;
qcom,gpio-no-mux = <0>;
gpios = <&msmgpio 26 0>,
<&msmgpio 37 0>,
<&msmgpio 36 0>;
qcom,gpio-reset = <1>;
qcom,gpio-standby = <2>;
qcom,gpio-req-tbl-num = <0 1 2>;
qcom,gpio-req-tbl-flags = <1 0 0>;
qcom,gpio-req-tbl-label = "CAMIF_MCLK",
"CAM_RESET1",
"CAM_STANDBY";
qcom,cam-power-seq-type = "sensor_vreg",
"sensor_vreg", "sensor_clk",
"sensor_gpio", "sensor_gpio";
qcom,cam-power-seq-val = "cam_vdig",
"cam_vio", "sensor_cam_mclk",
"sensor_gpio_reset",
"sensor_gpio_standby";
qcom,cam-power-seq-cfg-val = <1 1 24000000 1 1>;
qcom,cam-power-seq-delay = <1 1 5 5 10>;
};
8、
* Qualcomm MSM IRQ Router
Required properties:
- cell-index: irq router hardware core index IRQ路由器的硬件核心指标
- compatible :
- "qcom,irqrouter"
- reg : offset and length of the register set for the device
for the irqrouter operating in compatible mode.
- reg-names : should specify relevant names to each reg property defined.
Example:
qcom,irqrouter@0xfda0c000 {
cell-index = <0>;
compatible = "qcom,irqrouter";
reg = <0xfda00000 0x100>;
reg-names = "irqrouter";
};
9、
* Qualcomm MSM ISPIF
Required properties:
- cell-index: ispif hardware core index
- compatible :
- "qcom,ispif"
- "qcom,ispif-v3.0"
- reg : offset and length of the register set for the device
for the ispif operating in compatible mode.
- reg-names : should specify relevant names to each reg property defined.
- interrupts : should contain the ispif interrupt.
- interrupt-names : should specify relevant names to each interrupts
property defined.
Optional properties:
- qcom,num-isps: The number of ISPs the ISPIF module is connected to. If not set
the default value used is 1
Example:
qcom,ispif@fda0a000 {
cell-index = <0>;
compatible = "qcom,ispif";
reg = <0xfda0a000 0x300>;
reg-names = "ispif";
interrupts = <0 55 0>;
interrupt-names = "ispif";
};
or
qcom,ispif@fda0a000 {
cell-index = <0>;
compatible = "qcom,ispif-v3.0", "qcom,ispif";
reg = <0xfda0a000 0x300>;
reg-names = "ispif";
interrupts = <0 55 0>;
interrupt-names = "ispif";
qcom,num-isps = <2>
};
10、
* Qualcomm MSM JPEG
Required properties:
- cell-index: jpeg hardware core index
- compatible :
- "qcom,jpeg"
- reg : offset and length of the register set for the device JPEG操作寄存器偏移及其长度
for the jpeg operating in compatible mode.
- reg-names : should specify relevant names to each reg property defined.
- interrupts : should contain the jpeg interrupt. jpeg中断
- interrupt-names : should specify relevant names to each interrupts
property defined.
- vdd-supply: phandle to GDSC regulator controlling JPEG core.
Example:
qcom,jpeg@0xfda20000 {
cell-index = <0>;
compatible = "qcom,jpeg";
reg = <0xfda20000 0x400>;
reg-names = "jpeg";
interrupts = <0 60 0>;
interrupt-names = "jpeg";
vdd-supply = <&gdsc_jpeg>;
};
11、
* Qualcomm MSM VFE
Required properties:
- cell-index: vfe hardware core index
- compatible :
- "qcom,vfe"
- "qcom,vfe40"
- reg : offset and length of the register set for the device
for the vfe operating in compatible mode.
- reg-names :should specify relevant names to each reg property defined.
- "vfe" - Required.
- "vfe_vbif" - Optional for "vfe32". Required for "vfe40".
- "tcsr" - Optional for "vfe32". Required for "vfe40".
- interrupts : should contain the vfe interrupt.
- interrupt-names : should specify relevant names to each interrupts
property defined.
- "vfe" - Required.
- vdd-supply: phandle to GDSC regulator controlling VFE core.
Example:
qcom,vfe@0xfda10000 {
cell-index = <0>;
compatible = "qcom,vfe";
reg = <0xfda10000 0x1000>;
reg-names = "vfe";
interrupts = <0 58 0>;
interrupt-names = "vfe";
vdd-supply = <&gdsc_vfe>;
};
10、
* Qualcomm MSM VIDC
Required properties:
- compatible : one of:
- "qcom,msm-vidc"
- qcom,hfi : supported Host-Firmware Interface, one of:
- "venus"
- "q6"
- qcom,max-hw-load: The maximum load the hardware can support expressed in units
of macroblocks per second.
Optional properties:
- reg : offset and length of the register set for the device.
- interrupts : should contain the vidc interrupt.
- vdd-supply : regulator to supply venus.
- qcom,vidc-cp-map : start and size of device virtual address range for
secure buffers. Video hardware uses this address range to identify if
the buffers are secure or non-secure.
- qcom,vidc-ns-map : start and size of device virtual address range for
non-secure buffers. Video hardware uses this address range to identify
if the buffers are secure or non-secure.
- qcom,load-freq-tbl : load (in macroblocks/sec) and corresponding vcodec
clock required for optimal performance in descending order.
- qcom,reg-presets : list of offset-value pairs for registers to be written.
The offsets are from the base offset specified in 'reg'. This is mainly
used for QoS, vbif, etc. presets for video.
- qcom,bus-ports : number of bus ports supported by venus to access
ddr/ocmem.
- qcom,enc-ocmem-ab-ib : list of bus vectors (ab, ib pair) for ocmem
bandwidth request by different video encoder usecases.
- qcom,dec-ocmem-ab-ib : list of bus vectors(ab, ib pair) for ocmem
bandwidth request by different video decoder usecases.
- qcom,enc-ddr-ab-ib : list of bus vectors(ab,ib pair) for ddr bandwidth
request by different video encoder usecases.
- qcom,dec-ddr-ab-ib : list of bus vectors(ab, ib pair) for ddr bandwidth
request by different video decoder usecases.
- qcom,buffer-type-tz-usage-table : a key-value pair, mapping a buffer type
(enum hal_buffer) to its corresponding TZ usage. The TZ usages are defined
as "enum cp_mem_usage" in include/linux/msm_ion.h
- qcom,has-ocmem: indicate the target has ocmem if this property exists
- qcom,vidc-iommu-domains: node containing individual domain nodes, each with:
- a unique domain name for the domain node (e.g vidc,domain-ns)
- qcom,vidc-domain-phandle: phandle for the domain as defined in
<target>-iommu-domains.dtsi (e.g msm8974-v1-iommu-domains.dtsi)
- qcom,vidc-partition-buffer-types: bitmap of buffer types that can
be mapped into each IOMMU domain partition. There must be exactly
one buffer bitmap per partition in the domain, with order of the
bitmaps to be the same as the order of the respective partitions.
- Buffer types are defined as the following:
input = 0x1
output = 0x2
output2 = 0x4
extradata input = 0x8
extradata output = 0x10
extradata output2 = 0x20
internal scratch = 0x40
internal scratch1 = 0x80
internal scratch2 = 0x100
internal persist = 0x200
internal persist1 = 0x400
internal cmd queue = 0x800
Example:
qcom,vidc@fdc00000 {
compatible = "qcom,msm-vidc";
reg = <0xfdc00000 0xff000>;
interrupts = <0 44 0>;
vdd-supply = <&gdsc_venus>;
qcom,vidc-cp-map = <0x1000000 0x40000000>;
qcom,vidc-ns-map = <0x40000000 0x40000000>;
qcom,load-freq-tbl = <979200 410000000>,
<560145 266670000>,
<421161 200000000>,
<243000 133330000>,
<108000 100000000>,
<36000 50000000>;
qcom,has-ocmem;
qcom,hfi = "venus";
qcom,reg-presets = <0x80004 0x1>,
<0x80178 0x00001FFF>;
qcom,bus-ports = <1>;
qcom,enc-ocmem-ab-ib = <0 0>,
<138200 1222000>;
qcom,dec-ocmem-ab-ib = <0 0>,
<176900 1556640>;
qcom,enc-ddr-ab-ib = <0 0>,
<60000 664950>;
qcom,dec-ddr-ab-ib = <0 0>,
<110000 909000>;
qcom,buffer-type-tz-usage-table = <0x1 0x1>,
<0x1fe 0x2>;
qcom,max-hw-load = <1224450>; /* 4k @ 30 + 1080p @ 30*/
qcom,vidc-iommu-domains {
qcom,domain-ns {
qcom,vidc-domain-phandle = <&venus_domain_ns>;
qcom,vidc-partition-buffer-types = <0x7ff>,
<0x800>;
};
qcom,domain-cp {
qcom,vidc-domain-phandle = <&venus_domain_cp>;
qcom,vidc-partition-buffer-types = <0x6>,
<0x7c1>;
};
};
};
11、
* Qualcomm MSM Wifi Display (WFD)
Required properties:
- compatible :
- "qcom,msm-wfd"
Example:
qcom,wfd {
compatible = "qcom,msm-wfd";
};
12、
OmniVision Image Sensor Device Tree Bindings.
Boards with the OmniVision Image Sensor shall have the following properties:
Required root node properties:
- compatible: - "ovti,ov8865" : OmniVision OV8865 8 megapixel Image Sensor.
- "ovti,ov5648" : OmniVision OV5648 5 megapixel Image Sensor.