* 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: - cell-index Usage: required Value type: Definition: Should specify the hardware index id. - compatible Usage: required Value type: Definition: Should specify the compatibility string for matching the driver. e.g. "qcom,cam-tpg101", "qcom,cam-tpg102", "qcom,cam-tpgv1", "qcom,cam-tpg103" - phy-id Usage: required Value type: Definition: Should specify the phy index number for csid input configuration - reg-names Usage: required Value type: Definition: Should specify the name of the register block. - reg Usage: required Value type: Definition: Register values. - reg-cam-base Usage: required Value type: Definition: List of bases. - regulator-names Usage: required Value type: Definition: Name of the regulator resources for TFE HW. - xxxx-supply Usage: required Value type: Definition: Regulator reference corresponding to the names listed in "regulator-names". - interrupt-names Usage: Required Value type: Definition: Name of the interrupt. - interrupts Usage: Required Value type: Definition: Interrupt associated with TFE HW. - clock-names Usage: required Value type: Definition: List of clock names required for TFE HW. - clocks Usage: required Value type: Definition: List of clocks used for TFE HW. - clock-rates Usage: required Value type: Definition: List of clocks rates. - clock-cntl-level Usage: required Value type: Definition: All different clock level node can support. - src-clock-name Usage: required Value type: Definition: Source clock name. - clock-control-debugfs Usage: optional Value type: Definition: Enable/Disable clk rate control. - scl-clk-names: Usage: optional Value type: Definition: Scalable clock names to identify which clocks needs to update along with source clock. - shared-clks Usage: optional Value type: Definition: List of 0 or 1 values indicating whether shared clk or not. Example: cam_csiphy_tpg0: qcom,tpg0@acf6000 { cell-index = <0>; compatible = "qcom,tpg103"; reg-names = "tpg0", "cam_cpas_top"; reg = <0xacf6000 0x400>, <0xac13000 0x1000>; reg-cam-base = <0xf6000 0x13000>; regulator-names = "camss"; camss-supply = <&cam_cc_titan_top_gdsc>; interrupt-names = "tpg0"; interrupts = ; shared-clks = <1 0 0 0>; clock-names = "cphy_rx_clk_src", "csiphy0_clk", "csi0phytimer_clk_src", "csi0phytimer_clk"; clocks = <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>, <&clock_camcc CAM_CC_CSIPHY0_CLK>, <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK_SRC>, <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK>; clock-rates = <480000000 0 400000000 0>; clock-cntl-level = "nominal"; src-clock-name = "csi0phytimer_clk_src"; status = "ok"; };