147 lines
4.0 KiB
Plaintext
147 lines
4.0 KiB
Plaintext
* Qualcomm Technologies, Inc. MSM Camera VFE
|
|
|
|
Camera VFE device provides the definitions for enabling
|
|
the VFE hardware. It also provides the functions for the client
|
|
to control the VFE hardware.
|
|
|
|
=======================
|
|
Required Node Structure
|
|
=======================
|
|
The VFE device is described in one level of the device node.
|
|
|
|
======================================
|
|
First Level Node - CAM VFE device
|
|
======================================
|
|
Required properties:
|
|
- compatible
|
|
Usage: required
|
|
Value type: <string>
|
|
Definition: Should specify the compatibility string for matching the
|
|
driver. e.g. "qcom,vfe175", "qcom,vfe170", "qcom,vfe175_130", "qcom,vfe-lite175", "qcom,vfe-lite175_130", "qcom,vfe-lite170".
|
|
For automotive, can specify "qcom,ais-vfe175", "qcom,ais-vfe170", "qcom,ais-vfe175_130", "qcom,ais-vfe-lite175", "qcom,ais-vfe-lite175_130", "qcom,ais-vfe-lite170".
|
|
|
|
- cell-index
|
|
Usage: required
|
|
Value type: <u32>
|
|
Definition: Should specify the hardware index id.
|
|
|
|
- reg-names
|
|
Usage: required
|
|
Value type: <string>
|
|
Definition: Should specify the name of the register block.
|
|
|
|
- reg
|
|
Usage: required
|
|
Value type: <u32>
|
|
Definition: Register values.
|
|
|
|
- interrupt-names
|
|
Usage: Required
|
|
Value type: <string>
|
|
Definition: Name of the interrupt.
|
|
|
|
- interrupts
|
|
Usage: Required
|
|
Value type: <u32>
|
|
Definition: Interrupt associated with VFE HW.
|
|
|
|
- regulator-names
|
|
Usage: required
|
|
Value type: <string>
|
|
Definition: Name of the regulator resources for VFE HW.
|
|
|
|
- xxxx-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 VFE HW.
|
|
|
|
- clocks
|
|
Usage: required
|
|
Value type: <phandle>
|
|
Definition: List of clocks used for VFE 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.
|
|
|
|
Optional properties:
|
|
- clock-names-option
|
|
Usage: optional
|
|
Value type: <string>
|
|
Definition: Optional clock names.
|
|
|
|
- clocks-option
|
|
Usage: required if clock-names-option defined
|
|
Value type: <phandle>
|
|
Definition: List of optinal clocks used for VFE HW.
|
|
|
|
- clock-rates-option
|
|
Usage: required if clock-names-option defined
|
|
Value type: <u32>
|
|
Definition: List of clocks rates for optional clocks.
|
|
|
|
- clock-control-debugfs
|
|
Usage: optional
|
|
Value type: <string>
|
|
Definition: Enable/Disable clk rate control.
|
|
|
|
- qcom,cam-cx-ipeak:
|
|
Usage: optional
|
|
Value type: <phandle bit>
|
|
phandle - phandle of CX Ipeak device node
|
|
bit - Every bit corresponds to a client of CX Ipeak
|
|
Definition: CX Ipeak is a mitigation scheme which throttles camera frequency
|
|
if all the clients are running at their respective threshold
|
|
frequencies to limit CX peak current.
|
|
driver in the relevant register.
|
|
|
|
Example:
|
|
qcom,vfe0@acaf000 {
|
|
cell-index = <0>;
|
|
compatible = "qcom,vfe170";
|
|
reg-names = "ife";
|
|
reg = <0xacaf000 0x4000>;
|
|
interrupts = <0 465 0>;
|
|
interrupt-names = "ife";
|
|
vdd-names = "camss-vdd", "ife0-vdd";
|
|
camss-vdd-supply = <&titan_top_gdsc>;
|
|
ife0-vdd-supply = <&ife_0_gdsc>;
|
|
clock-names = "soc_ahb_clk",
|
|
"cpas_ahb_clk",
|
|
"slow_ahb_clk_src",
|
|
"ife_clk",
|
|
"ife_clk_src",
|
|
"ife_csid_clk",
|
|
"ife_csid_clk_src",
|
|
"camnoc_axi_clk",
|
|
"ife_axi_clk",
|
|
clocks = <&clock_camcc CAM_CC_SOC_AHB_CLK>,
|
|
<&clock_camcc CAM_CC_CPAS_AHB_CLK>,
|
|
<&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
|
|
<&clock_camcc CAM_CC_IFE_0_CLK>,
|
|
<&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
|
|
<&clock_camcc CAM_CC_IFE_0_CSID_CLK>,
|
|
<&clock_camcc CAM_CC_IFE_0_CSID_CLK_SRC>,
|
|
<&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
|
|
<&clock_camcc CAM_CC_IFE_0_AXI_CLK>,
|
|
clock-rates = <0 0 80000000 0 320000000 0 384000000 0 0 0>;
|
|
src-clock-name = "ife_clk_src";
|
|
clock-names-option = "ife_dsp_clk";
|
|
clocks-option = <&clock_camcc CAM_CC_IFE_0_DSP_CLK>;
|
|
clock-rates-option = <600000000>;
|
|
qcom,cam-cx-ipeak = <&cx_ipeak_lm 2>;
|
|
status = "ok";
|
|
};
|