Loading Documentation/devicetree/bindings/media/video/msm-cam-cci.txt 0 → 100644 +363 −0 Original line number Diff line number Diff line * Qualcomm Technologies, Inc. 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) - clock-names: name of the clocks required for the device - clock-rates: clock rate in Hz Optional properties: - qcom,cam-vreg-name : name of the voltage regulators required for the device. - gdscr-supply : should contain gdsr regulator used for cci clocks. - mmagic-supply : should contain mmagic regulator used for mmagic clocks. - I2c speed settings (*) - i2c_freq_100Khz: qcom,i2c_standard_mode - node should contain clock settings for 100Khz - i2c_freq_400Khz: qcom,i2c_fast_mode - node should contain clock settings for 400Khz - i2c_freq_custom: qcom,i2c_custom_mode - node can contain clock settings for frequencies other than 100Khz and 400Khz which is specific to usecase. Currently it has settings for 375Khz. - i2c_freq_1Mhz: qcom,i2c_fast_plus_mode - node should contain clock settings for 1Mhz * if speed settings is not defined the low level driver can use "i2c_freq_custom" like default [Second level nodes] * Qualcomm Technologies, Inc. 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 Technologies, Inc. MSM Sensor MSM sensor node contains properties of camera sensor Required properties: - compatible : should be manufacturer name followed by sensor name - "qcom,camera" - reg : should contain i2c slave address of the device - qcom,csiphy-sd-index : should contain csiphy instance that will used to receive sensor data - 0, 1, 2 - 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-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-position-roll : should contain sensor rotational angle with respect to axis of reference - 0, 90, 180, 360 - qcom,sensor-position-pitch : should contain sensor rotational angle with respect to axis of reference - 0, 90, 180, 360 - qcom,sensor-position-yaw : should contain sensor rotational angle with respect to axis of reference - 0, 90, 180, 360 Optional properties: - qcom,slave-id : should contain i2c slave address, device id address, expected id read value and device id mask - qcom,sensor-name : should contain unique sensor name to differentiate from other sensor - "s5k3l1yx" - 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 - qcom,secure : should be enabled to operate the camera in secure mode - 0, 1 - 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-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 - qcom,eeprom-src : if eeprom memory is supported by this sensor, this property should contain phandle of respective eeprom nodes - qcom,ois-src : if optical image stabilization is supported by this sensor, this property should contain phandle of respective ois node - qcom,ir-led-src : if ir led is supported by this sensor, this property should contain phandle of respective ir-led node - qcom,ir-cut-src : if ir cut is supported by this sensor, this property should contain phandle of respective ir-cut node - qcom,special-support-sensors: if only some special sensors are supported on this board, add sensor name in this property. * Qualcomm Technologies, Inc. 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 Optional properties: - qcom,cam-vreg-name : should contain names of all regulators needed by this actuator - "cam_vaf" - qcom,cam-vreg-min-voltage : should contain minimum voltage level in mcrovolts for regulators mentioned in qcom,cam-vreg-name property (in the same order) - qcom,cam-vreg-max-voltage : should contain maximum voltage level in mcrovolts for regulators mentioned in qcom,cam-vreg-name property (in the same order) - qcom,cam-vreg-op-mode : should contain the maximum current in microamps required from the regulators mentioned in the qcom,cam-vreg-name property (in the same order). - cam_vaf-supply : should contain regulator from which AF voltage is supplied * Qualcomm Technologies, Inc. MSM OIS Required properties: - cell-index : should contain unique identifier to differentiate between multiple ois drivers - reg : should contain i2c slave address of the ois and length of data field which is 0x0 - compatible : - "qcom,ois" - qcom,cci-master : should contain i2c master id to be used for this camera sensor - 0 -> MASTER 0 - 1 -> MASTER 1 Optional properties: - qcom,cam-vreg-name : should contain names of all regulators needed by this ois - "cam_vaf" - qcom,cam-vreg-min-voltage : should contain minimum voltage level in mcrovolts for regulators mentioned in qcom,cam-vreg-name property (in the same order) - qcom,cam-vreg-max-voltage : should contain maximum voltage level in mcrovolts for regulators mentioned in qcom,cam-vreg-name property (in the same order) - qcom,cam-vreg-op-mode : should contain the maximum current in microamps required from the regulators mentioned in the qcom,cam-vreg-name property (in the same order). - cam_vaf-supply : should contain regulator from which ois voltage is supplied Example: led_flash0: qcom,camera-flash@0 { cell-index = <0>; compatible = "qcom,camera-flash"; qcom,flash-source = <&pmi8994_flash0 &pmi8994_flash1>; qcom,torch-source = <&pmi8998_torch0 &pmi8998_torch1>; qcom,switch-source = <&pmi8998_switch>; status = "ok"; } qcom,cci@0xfda0c000 { cell-index = <0>; compatible = "qcom,cci"; reg = <0xfda0c000 0x300>; reg-names = "cci"; interrupts = <0 50 0>; interrupt-names = "cci"; clock-names = "camnoc_axi_clk", "soc_ahb_clk", "slow_ahb_src_clk", "cpas_ahb_clk", "cci_clk", "cci_clk_src"; qcom,clock-rates = <0 0 80000000 0 0 37500000>; gpios = <&tlmm 17 0>, <&tlmm 18 0>, <&tlmm 19 0>, <&tlmm 20 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"; i2c_freq_100Khz: qcom,i2c_standard_mode { 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"; }; i2c_freq_400Khz: qcom,i2c_fast_mode { qcom,hw-thigh = <20>; qcom,hw-tlow = <28>; qcom,hw-tsu-sto = <21>; qcom,hw-tsu-sta = <21>; qcom,hw-thd-dat = <13>; qcom,hw-thd-sta = <18>; qcom,hw-tbuf = <25>; qcom,hw-scl-stretch-en = <0>; qcom,hw-trdhld = <6>; qcom,hw-tsp = <3>; status = "ok"; }; i2c_freq_custom: qcom,i2c_custom_mode { qcom,hw-thigh = <15>; qcom,hw-tlow = <28>; qcom,hw-tsu-sto = <21>; qcom,hw-tsu-sta = <21>; qcom,hw-thd-dat = <13>; qcom,hw-thd-sta = <18>; qcom,hw-tbuf = <25>; qcom,hw-scl-stretch-en = <1>; qcom,hw-trdhld = <6>; qcom,hw-tsp = <3>; status = "ok"; }; i2c_freq_1Mhz: qcom,i2c_fast_plus_mode { qcom,hw-thigh = <16>; qcom,hw-tlow = <22>; qcom,hw-tsu-sto = <17>; qcom,hw-tsu-sta = <18>; qcom,hw-thd-dat = <16>; qcom,hw-thd-sta = <15>; qcom,hw-tbuf = <19>; qcom,hw-scl-stretch-en = <1>; qcom,hw-trdhld = <3>; qcom,hw-tsp = <3>; qcom,cci-clk-src = <37500000>; status = "ok"; }; actuator0: qcom,actuator@0 { cell-index = <0>; reg = <0x0>; compatible = "qcom,actuator"; qcom,cci-master = <0>; cam_vaf-supply = <&pmi8998_bob>; qcom,cam-vreg-name = "cam_vaf"; qcom,cam-vreg-min-voltage = <2800000>; qcom,cam-vreg-max-voltage = <2800000>; qcom,cam-vreg-op-mode = <100000>; }; qcom,cam-sensor@0 { cell-index = <0>; compatible = "qcom,camera"; reg = <0x0>; qcom,csiphy-sd-index = <0>; qcom,sensor-position-roll = <90>; qcom,sensor-position-pitch = <0>; qcom,sensor-position-yaw = <180>; qcom,secure = <1>; qcom,led-flash-src = <&led_flash0>; qcom,actuator-src = <&actuator0>; qcom,eeprom-src = <&eeprom0>; cam_vdig-supply = <&pm845_s3>; cam_vio-supply = <&pm845_lvs1>; cam_vana-supply = <&pmi8998_bob>; qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana"; qcom,cam-vreg-min-voltage = <0 3312000 1352000>; qcom,cam-vreg-max-voltage = <0 3312000 1352000>; qcom,cam-vreg-op-mode = <0 80000 105000>; qcom,gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_rear_active>; pinctrl-1 = <&cam_sensor_mclk0_suspend &cam_sensor_rear_suspend>; gpios = <&tlmm 13 0>, <&tlmm 80 0>, <&tlmm 79 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_MCLK0", "CAM_RESET0", "CAM_VANA"; qcom,sensor-position = <0>; qcom,sensor-mode = <0>; qcom,cci-master = <0>; status = "ok"; clocks = <&clock_mmss clk_mclk0_clk_src>, <&clock_mmss clk_camss_mclk0_clk>; clock-names = "cam_src_clk", "cam_clk"; }; }; Documentation/devicetree/bindings/media/video/msm-cam-csiphy.txt 0 → 100644 +34 −0 Original line number Diff line number Diff line * Qualcomm Technologies, Inc. MSM CSI Phy Required properties: - cell-index: csi phy hardware core index - compatible : - "qcom,csiphy-v5.01" - 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. - interrupt-names : should specify relevant names to each interrupts property defined. - clock-names: name of the clocks required for the device - qcom,clock-rates: clock rate in Hz - 0 if appropriate clock is required but doesn't have to apply the rate Example: qcom,csiphy@ac65000 { cell-index = <0>; compatible = "qcom,csiphy-v1.0", "qcom,csiphy"; reg = <0xac65000 0x200>; reg-names = "csiphy"; interrupts = <0 477 0>; interrupt-names = "csiphy"; clock-names = "camnoc_axi_clk", "soc_ahb_clk", "slow_ahb_src_clk", "cpas_ahb_clk", "cphy_rx_clk_src", "csiphy0_clk", "csi0phytimer_clk_src", "csi0phytimer_clk", "ife_0_csid_clk", "ife_0_csid_clk_src"; qcom,clock-rates = <0 0 80000000 0 320000000 0 269333333 0 0 384000000>; status = "ok"; }; Loading
Documentation/devicetree/bindings/media/video/msm-cam-cci.txt 0 → 100644 +363 −0 Original line number Diff line number Diff line * Qualcomm Technologies, Inc. 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) - clock-names: name of the clocks required for the device - clock-rates: clock rate in Hz Optional properties: - qcom,cam-vreg-name : name of the voltage regulators required for the device. - gdscr-supply : should contain gdsr regulator used for cci clocks. - mmagic-supply : should contain mmagic regulator used for mmagic clocks. - I2c speed settings (*) - i2c_freq_100Khz: qcom,i2c_standard_mode - node should contain clock settings for 100Khz - i2c_freq_400Khz: qcom,i2c_fast_mode - node should contain clock settings for 400Khz - i2c_freq_custom: qcom,i2c_custom_mode - node can contain clock settings for frequencies other than 100Khz and 400Khz which is specific to usecase. Currently it has settings for 375Khz. - i2c_freq_1Mhz: qcom,i2c_fast_plus_mode - node should contain clock settings for 1Mhz * if speed settings is not defined the low level driver can use "i2c_freq_custom" like default [Second level nodes] * Qualcomm Technologies, Inc. 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 Technologies, Inc. MSM Sensor MSM sensor node contains properties of camera sensor Required properties: - compatible : should be manufacturer name followed by sensor name - "qcom,camera" - reg : should contain i2c slave address of the device - qcom,csiphy-sd-index : should contain csiphy instance that will used to receive sensor data - 0, 1, 2 - 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-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-position-roll : should contain sensor rotational angle with respect to axis of reference - 0, 90, 180, 360 - qcom,sensor-position-pitch : should contain sensor rotational angle with respect to axis of reference - 0, 90, 180, 360 - qcom,sensor-position-yaw : should contain sensor rotational angle with respect to axis of reference - 0, 90, 180, 360 Optional properties: - qcom,slave-id : should contain i2c slave address, device id address, expected id read value and device id mask - qcom,sensor-name : should contain unique sensor name to differentiate from other sensor - "s5k3l1yx" - 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 - qcom,secure : should be enabled to operate the camera in secure mode - 0, 1 - 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-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 - qcom,eeprom-src : if eeprom memory is supported by this sensor, this property should contain phandle of respective eeprom nodes - qcom,ois-src : if optical image stabilization is supported by this sensor, this property should contain phandle of respective ois node - qcom,ir-led-src : if ir led is supported by this sensor, this property should contain phandle of respective ir-led node - qcom,ir-cut-src : if ir cut is supported by this sensor, this property should contain phandle of respective ir-cut node - qcom,special-support-sensors: if only some special sensors are supported on this board, add sensor name in this property. * Qualcomm Technologies, Inc. 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 Optional properties: - qcom,cam-vreg-name : should contain names of all regulators needed by this actuator - "cam_vaf" - qcom,cam-vreg-min-voltage : should contain minimum voltage level in mcrovolts for regulators mentioned in qcom,cam-vreg-name property (in the same order) - qcom,cam-vreg-max-voltage : should contain maximum voltage level in mcrovolts for regulators mentioned in qcom,cam-vreg-name property (in the same order) - qcom,cam-vreg-op-mode : should contain the maximum current in microamps required from the regulators mentioned in the qcom,cam-vreg-name property (in the same order). - cam_vaf-supply : should contain regulator from which AF voltage is supplied * Qualcomm Technologies, Inc. MSM OIS Required properties: - cell-index : should contain unique identifier to differentiate between multiple ois drivers - reg : should contain i2c slave address of the ois and length of data field which is 0x0 - compatible : - "qcom,ois" - qcom,cci-master : should contain i2c master id to be used for this camera sensor - 0 -> MASTER 0 - 1 -> MASTER 1 Optional properties: - qcom,cam-vreg-name : should contain names of all regulators needed by this ois - "cam_vaf" - qcom,cam-vreg-min-voltage : should contain minimum voltage level in mcrovolts for regulators mentioned in qcom,cam-vreg-name property (in the same order) - qcom,cam-vreg-max-voltage : should contain maximum voltage level in mcrovolts for regulators mentioned in qcom,cam-vreg-name property (in the same order) - qcom,cam-vreg-op-mode : should contain the maximum current in microamps required from the regulators mentioned in the qcom,cam-vreg-name property (in the same order). - cam_vaf-supply : should contain regulator from which ois voltage is supplied Example: led_flash0: qcom,camera-flash@0 { cell-index = <0>; compatible = "qcom,camera-flash"; qcom,flash-source = <&pmi8994_flash0 &pmi8994_flash1>; qcom,torch-source = <&pmi8998_torch0 &pmi8998_torch1>; qcom,switch-source = <&pmi8998_switch>; status = "ok"; } qcom,cci@0xfda0c000 { cell-index = <0>; compatible = "qcom,cci"; reg = <0xfda0c000 0x300>; reg-names = "cci"; interrupts = <0 50 0>; interrupt-names = "cci"; clock-names = "camnoc_axi_clk", "soc_ahb_clk", "slow_ahb_src_clk", "cpas_ahb_clk", "cci_clk", "cci_clk_src"; qcom,clock-rates = <0 0 80000000 0 0 37500000>; gpios = <&tlmm 17 0>, <&tlmm 18 0>, <&tlmm 19 0>, <&tlmm 20 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"; i2c_freq_100Khz: qcom,i2c_standard_mode { 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"; }; i2c_freq_400Khz: qcom,i2c_fast_mode { qcom,hw-thigh = <20>; qcom,hw-tlow = <28>; qcom,hw-tsu-sto = <21>; qcom,hw-tsu-sta = <21>; qcom,hw-thd-dat = <13>; qcom,hw-thd-sta = <18>; qcom,hw-tbuf = <25>; qcom,hw-scl-stretch-en = <0>; qcom,hw-trdhld = <6>; qcom,hw-tsp = <3>; status = "ok"; }; i2c_freq_custom: qcom,i2c_custom_mode { qcom,hw-thigh = <15>; qcom,hw-tlow = <28>; qcom,hw-tsu-sto = <21>; qcom,hw-tsu-sta = <21>; qcom,hw-thd-dat = <13>; qcom,hw-thd-sta = <18>; qcom,hw-tbuf = <25>; qcom,hw-scl-stretch-en = <1>; qcom,hw-trdhld = <6>; qcom,hw-tsp = <3>; status = "ok"; }; i2c_freq_1Mhz: qcom,i2c_fast_plus_mode { qcom,hw-thigh = <16>; qcom,hw-tlow = <22>; qcom,hw-tsu-sto = <17>; qcom,hw-tsu-sta = <18>; qcom,hw-thd-dat = <16>; qcom,hw-thd-sta = <15>; qcom,hw-tbuf = <19>; qcom,hw-scl-stretch-en = <1>; qcom,hw-trdhld = <3>; qcom,hw-tsp = <3>; qcom,cci-clk-src = <37500000>; status = "ok"; }; actuator0: qcom,actuator@0 { cell-index = <0>; reg = <0x0>; compatible = "qcom,actuator"; qcom,cci-master = <0>; cam_vaf-supply = <&pmi8998_bob>; qcom,cam-vreg-name = "cam_vaf"; qcom,cam-vreg-min-voltage = <2800000>; qcom,cam-vreg-max-voltage = <2800000>; qcom,cam-vreg-op-mode = <100000>; }; qcom,cam-sensor@0 { cell-index = <0>; compatible = "qcom,camera"; reg = <0x0>; qcom,csiphy-sd-index = <0>; qcom,sensor-position-roll = <90>; qcom,sensor-position-pitch = <0>; qcom,sensor-position-yaw = <180>; qcom,secure = <1>; qcom,led-flash-src = <&led_flash0>; qcom,actuator-src = <&actuator0>; qcom,eeprom-src = <&eeprom0>; cam_vdig-supply = <&pm845_s3>; cam_vio-supply = <&pm845_lvs1>; cam_vana-supply = <&pmi8998_bob>; qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana"; qcom,cam-vreg-min-voltage = <0 3312000 1352000>; qcom,cam-vreg-max-voltage = <0 3312000 1352000>; qcom,cam-vreg-op-mode = <0 80000 105000>; qcom,gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_rear_active>; pinctrl-1 = <&cam_sensor_mclk0_suspend &cam_sensor_rear_suspend>; gpios = <&tlmm 13 0>, <&tlmm 80 0>, <&tlmm 79 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_MCLK0", "CAM_RESET0", "CAM_VANA"; qcom,sensor-position = <0>; qcom,sensor-mode = <0>; qcom,cci-master = <0>; status = "ok"; clocks = <&clock_mmss clk_mclk0_clk_src>, <&clock_mmss clk_camss_mclk0_clk>; clock-names = "cam_src_clk", "cam_clk"; }; };
Documentation/devicetree/bindings/media/video/msm-cam-csiphy.txt 0 → 100644 +34 −0 Original line number Diff line number Diff line * Qualcomm Technologies, Inc. MSM CSI Phy Required properties: - cell-index: csi phy hardware core index - compatible : - "qcom,csiphy-v5.01" - 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. - interrupt-names : should specify relevant names to each interrupts property defined. - clock-names: name of the clocks required for the device - qcom,clock-rates: clock rate in Hz - 0 if appropriate clock is required but doesn't have to apply the rate Example: qcom,csiphy@ac65000 { cell-index = <0>; compatible = "qcom,csiphy-v1.0", "qcom,csiphy"; reg = <0xac65000 0x200>; reg-names = "csiphy"; interrupts = <0 477 0>; interrupt-names = "csiphy"; clock-names = "camnoc_axi_clk", "soc_ahb_clk", "slow_ahb_src_clk", "cpas_ahb_clk", "cphy_rx_clk_src", "csiphy0_clk", "csi0phytimer_clk_src", "csi0phytimer_clk", "ife_0_csid_clk", "ife_0_csid_clk_src"; qcom,clock-rates = <0 0 80000000 0 320000000 0 269333333 0 0 384000000>; status = "ok"; };