| * 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) |
| |
| Optional properties: |
| - master0: qcom,cci-master0 - node should contain clock settings for |
| cci master 0 bus |
| - master1: qcom,cci-master1 - node should contain clock settings for |
| cci master 1 bus |
| |
| [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 |
| - 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 |
| |
| * Qualcomm MSM Sensor |
| |
| MSM sensor node contains properties of camera sensor |
| |
| Required properties: |
| - compatible : should be manufacturer name followed by sensor name |
| - "qcom,s5k3l1yx" |
| - "shinetech,gc0339" |
| - "shinetech,hi256" |
| - "shinetech,s5k4e1" |
| - 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-vio : should contain index to gpio used by sensors io vreg enable |
| - 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) |
| - 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"; |
| 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"; |
| }; |