git-subtree-dir: qcom/camera git-subtree-mainline:8263fe365e
git-subtree-split:a1378b76f0
184 lines
4.8 KiB
Plaintext
184 lines
4.8 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:
|
|
- cell-index
|
|
Usage: required
|
|
Value type: <u32>
|
|
Definition: Should specify the hardware index id.
|
|
|
|
- compatible
|
|
Usage: required
|
|
Value type: <string>
|
|
Definition: Should specify the compatibility string for matching the
|
|
|
|
driver. e.g. "qcom,vfe680", "qcom,vfe680_110", "qcom,vfe580", "qcom,vfe580",
|
|
"qcom,vfe480", "qcom,vfe175", "qcom,vfe170", "qcom,vfe175_130", "qcom,vfe170_150",
|
|
"qcom,vfe165_160", "qcom,vfe-lite680", "qcom,vfe-lite680_110", "qcom,vfe-lite580",,
|
|
"qcom,vfe-lite580", "qcom,vfe-lite480", "qcom,vfe-lite175",
|
|
"qcom,vfe-lite175_130" or "qcom,vfe-lite170", "qcom,vfe-lite165".
|
|
|
|
- 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.
|
|
|
|
- reg-cam-base
|
|
Usage: required
|
|
Value type: <u32>
|
|
Definition: List of bases.
|
|
|
|
- rt-wrapper-base
|
|
Usage: required
|
|
Value type: u32
|
|
Definition: Titan offset of start of the RT Wrapper.
|
|
|
|
- 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.
|
|
|
|
- scl-clk-names:
|
|
Usage: optional
|
|
Value type: <string>
|
|
Definition: Scalable clock names to identify which clocks needs to update
|
|
along with source clock.
|
|
|
|
- cam_hw_pid:
|
|
Usage: optional
|
|
Value type: <u32>
|
|
Definition: HW unique Pid values
|
|
|
|
- vmrm-resource-ids
|
|
Usage: optional
|
|
Value type: <u32>
|
|
Definition: should specify vmrm resource id list order is mem label,
|
|
mem tag, irq1 label, irq2 label.
|
|
|
|
Example:
|
|
cam_vfe0: qcom,ife0@ac62000 {
|
|
cell-index = <0>;
|
|
compatible = "qcom,vfe680";
|
|
reg-names = "ife", "cam_camnoc";
|
|
reg = <0xac62000 0xF000>,
|
|
<0xac19000 0x9000>;
|
|
reg-cam-base = <0x62000 0x19000>;
|
|
rt-wrapper-base = <0x62000>;
|
|
interrupt-names = "ife";
|
|
interrupts = <GIC_SPI 465 IRQ_TYPE_EDGE_RISING>;
|
|
regulator-names = "camss", "ife0";
|
|
camss-supply = <&cam_cc_titan_top_gdsc>;
|
|
ife0-supply = <&cam_cc_ife_0_gdsc>;
|
|
clock-names =
|
|
"ife_0_ahb_src",
|
|
"ife_0_ahb",
|
|
"ife_clk_src",
|
|
"ife_clk";
|
|
clocks =
|
|
<&clock_camcc CAM_CC_FAST_AHB_CLK_SRC>,
|
|
<&clock_camcc CAM_CC_IFE_0_FAST_AHB_CLK>,
|
|
<&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
|
|
<&clock_camcc CAM_CC_IFE_0_CLK>;
|
|
clock-rates =
|
|
<100000000 0 432000000 0>,
|
|
<200000000 0 594000000 0>,
|
|
<300000000 0 675000000 0>,
|
|
<400000000 0 785000000 0>,
|
|
<400000000 0 785000000 0>;
|
|
clock-cntl-level = "lowsvs", "svs", "svs_l1", "nominal",
|
|
"turbo";
|
|
src-clock-name = "ife_clk_src";
|
|
scl-clk-names = "ife_0_ahb";
|
|
clock-control-debugfs = "true";
|
|
clock-names-option = "ife_dsp_clk";
|
|
clocks-option = <&clock_camcc CAM_CC_IFE_0_DSP_CLK>;
|
|
clock-rates-option = <594000000>;
|
|
ubwc-static-cfg = <0x1026 0x1036>;
|
|
cam_hw_pid = <16 28 20 8>;
|
|
status = "ok";
|
|
vmrm-resource-ids = <20 20 20>;
|
|
};
|