| * Qualcomm Technologies, Inc. MSM Camera LRME |
| |
| The MSM camera Low Resolution Motion Estimation device provides dependency |
| definitions for enabling Camera LRME HW. MSM camera LRME is implemented in |
| multiple device nodes. The root LRME device node has properties defined to |
| hint the driver about the LRME HW nodes available during the probe sequence. |
| Each node has multiple properties defined for interrupts, clocks and |
| regulators. |
| |
| ======================= |
| Required Node Structure |
| ======================= |
| LRME root interface node takes care of the handling LRME high level |
| driver handling and controls underlying LRME hardware present. |
| |
| - compatible |
| Usage: required |
| Value type: <string> |
| Definition: Should be "qcom,cam-lrme" |
| |
| - compat-hw-name |
| Usage: required |
| Value type: <string> |
| Definition: Should be "qcom,lrme" |
| |
| - num-lrme |
| Usage: required |
| Value type: <u32> |
| Definition: Number of supported LRME HW blocks |
| |
| Example: |
| qcom,cam-lrme { |
| compatible = "qcom,cam-lrme"; |
| compat-hw-name = "qcom,lrme"; |
| num-lrme = <1>; |
| }; |
| |
| ======================= |
| Required Node Structure |
| ======================= |
| LRME Node provides interface for Low Resolution Motion Estimation hardware |
| driver about the device register map, interrupt map, clocks, regulators. |
| |
| - cell-index |
| Usage: required |
| Value type: <u32> |
| Definition: Node instance number |
| |
| - compatible |
| Usage: required |
| Value type: <string> |
| Definition: Should be "qcom,lrme" |
| |
| - reg-names |
| Usage: optional |
| Value type: <string> |
| Definition: Name of the register resources |
| |
| - reg |
| Usage: optional |
| Value type: <u32> |
| Definition: Register values |
| |
| - reg-cam-base |
| Usage: optional |
| Value type: <u32> |
| Definition: Offset of the register space compared to |
| to Camera base register space |
| |
| - interrupt-names |
| Usage: optional |
| Value type: <string> |
| Definition: Name of the interrupt |
| |
| - interrupts |
| Usage: optional |
| Value type: <u32> |
| Definition: Interrupt line associated with LRME HW |
| |
| - regulator-names |
| Usage: required |
| Value type: <string> |
| Definition: Name of the regulator resources for LRME HW |
| |
| - camss-supply |
| Usage: required |
| Value type: <phandle> |
| Definition: Regulator reference corresponding to the names listed |
| in "regulator-names" |
| |
| - clock-names |
| Usage: required |
| Value type: <string> |
| Definition: List of clock names required for LRME HW |
| |
| - clocks |
| Usage: required |
| Value type: <phandle> |
| Definition: List of clocks required for LRME HW |
| |
| - clock-rates |
| Usage: required |
| Value type: <u32> |
| Definition: List of clocks rates |
| |
| - clock-cntl-level |
| Usage: required |
| Value type: <string> |
| Definition: List of strings corresponds clock-rates levels |
| Supported strings: minsvs, lowsvs, svs, svs_l1, nominal, turbo |
| |
| - src-clock-name |
| Usage: required |
| Value type: <string> |
| Definition: Source clock name |
| |
| Examples: |
| cam_lrme: qcom,lrme@ac6b000 { |
| cell-index = <0>; |
| compatible = "qcom,lrme"; |
| reg-names = "lrme"; |
| reg = <0xac6b000 0xa00>; |
| reg-cam-base = <0x6b000>; |
| interrupt-names = "lrme"; |
| interrupts = <0 476 0>; |
| regulator-names = "camss"; |
| camss-supply = <&titan_top_gdsc>; |
| clock-names = "camera_ahb", |
| "camera_axi", |
| "soc_ahb_clk", |
| "cpas_ahb_clk", |
| "camnoc_axi_clk", |
| "lrme_clk_src", |
| "lrme_clk"; |
| clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>, |
| <&clock_gcc GCC_CAMERA_AXI_CLK>, |
| <&clock_camcc CAM_CC_SOC_AHB_CLK>, |
| <&clock_camcc CAM_CC_CPAS_AHB_CLK>, |
| <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>, |
| <&clock_camcc CAM_CC_LRME_CLK_SRC>, |
| <&clock_camcc CAM_CC_LRME_CLK>; |
| clock-rates = <0 0 0 0 0 0 0>, |
| <0 0 0 0 0 19200000 19200000>, |
| <0 0 0 0 0 19200000 19200000>, |
| <0 0 0 0 0 19200000 19200000>; |
| clock-cntl-level = "lowsvs", "svs", "svs_l1", "turbo"; |
| src-clock-name = "lrme_core_clk_src"; |
| }; |