msm-cci.txt 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. * Qualcomm MSM CCI
  2. [First level nodes]
  3. Required properties:
  4. - cell-index: cci hardware core index
  5. - compatible :
  6. - "qcom,cci"
  7. - reg : offset and length of the register set for the device
  8. for the cci operating in compatible mode.
  9. - reg-names : should specify relevant names to each reg property defined.
  10. - interrupts : should contain the cci interrupt.
  11. - interrupt-names : should specify relevant names to each interrupts
  12. property defined.
  13. - gpios : should contain phandle to gpio controller node and array of
  14. #gpio-cells specifying specific gpio (controller specific)
  15. - qcom,gpio-req-tbl-num : should contain index to gpios specific to this sensor
  16. - qcom,gpio-req-tbl-flags : should contain direction of gpios present in
  17. qcom,gpio-req-tbl-num property (in the same order)
  18. - qcom,gpio-req-tbl-label : should contain name of gpios present in
  19. qcom,gpio-req-tbl-num property (in the same order)
  20. Optional properties:
  21. - master0: qcom,cci-master0 - node should contain clock settings for
  22. cci master 0 bus
  23. - master1: qcom,cci-master1 - node should contain clock settings for
  24. cci master 1 bus
  25. [Second level nodes]
  26. * Qualcomm CCI clock settings
  27. Optional properties:
  28. - qcom,hw-thigh : should contain high period of the SCL clock in terms of CCI
  29. clock cycle
  30. - qcom,hw-tlow : should contain high period of the SCL clock in terms of CCI
  31. clock cycle
  32. - qcom,hw-tsu-sto : should contain setup time for STOP condition
  33. - qcom,hw-tsu-sta : should contain setup time for Repeated START condition
  34. - qcom,hw-thd-dat : should contain hold time for the data
  35. - qcom,hw-thd-sta : should contain hold time for START condition
  36. - qcom,hw-tbuf : should contain free time between a STOP and a START condition
  37. - qcom,hw-scl-stretch-en : should contain enable or disable clock stretching
  38. - qcom,hw-trdhld : should contain internal hold time for SDA
  39. - qcom,hw-tsp : should contain filtering of glitches
  40. * Qualcomm MSM Sensor
  41. MSM sensor node contains properties of camera sensor
  42. Required properties:
  43. - compatible : should be manufacturer name followed by sensor name
  44. - "qcom,camera"
  45. - "qcom,s5k3l1yx"
  46. - "sne,imx134"
  47. - "qcom,imx135"
  48. - "shinetech,gc0339"
  49. - "shinetech,hi256"
  50. - "shinetech,s5k4e1"
  51. - reg : should contain i2c slave address of the device
  52. - qcom,slave-id : should contain i2c slave address, device id address
  53. and expected id read value
  54. - qcom,csiphy-sd-index : should contain csiphy instance that will used to
  55. receive sensor data
  56. - 0, 1, 2
  57. - qcom,csid-sd-index : should contain csid core instance that will used to
  58. receive sensor data
  59. - 0, 1, 2, 3
  60. - qcom,sensor-name : should contain unique sensor name to differentiate from
  61. other sensor
  62. - "s5k3l1yx"
  63. - cam_vdig-supply : should contain regulator from which digital voltage is
  64. supplied
  65. - cam_vana-supply : should contain regulator from which analog voltage is
  66. supplied
  67. - cam_vio-supply : should contain regulator from which IO voltage is supplied
  68. - qcom,cam-vreg-name : should contain names of all regulators needed by this
  69. sensor
  70. - "cam_vdig", "cam_vana", "cam_vio", "cam_vaf"
  71. - qcom,cam-vreg-type : should contain regulator type for regulators mentioned in
  72. qcom,cam-vreg-name property (in the same order)
  73. - 0 for LDO and 1 for LVS
  74. - qcom,cam-vreg-min-voltage : should contain minimum voltage level for
  75. regulators mentioned in qcom,cam-vreg-name property (in the same order)
  76. - qcom,cam-vreg-max-voltage : should contain maximum voltage level for
  77. regulators mentioned in qcom,cam-vreg-name property (in the same order)
  78. - qcom,cam-vreg-op-mode : should contain optimum voltage level for regulators
  79. mentioned in qcom,cam-vreg-name property (in the same order)
  80. - qcom,sensor-mode : should contain sensor mode supported
  81. - 0 -> back camera 2D
  82. - 1 -> front camera 2D
  83. - 2 -> back camera 3D
  84. - 3 -> back camera int 3D
  85. - qcom,sensor-type : should contain format of data that sensor streams
  86. - 0 -> bayer format
  87. - 1 -> yuv format
  88. Optional properties:
  89. - qcom,is-vpe : should be enabled if VPE module is required for post processing
  90. of this sensor
  91. - 1 if required, 0 otherwise
  92. - qcom,mount-angle : should contain the physical mount angle of the sensor on
  93. the target
  94. - 0, 90, 180, 360
  95. - qcom,gpio-no-mux : should contain field to indicate whether gpio mux table is
  96. available
  97. - 1 if gpio mux is not available, 0 otherwise
  98. - cam_vaf-supply : should contain regulator from which AF voltage is supplied
  99. - gpios : should contain phandle to gpio controller node and array of
  100. #gpio-cells specifying specific gpio (controller specific)
  101. - qcom,gpio-reset : should contain index to gpio used by sensors reset_n
  102. - qcom,gpio-standby : should contain index to gpio used by sensors standby_n
  103. - qcom,gpio-vio : should contain index to gpio used by sensors io vreg enable
  104. - qcom,gpio-vana : should contain index to gpio used by sensors analog vreg enable
  105. - qcom,gpio-vdig : should contain index to gpio used by sensors digital vreg enable
  106. - qcom,gpio-vaf : should contain index to gpio used by sensors af vreg enable
  107. - qcom,gpio-af-pwdm : should contain index to gpio used by sensors af pwdm_n
  108. - qcom,gpio-req-tbl-num : should contain index to gpios specific to this sensor
  109. - qcom,gpio-req-tbl-flags : should contain direction of gpios present in
  110. qcom,gpio-req-tbl-num property (in the same order)
  111. - qcom,gpio-req-tbl-label : should contain name of gpios present in
  112. qcom,gpio-req-tbl-num property (in the same order)
  113. - qcom,gpio-set-tbl-num : should contain index of gpios that need to be
  114. configured by msm
  115. - qcom,gpio-set-tbl-flags : should contain value to be configured for the gpios
  116. present in qcom,gpio-set-tbl-num property (in the same order)
  117. - qcom,gpio-set-tbl-delay : should contain amount of delay after configuring
  118. gpios as specified in gpio_set_tbl_flags property (in the same order)
  119. - qcom,csi-lane-assign : should contain lane assignment value to map CSIPHY
  120. lanes to CSID lanes
  121. - 0x4320
  122. - qcom,csi-lane-mask : should contain lane mask that specifies CSIPHY lanes to
  123. be enabled
  124. - qcom,csi-phy-sel : should contain CSIPHY core instance from which CSID should
  125. receive data
  126. - qcom,actuator-cam-name : should contain actuator cam name associated with
  127. this sensor
  128. - If actuator does not exist, this property should not be initialized
  129. - If actuator exist, this field should indicate the index of actuator to
  130. be used
  131. - qcom,actuator-vcm-pwd : should contain the gpio pin of vcm power to be enabled
  132. for actuator
  133. - qcom,actuator-vcm-enable : should contain value to be set for actuator vcm
  134. gpio
  135. - qcom,sensor-position : should contain the mount angle of the camera sensor
  136. - 0 -> back camera
  137. - 1 -> front camera
  138. - qcom,cci-master : should contain i2c master id to be used for this camera
  139. sensor
  140. - 0 -> MASTER 0
  141. - 1 -> MASTER 1
  142. - qcom,actuator-src : if auto focus is supported by this sensor, this
  143. property should contain phandle of respective actuator node
  144. - qcom,led-flash-src : if LED flash is supported by this sensor, this
  145. property should contain phandle of respective LED flash node
  146. - qcom,vdd-cx-supply : should contain regulator from which cx voltage is
  147. supplied
  148. - qcom,vdd-cx-name : should contain names of cx regulator
  149. - qcom,eeprom-src : if eeprom memory is supported by this sensor, this
  150. property should contain phandle of respective eeprom nodes
  151. * Qualcomm MSM ACTUATOR
  152. Required properties:
  153. - cell-index : should contain unique identifier to differentiate
  154. between multiple actuators
  155. - reg : should contain i2c slave address of the actuator and length of
  156. data field which is 0x0
  157. - compatible :
  158. - "qcom,actuator"
  159. - qcom,cci-master : should contain i2c master id to be used for this camera
  160. sensor
  161. - 0 -> MASTER 0
  162. - 1 -> MASTER 1
  163. Optional properties:
  164. - qcom,cam-vreg-name : should contain names of all regulators needed by this
  165. actuator
  166. - "cam_vaf"
  167. - qcom,cam-vreg-type : should contain regulator type for regulators mentioned in
  168. qcom,cam-vreg-name property (in the same order)
  169. - 0 for LDO and 1 for LVS
  170. - qcom,cam-vreg-min-voltage : should contain minimum voltage level in mcrovolts
  171. for regulators mentioned in qcom,cam-vreg-name property (in the same order)
  172. - qcom,cam-vreg-max-voltage : should contain maximum voltage level in mcrovolts
  173. for regulators mentioned in qcom,cam-vreg-name property (in the same order)
  174. - qcom,cam-vreg-op-mode : should contain the maximum current in microamps
  175. required from the regulators mentioned in the qcom,cam-vreg-name property
  176. (in the same order).
  177. - cam_vaf-supply : should contain regulator from which AF voltage is supplied
  178. Example:
  179. qcom,cci@0xfda0c000 {
  180. cell-index = <0>;
  181. compatible = "qcom,cci";
  182. reg = <0xfda0c000 0x300>;
  183. reg-names = "cci";
  184. interrupts = <0 50 0>;
  185. interrupt-names = "cci";
  186. gpios = <&msmgpio 19 0>,
  187. <&msmgpio 20 0>,
  188. <&msmgpio 21 0>,
  189. <&msmgpio 22 0>;
  190. qcom,gpio-tbl-num = <0 1 2 3>;
  191. qcom,gpio-tbl-flags = <1 1 1 1>;
  192. qcom,gpio-tbl-label = "CCI_I2C_DATA0",
  193. "CCI_I2C_CLK0",
  194. "CCI_I2C_DATA1",
  195. "CCI_I2C_CLK1";
  196. master0: qcom,cci-master0 {
  197. status = "disabled";
  198. };
  199. master1: qcom,cci-master1 {
  200. status = "disabled";
  201. };
  202. actuator0: qcom,actuator@18 {
  203. cell-index = <0>;
  204. reg = <0x18>;
  205. compatible = "qcom,actuator";
  206. qcom,cci-master = <0>;
  207. cam_vaf-supply = <&pm8941_l23>;
  208. qcom,cam-vreg-name = "cam_vaf";
  209. qcom,cam-vreg-type = <0>;
  210. qcom,cam-vreg-min-voltage = <3000000>;
  211. qcom,cam-vreg-max-voltage = <3000000>;
  212. qcom,cam-vreg-op-mode = <100000>;
  213. };
  214. qcom,s5k3l1yx@6e {
  215. compatible = "qcom,s5k3l1yx";
  216. reg = <0x6e>;
  217. qcom,slave-id = <0x6e 0x0 0x3121>;
  218. qcom,csiphy-sd-index = <2>;
  219. qcom,csid-sd-index = <0>;
  220. qcom,actuator-src = <&actuator0>;
  221. qcom,eeprom-src = <&eeprom0 &eeprom1>;
  222. qcom,led-flash-src = <&led_flash0>;
  223. qcom,mount-angle = <90>;
  224. qcom,sensor-name = "s5k3l1yx";
  225. qcom,vdd-cx-supply = <&pm8841_s2>;
  226. qcom,vdd-cx-name = "qcom,vdd-cx";
  227. cam_vdig-supply = <&pm8941_l3>;
  228. cam_vana-supply = <&pm8941_l17>;
  229. cam_vio-supply = <&pm8941_lvs3>;
  230. cam_vaf-supply = <&pm8941_l23>;
  231. qcom,cam-vreg-name = "cam_vdig", "cam_vana", "cam_vio", "cam_vaf";
  232. qcom,cam-vreg-type = <0 0 1 0>;
  233. qcom,cam-vreg-min-voltage = <1225000 2850000 0 3000000>;
  234. qcom,cam-vreg-max-voltage = <1225000 2850000 0 3000000>;
  235. qcom,cam-vreg-op-mode = <105000 80000 0 100000>;
  236. qcom,gpio-no-mux = <0>;
  237. gpios = <&msmgpio 15 0>,
  238. <&msmgpio 90 0>,
  239. <&msmgpio 89 0>;
  240. qcom,gpio-reset = <1>;
  241. qcom,gpio-standby = <2>;
  242. qcom,gpio-req-tbl-num = <0 1 2>;
  243. qcom,gpio-req-tbl-flags = <1 0 0>;
  244. qcom,gpio-req-tbl-label = "CAMIF_MCLK",
  245. "CAM_RESET1",
  246. "CAM_STANDBY";
  247. qcom,gpio-set-tbl-num = <1 1>;
  248. qcom,gpio-set-tbl-flags = <0 2>;
  249. qcom,gpio-set-tbl-delay = <1000 4000>;
  250. qcom,csi-lane-assign = <0x4320>;
  251. qcom,csi-lane-mask = <0x1F>;
  252. qcom,csi-phy-sel = <0>;
  253. qcom,sensor-position = <0>;
  254. qcom,sensor-mode = <1>;
  255. };
  256. };
  257. &master0 {
  258. qcom,hw-thigh = <78>;
  259. qcom,hw-tlow = <114>;
  260. qcom,hw-tsu-sto = <28>;
  261. qcom,hw-tsu-sta = <28>;
  262. qcom,hw-thd-dat = <10>;
  263. qcom,hw-thd-sta = <77>;
  264. qcom,hw-tbuf = <118>;
  265. qcom,hw-scl-stretch-en = <0>;
  266. qcom,hw-trdhld = <6>;
  267. qcom,hw-tsp = <1>;
  268. status = "ok";
  269. };
  270. &master1 {
  271. qcom,hw-thigh = <78>;
  272. qcom,hw-tlow = <114>;
  273. qcom,hw-tsu-sto = <28>;
  274. qcom,hw-tsu-sta = <28>;
  275. qcom,hw-thd-dat = <10>;
  276. qcom,hw-thd-sta = <77>;
  277. qcom,hw-tbuf = <118>;
  278. qcom,hw-scl-stretch-en = <0>;
  279. qcom,hw-trdhld = <6>;
  280. qcom,hw-tsp = <1>;
  281. status = "ok";
  282. };