| * Qualcomm Technologies, Inc. MSM Camera FD |
| |
| The MSM camera Face Detection device provides dependency definitions |
| for enabling Camera FD HW. MSM camera FD is implemented in multiple |
| device nodes. The root FD device node has properties defined to hint |
| the driver about the FD HW nodes available during the probe sequence. |
| Each node has multiple properties defined for interrupts, clocks and |
| regulators. |
| |
| ======================= |
| Required Node Structure |
| ======================= |
| FD root interface node takes care of the handling Face Detection high level |
| driver handling and controls underlying FD hardware present. |
| |
| - compatible |
| Usage: required |
| Value type: <string> |
| Definition: Should be "qcom,cam-fd". |
| |
| - compat-hw-name |
| Usage: required |
| Value type: <string> |
| Definition: Should be "qcom,fd". |
| |
| - num-fd |
| Usage: required |
| Value type: <u32> |
| Definition: Number of supported FD HW blocks. |
| |
| Example: |
| qcom,cam-fd { |
| compatible = "qcom,cam-fd"; |
| compat-hw-name = "qcom,fd"; |
| num-fd = <1>; |
| }; |
| |
| ======================= |
| Required Node Structure |
| ======================= |
| FD Node provides interface for Face Detection 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,fd41". |
| |
| - 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 FD HW. |
| |
| - regulator-names |
| Usage: required |
| Value type: <string> |
| Definition: Name of the regulator resources for FD HW. |
| |
| - camss-vdd-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 FD HW. |
| |
| - clocks |
| Usage: required |
| Value type: <phandle> |
| Definition: List of clocks required for FD HW. |
| |
| - clock-rates |
| Usage: required |
| Value type: <u32> |
| Definition: List of clocks rates. |
| |
| - src-clock-name |
| Usage: required |
| Value type: <string> |
| Definition: Source clock name. |
| |
| - 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. |
| |
| Examples: |
| cam_fd: qcom,fd@ac5a000 { |
| cell-index = <0>; |
| compatible = "qcom,fd41"; |
| reg-names = "fd_core", "fd_wrapper"; |
| reg = <0xac5a000 0x1000>, |
| <0xac5b000 0x400>; |
| reg-cam-base = <0x5a000 0x5b000>; |
| interrupt-names = "fd"; |
| interrupts = <0 462 0>; |
| regulator-names = "camss-vdd"; |
| camss-vdd-supply = <&titan_top_gdsc>; |
| clock-names = "gcc_ahb_clk", |
| "gcc_axi_clk", |
| "soc_ahb_clk", |
| "cpas_ahb_clk", |
| "camnoc_axi_clk", |
| "fd_core_clk_src", |
| "fd_core_clk", |
| "fd_core_uar_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_FD_CORE_CLK_SRC>, |
| <&clock_camcc CAM_CC_FD_CORE_CLK>, |
| <&clock_camcc CAM_CC_FD_CORE_UAR_CLK>; |
| src-clock-name = "fd_core_clk_src"; |
| clock-cntl-level = "svs"; |
| clock-rates = <0 0 0 0 0 400000000 0 0>; |
| }; |
| |