mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
dt-bindings: camera: Add TFE support
Camera TFE is new hardware. This change adds support for the same. CRs-Fixed: 2545590 Change-Id: I89ce381a83682681a299ef496d5695b303a481b7
This commit is contained in:
parent
2540a3f2d6
commit
458e662f61
4 changed files with 379 additions and 1 deletions
|
|
@ -20,7 +20,7 @@ First Level Node - CAM ISP device
|
|||
- arch-compat
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Should be "vfe" or "ife".
|
||||
Definition: Should be "vfe", "ife" or "tfe".
|
||||
|
||||
- ubwc-static-cfg
|
||||
Usage: optional
|
||||
|
|
|
|||
123
bindings/msm-cam-tfe-csid.txt
Normal file
123
bindings/msm-cam-tfe-csid.txt
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
* Qualcomm Technologies, Inc. MSM Camera TFE CSID
|
||||
|
||||
Camera TFE CSID device provides the definitions for enabling
|
||||
the TFE CSID hardware. It also provides the functions for the client
|
||||
to control the TFE CSID hardware.
|
||||
|
||||
=======================
|
||||
Required Node Structure
|
||||
=======================
|
||||
The TFE CSID device is described in one level of the device node.
|
||||
|
||||
======================================
|
||||
First Level Node - CAM TFE CSID device
|
||||
======================================
|
||||
- compatible
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Should be "qcom,csid530"
|
||||
|
||||
- cell-index
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Should specify the hardware index id.
|
||||
|
||||
- reg-names
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Should be "csid".
|
||||
|
||||
- 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 TFE CSID HW.
|
||||
|
||||
- regulator-names
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Name of the regulator resources for TFE CSID 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 TFE CSID HW.
|
||||
|
||||
- clocks
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: List of clocks used for TFE CSID HW.
|
||||
|
||||
- clock-rates
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: List of clocks rates.
|
||||
|
||||
- clock-cntl-level
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: All different clock level node can support.
|
||||
|
||||
- src-clock-name
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Source clock name.
|
||||
|
||||
- clock-control-debugfs
|
||||
Usage: optional
|
||||
Value type: <string>
|
||||
Definition: Enable/Disable clk rate control.
|
||||
|
||||
Example:
|
||||
|
||||
qcom,tfe_csid0@5c6e000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,csid530";
|
||||
reg-names = reg-names = "csid", "top", "camnoc";
|
||||
reg = <0x5c6e000 0x5000>,
|
||||
<0x5c11000 0x1000>,
|
||||
<0x5c13000 0x4000>;
|
||||
interrupt-names = "csid0";
|
||||
interrupts = <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>;
|
||||
regulator-names = "camss";
|
||||
camss-supply = <&gcc_camss_top_gdsc>;
|
||||
clock-names =
|
||||
"tfe_csid_clk_src",
|
||||
"tfe_csid_clk",
|
||||
"cphy_rx_clk_src",
|
||||
"tfe_cphy_rx_clk",
|
||||
"tfe_clk_src",
|
||||
"tfe_clk",
|
||||
"tfe_axi_clk";
|
||||
clocks =
|
||||
<&gcc GCC_CAMSS_TFE_0_CSID_CLK_SRC>,
|
||||
<&gcc GCC_CAMSS_TFE_0_CSID_CLK>,
|
||||
<&gcc GCC_CAMSS_TFE_CPHY_RX_CLK_SRC>,
|
||||
<&gcc GCC_CAMSS_TFE_0_CPHY_RX_CLK>,
|
||||
<&gcc GCC_CAMSS_TFE_0_CLK_SRC>,
|
||||
<&gcc GCC_CAMSS_TFE_0_CLK>,
|
||||
<&gcc GCC_CAMSS_AXI_CLK>;
|
||||
clock-rates =
|
||||
<240000000 0 0 0 256000000 0 0>,
|
||||
<384000000 0 0 0 460800000 0 0>,
|
||||
<426400000 0 0 0 576000000 0 0>,
|
||||
clock-cntl-level = "svs", "svs_l1", "turbo";
|
||||
src-clock-name = "tfe_csid_clk_src";
|
||||
clock-control-debugfs = "true";
|
||||
status = "ok";
|
||||
};
|
||||
142
bindings/msm-cam-tfe.txt
Normal file
142
bindings/msm-cam-tfe.txt
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
* Qualcomm Technologies, Inc. MSM Camera TFE
|
||||
|
||||
Camera TFE device provides the definitions for enabling
|
||||
the TFE hardware. It also provides the functions for the client
|
||||
to control the TFE hardware.
|
||||
|
||||
=======================
|
||||
Required Node Structure
|
||||
=======================
|
||||
The TFE device is described in one level of the device node.
|
||||
|
||||
======================================
|
||||
First Level Node - CAM TFE device
|
||||
======================================
|
||||
Required properties:
|
||||
- compatible
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Should specify the compatibility string for matching the
|
||||
driver. e.g. "qcom,tfe530"
|
||||
|
||||
- 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 TFE HW.
|
||||
|
||||
- regulator-names
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Name of the regulator resources for TFE 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 TFE HW.
|
||||
|
||||
- clocks
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: List of clocks used for TFE 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 TFE 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.
|
||||
|
||||
Example:
|
||||
cam_tfe0: qcom,tfe0@5c6e000{
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,tfe530";
|
||||
reg-names = "tfe0";
|
||||
reg = <0x5c6e000 0x5000>;
|
||||
reg-cam-base = <0x6e000>;
|
||||
interrupt-names = "tfe0";
|
||||
interrupts = <GIC_SPI 211 IRQ_TYPE_EDGE_RISING>;
|
||||
regulator-names = "camss";
|
||||
camss-supply = <&gcc_camss_top_gdsc>;
|
||||
clock-names =
|
||||
"tfe_clk_src",
|
||||
"tfe_clk",
|
||||
"tfe_axi_clk";
|
||||
clocks =
|
||||
<&gcc GCC_CAMSS_TFE_0_CLK_SRC>,
|
||||
<&gcc GCC_CAMSS_TFE_0_CLK>,
|
||||
<&gcc GCC_CAMSS_AXI_CLK>;
|
||||
clock-rates =
|
||||
<256000000 0 150000000>,
|
||||
<460800000 0 200000000>,
|
||||
<576000000 0 300000000>;
|
||||
clock-cntl-level = "svs", "svs_l1", "turbo";
|
||||
src-clock-name = "tfe_clk_src";
|
||||
clock-control-debugfs = "true";
|
||||
status = "ok";
|
||||
};
|
||||
113
bindings/msm-cam-tpg.txt
Normal file
113
bindings/msm-cam-tpg.txt
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
* Qualcomm Technologies, Inc. MSM Camera TPG
|
||||
|
||||
Camera TPG device provides the definitions for enabling
|
||||
the TPG hardware. It also provides the functions for the client
|
||||
to control the TPG hardware.
|
||||
|
||||
=======================
|
||||
Required Node Structure
|
||||
=======================
|
||||
The TPG device is described in one level of the device node.
|
||||
|
||||
======================================
|
||||
First Level Node - CAM TPG device
|
||||
======================================
|
||||
Required properties:
|
||||
- compatible
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Should specify the compatibility string for matching the
|
||||
driver. e.g. "qcom,tpgv1"
|
||||
|
||||
- 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 TFE HW.
|
||||
|
||||
- regulator-names
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Name of the regulator resources for TFE 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 TFE HW.
|
||||
|
||||
- clocks
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: List of clocks used for TFE 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-control-debugfs
|
||||
Usage: optional
|
||||
Value type: <string>
|
||||
Definition: Enable/Disable clk rate control.
|
||||
|
||||
- scl-clk-names:
|
||||
Usage: optional
|
||||
Value type: <string>
|
||||
Definition: Scalable clock names to identify which clocks needs to update
|
||||
along with source clock.
|
||||
|
||||
Example:
|
||||
cam_tfe_tpg0: qcom,tpg0@5c66000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,tpgv1";
|
||||
reg-names = "tpg0", "top";
|
||||
reg = <0x5c66000 0x400>,
|
||||
<0x5c11000 0x1000>;
|
||||
reg-cam-base = <0x66000 0x11000>;
|
||||
regulator-names = "camss";
|
||||
camss-supply = <&gcc_camss_top_gdsc>;
|
||||
clock-names =
|
||||
"cphy_rx_clk_src",
|
||||
"tfe_0_cphy_rx_clk";
|
||||
clocks =
|
||||
<&gcc GCC_CAMSS_TFE_CPHY_RX_CLK_SRC>,
|
||||
<&gcc GCC_CAMSS_TFE_0_CPHY_RX_CLK>;
|
||||
clock-rates =
|
||||
<240000000 240000000>,
|
||||
<341333333 341333333>,
|
||||
<384000000 384000000>;
|
||||
clock-cntl-level = "svs", "svs_l1", "turbo";
|
||||
src-clock-name = "cphy_rx_clk_src";
|
||||
clock-control-debugfs = "false";
|
||||
status = "ok";
|
||||
};
|
||||
Loading…
Reference in a new issue