* Qualcomm MSM CCI [First level nodes] Required properties: - cell-index: cci hardware core index - compatible : - "qcom,cci" - reg : offset and length of the register set for the device for the cci operating in compatible mode. - reg-names : should specify relevant names to each reg property defined. - interrupts : should contain the cci interrupt. - interrupt-names : should specify relevant names to each interrupts property defined. - gpios : should contain phandle to gpio controller node and array of #gpio-cells specifying specific gpio (controller specific) - 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) - qcom,gpio-req-tbl-label : should contain name of gpios present in qcom,gpio-req-tbl-num property (in the same order) - qcom,hw-thigh : should contain high period of the SCL clock in terms of CCI clock cycle - qcom,hw-tlow : should contain high period of the SCL clock in terms of CCI clock cycle - qcom,hw-tsu-sto : should contain setup time for STOP condition - qcom,hw-tsu-sta : should contain setup time for Repeated START condition - qcom,hw-thd-dat : should contain hold time for the data - qcom,hw-thd-sta : should contain hold time for START condition - qcom,hw-tbuf : should contain free time between a STOP and a START condition - qcom,hw-scl-stretch-en : should contain enable or disable clock stretching - qcom,hw-trdhld : should contain internal hold time for SDA - qcom,hw-tsp : should contain filtering of glitches [Second level nodes] * Qualcomm MSM Sensor MSM sensor node contains properties of camera sensor Required properties: - compatible : should be "qcom" followed by sensor name - "qcom,s5k3l1yx" - reg : should contain i2c slave address of the device - qcom,slave-id : should contain i2c slave address, device id address and expected id read value - qcom,csiphy-sd-index : should contain csiphy instance that will used to receive sensor data - 0, 1, 2 - qcom,csid-sd-index : should contain csid core instance that will used to receive sensor data - 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 - 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 - 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 - 1 -> front camera 2D - 2 -> back camera 3D - 3 -> back camera int 3D - qcom,sensor-type : should contain format of data that sensor streams - 0 -> bayer format - 1 -> yuv format Optional properties: - qcom,is-vpe : should be enabled if VPE module is required for post processing of this sensor - 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 - 1 if gpio mux is not available, 0 otherwise - cam_vaf-supply : should contain regulator from which AF voltage is supplied - gpios : should contain phandle to gpio controller node and array of #gpio-cells specifying specific gpio (controller specific) - qcom,gpio-reset : should contain index to gpio used by sensors reset_n - qcom,gpio-standby : should contain index to gpio used by sensors standby_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) - qcom,gpio-req-tbl-label : should contain name of gpios present in qcom,gpio-req-tbl-num property (in the same order) - qcom,gpio-set-tbl-num : should contain index of gpios that need to be configured by msm - 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) - 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) - qcom,csi-lane-assign : should contain lane assignment value to map CSIPHY lanes to CSID lanes - 0x4320 - qcom,csi-lane-mask : should contain lane mask that specifies CSIPHY lanes to be enabled - qcom,csi-phy-sel : should contain CSIPHY core instance from which CSID should receive data - 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 - qcom,actuator-vcm-enable : should contain value to be set for actuator 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 - 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 - qcom,led-flash-src : if LED flash is supported by this sensor, this property should contain phandle of respective LED flash node - qcom,vdd-cx-supply : should contain regulator from which cx voltage is supplied - qcom,vdd-cx-name : should contain names of cx regulator * 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 - compatible : - "qcom,actuator" - qcom,cci-master : should contain i2c master id to be used for this camera sensor - 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"; 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>; 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>; }; };