162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci%YAML 1.2 462306a36Sopenharmony_ci--- 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/media/qcom,sdm660-camss.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: Qualcomm CAMSS ISP 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Robert Foss <robert.foss@linaro.org> 1262306a36Sopenharmony_ci - AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cidescription: | 1562306a36Sopenharmony_ci The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciproperties: 1862306a36Sopenharmony_ci compatible: 1962306a36Sopenharmony_ci const: qcom,sdm660-camss 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci clocks: 2262306a36Sopenharmony_ci minItems: 42 2362306a36Sopenharmony_ci maxItems: 42 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci clock-names: 2662306a36Sopenharmony_ci items: 2762306a36Sopenharmony_ci - const: ahb 2862306a36Sopenharmony_ci - const: cphy_csid0 2962306a36Sopenharmony_ci - const: cphy_csid1 3062306a36Sopenharmony_ci - const: cphy_csid2 3162306a36Sopenharmony_ci - const: cphy_csid3 3262306a36Sopenharmony_ci - const: csi0_ahb 3362306a36Sopenharmony_ci - const: csi0 3462306a36Sopenharmony_ci - const: csi0_phy 3562306a36Sopenharmony_ci - const: csi0_pix 3662306a36Sopenharmony_ci - const: csi0_rdi 3762306a36Sopenharmony_ci - const: csi1_ahb 3862306a36Sopenharmony_ci - const: csi1 3962306a36Sopenharmony_ci - const: csi1_phy 4062306a36Sopenharmony_ci - const: csi1_pix 4162306a36Sopenharmony_ci - const: csi1_rdi 4262306a36Sopenharmony_ci - const: csi2_ahb 4362306a36Sopenharmony_ci - const: csi2 4462306a36Sopenharmony_ci - const: csi2_phy 4562306a36Sopenharmony_ci - const: csi2_pix 4662306a36Sopenharmony_ci - const: csi2_rdi 4762306a36Sopenharmony_ci - const: csi3_ahb 4862306a36Sopenharmony_ci - const: csi3 4962306a36Sopenharmony_ci - const: csi3_phy 5062306a36Sopenharmony_ci - const: csi3_pix 5162306a36Sopenharmony_ci - const: csi3_rdi 5262306a36Sopenharmony_ci - const: csiphy0_timer 5362306a36Sopenharmony_ci - const: csiphy1_timer 5462306a36Sopenharmony_ci - const: csiphy2_timer 5562306a36Sopenharmony_ci - const: csiphy_ahb2crif 5662306a36Sopenharmony_ci - const: csi_vfe0 5762306a36Sopenharmony_ci - const: csi_vfe1 5862306a36Sopenharmony_ci - const: ispif_ahb 5962306a36Sopenharmony_ci - const: throttle_axi 6062306a36Sopenharmony_ci - const: top_ahb 6162306a36Sopenharmony_ci - const: vfe0_ahb 6262306a36Sopenharmony_ci - const: vfe0 6362306a36Sopenharmony_ci - const: vfe0_stream 6462306a36Sopenharmony_ci - const: vfe1_ahb 6562306a36Sopenharmony_ci - const: vfe1 6662306a36Sopenharmony_ci - const: vfe1_stream 6762306a36Sopenharmony_ci - const: vfe_ahb 6862306a36Sopenharmony_ci - const: vfe_axi 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci interrupts: 7162306a36Sopenharmony_ci minItems: 10 7262306a36Sopenharmony_ci maxItems: 10 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci interrupt-names: 7562306a36Sopenharmony_ci items: 7662306a36Sopenharmony_ci - const: csid0 7762306a36Sopenharmony_ci - const: csid1 7862306a36Sopenharmony_ci - const: csid2 7962306a36Sopenharmony_ci - const: csid3 8062306a36Sopenharmony_ci - const: csiphy0 8162306a36Sopenharmony_ci - const: csiphy1 8262306a36Sopenharmony_ci - const: csiphy2 8362306a36Sopenharmony_ci - const: ispif 8462306a36Sopenharmony_ci - const: vfe0 8562306a36Sopenharmony_ci - const: vfe1 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci interconnects: 8862306a36Sopenharmony_ci maxItems: 1 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci interconnect-names: 9162306a36Sopenharmony_ci items: 9262306a36Sopenharmony_ci - const: vfe-mem 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci iommus: 9562306a36Sopenharmony_ci maxItems: 4 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci power-domains: 9862306a36Sopenharmony_ci items: 9962306a36Sopenharmony_ci - description: VFE0 GDSC - Video Front End, Global Distributed Switch Controller. 10062306a36Sopenharmony_ci - description: VFE1 GDSC - Video Front End, Global Distributed Switch Controller. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci ports: 10362306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/ports 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci description: 10662306a36Sopenharmony_ci CSI input ports. 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci properties: 10962306a36Sopenharmony_ci port@0: 11062306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/$defs/port-base 11162306a36Sopenharmony_ci unevaluatedProperties: false 11262306a36Sopenharmony_ci description: 11362306a36Sopenharmony_ci Input port for receiving CSI data. 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci properties: 11662306a36Sopenharmony_ci endpoint: 11762306a36Sopenharmony_ci $ref: video-interfaces.yaml# 11862306a36Sopenharmony_ci unevaluatedProperties: false 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci properties: 12162306a36Sopenharmony_ci data-lanes: 12262306a36Sopenharmony_ci minItems: 1 12362306a36Sopenharmony_ci maxItems: 4 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci required: 12662306a36Sopenharmony_ci - data-lanes 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci port@1: 12962306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/$defs/port-base 13062306a36Sopenharmony_ci unevaluatedProperties: false 13162306a36Sopenharmony_ci description: 13262306a36Sopenharmony_ci Input port for receiving CSI data. 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci properties: 13562306a36Sopenharmony_ci endpoint: 13662306a36Sopenharmony_ci $ref: video-interfaces.yaml# 13762306a36Sopenharmony_ci unevaluatedProperties: false 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci properties: 14062306a36Sopenharmony_ci data-lanes: 14162306a36Sopenharmony_ci minItems: 1 14262306a36Sopenharmony_ci maxItems: 4 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci required: 14562306a36Sopenharmony_ci - data-lanes 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci port@2: 14862306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/$defs/port-base 14962306a36Sopenharmony_ci unevaluatedProperties: false 15062306a36Sopenharmony_ci description: 15162306a36Sopenharmony_ci Input port for receiving CSI data. 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci properties: 15462306a36Sopenharmony_ci endpoint: 15562306a36Sopenharmony_ci $ref: video-interfaces.yaml# 15662306a36Sopenharmony_ci unevaluatedProperties: false 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci properties: 15962306a36Sopenharmony_ci data-lanes: 16062306a36Sopenharmony_ci minItems: 1 16162306a36Sopenharmony_ci maxItems: 4 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci required: 16462306a36Sopenharmony_ci - data-lanes 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci port@3: 16762306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/$defs/port-base 16862306a36Sopenharmony_ci unevaluatedProperties: false 16962306a36Sopenharmony_ci description: 17062306a36Sopenharmony_ci Input port for receiving CSI data. 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci properties: 17362306a36Sopenharmony_ci endpoint: 17462306a36Sopenharmony_ci $ref: video-interfaces.yaml# 17562306a36Sopenharmony_ci unevaluatedProperties: false 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci properties: 17862306a36Sopenharmony_ci data-lanes: 17962306a36Sopenharmony_ci minItems: 1 18062306a36Sopenharmony_ci maxItems: 4 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci required: 18362306a36Sopenharmony_ci - data-lanes 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci reg: 18662306a36Sopenharmony_ci minItems: 14 18762306a36Sopenharmony_ci maxItems: 14 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci reg-names: 19062306a36Sopenharmony_ci items: 19162306a36Sopenharmony_ci - const: csi_clk_mux 19262306a36Sopenharmony_ci - const: csid0 19362306a36Sopenharmony_ci - const: csid1 19462306a36Sopenharmony_ci - const: csid2 19562306a36Sopenharmony_ci - const: csid3 19662306a36Sopenharmony_ci - const: csiphy0 19762306a36Sopenharmony_ci - const: csiphy0_clk_mux 19862306a36Sopenharmony_ci - const: csiphy1 19962306a36Sopenharmony_ci - const: csiphy1_clk_mux 20062306a36Sopenharmony_ci - const: csiphy2 20162306a36Sopenharmony_ci - const: csiphy2_clk_mux 20262306a36Sopenharmony_ci - const: ispif 20362306a36Sopenharmony_ci - const: vfe0 20462306a36Sopenharmony_ci - const: vfe1 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci vdda-supply: 20762306a36Sopenharmony_ci description: 20862306a36Sopenharmony_ci Definition of the regulator used as analog power supply. 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_cirequired: 21162306a36Sopenharmony_ci - clock-names 21262306a36Sopenharmony_ci - clocks 21362306a36Sopenharmony_ci - compatible 21462306a36Sopenharmony_ci - interrupt-names 21562306a36Sopenharmony_ci - interrupts 21662306a36Sopenharmony_ci - iommus 21762306a36Sopenharmony_ci - power-domains 21862306a36Sopenharmony_ci - reg 21962306a36Sopenharmony_ci - reg-names 22062306a36Sopenharmony_ci - vdda-supply 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ciadditionalProperties: false 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ciexamples: 22562306a36Sopenharmony_ci - | 22662306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 22762306a36Sopenharmony_ci #include <dt-bindings/clock/qcom,gcc-sdm660.h> 22862306a36Sopenharmony_ci #include <dt-bindings/clock/qcom,mmcc-sdm660.h> 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci camss: camss@ca00020 { 23162306a36Sopenharmony_ci compatible = "qcom,sdm660-camss"; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci clocks = <&mmcc CAMSS_AHB_CLK>, 23462306a36Sopenharmony_ci <&mmcc CAMSS_CPHY_CSID0_CLK>, 23562306a36Sopenharmony_ci <&mmcc CAMSS_CPHY_CSID1_CLK>, 23662306a36Sopenharmony_ci <&mmcc CAMSS_CPHY_CSID2_CLK>, 23762306a36Sopenharmony_ci <&mmcc CAMSS_CPHY_CSID3_CLK>, 23862306a36Sopenharmony_ci <&mmcc CAMSS_CSI0_AHB_CLK>, 23962306a36Sopenharmony_ci <&mmcc CAMSS_CSI0_CLK>, 24062306a36Sopenharmony_ci <&mmcc CAMSS_CPHY_CSID0_CLK>, 24162306a36Sopenharmony_ci <&mmcc CAMSS_CSI0PIX_CLK>, 24262306a36Sopenharmony_ci <&mmcc CAMSS_CSI0RDI_CLK>, 24362306a36Sopenharmony_ci <&mmcc CAMSS_CSI1_AHB_CLK>, 24462306a36Sopenharmony_ci <&mmcc CAMSS_CSI1_CLK>, 24562306a36Sopenharmony_ci <&mmcc CAMSS_CPHY_CSID1_CLK>, 24662306a36Sopenharmony_ci <&mmcc CAMSS_CSI1PIX_CLK>, 24762306a36Sopenharmony_ci <&mmcc CAMSS_CSI1RDI_CLK>, 24862306a36Sopenharmony_ci <&mmcc CAMSS_CSI2_AHB_CLK>, 24962306a36Sopenharmony_ci <&mmcc CAMSS_CSI2_CLK>, 25062306a36Sopenharmony_ci <&mmcc CAMSS_CPHY_CSID2_CLK>, 25162306a36Sopenharmony_ci <&mmcc CAMSS_CSI2PIX_CLK>, 25262306a36Sopenharmony_ci <&mmcc CAMSS_CSI2RDI_CLK>, 25362306a36Sopenharmony_ci <&mmcc CAMSS_CSI3_AHB_CLK>, 25462306a36Sopenharmony_ci <&mmcc CAMSS_CSI3_CLK>, 25562306a36Sopenharmony_ci <&mmcc CAMSS_CPHY_CSID3_CLK>, 25662306a36Sopenharmony_ci <&mmcc CAMSS_CSI3PIX_CLK>, 25762306a36Sopenharmony_ci <&mmcc CAMSS_CSI3RDI_CLK>, 25862306a36Sopenharmony_ci <&mmcc CAMSS_CSI0PHYTIMER_CLK>, 25962306a36Sopenharmony_ci <&mmcc CAMSS_CSI1PHYTIMER_CLK>, 26062306a36Sopenharmony_ci <&mmcc CAMSS_CSI2PHYTIMER_CLK>, 26162306a36Sopenharmony_ci <&mmcc CSIPHY_AHB2CRIF_CLK>, 26262306a36Sopenharmony_ci <&mmcc CAMSS_CSI_VFE0_CLK>, 26362306a36Sopenharmony_ci <&mmcc CAMSS_CSI_VFE1_CLK>, 26462306a36Sopenharmony_ci <&mmcc CAMSS_ISPIF_AHB_CLK>, 26562306a36Sopenharmony_ci <&mmcc THROTTLE_CAMSS_AXI_CLK>, 26662306a36Sopenharmony_ci <&mmcc CAMSS_TOP_AHB_CLK>, 26762306a36Sopenharmony_ci <&mmcc CAMSS_VFE0_AHB_CLK>, 26862306a36Sopenharmony_ci <&mmcc CAMSS_VFE0_CLK>, 26962306a36Sopenharmony_ci <&mmcc CAMSS_VFE0_STREAM_CLK>, 27062306a36Sopenharmony_ci <&mmcc CAMSS_VFE1_AHB_CLK>, 27162306a36Sopenharmony_ci <&mmcc CAMSS_VFE1_CLK>, 27262306a36Sopenharmony_ci <&mmcc CAMSS_VFE1_STREAM_CLK>, 27362306a36Sopenharmony_ci <&mmcc CAMSS_VFE_VBIF_AHB_CLK>, 27462306a36Sopenharmony_ci <&mmcc CAMSS_VFE_VBIF_AXI_CLK>; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci clock-names = "ahb", 27762306a36Sopenharmony_ci "cphy_csid0", 27862306a36Sopenharmony_ci "cphy_csid1", 27962306a36Sopenharmony_ci "cphy_csid2", 28062306a36Sopenharmony_ci "cphy_csid3", 28162306a36Sopenharmony_ci "csi0_ahb", 28262306a36Sopenharmony_ci "csi0", 28362306a36Sopenharmony_ci "csi0_phy", 28462306a36Sopenharmony_ci "csi0_pix", 28562306a36Sopenharmony_ci "csi0_rdi", 28662306a36Sopenharmony_ci "csi1_ahb", 28762306a36Sopenharmony_ci "csi1", 28862306a36Sopenharmony_ci "csi1_phy", 28962306a36Sopenharmony_ci "csi1_pix", 29062306a36Sopenharmony_ci "csi1_rdi", 29162306a36Sopenharmony_ci "csi2_ahb", 29262306a36Sopenharmony_ci "csi2", 29362306a36Sopenharmony_ci "csi2_phy", 29462306a36Sopenharmony_ci "csi2_pix", 29562306a36Sopenharmony_ci "csi2_rdi", 29662306a36Sopenharmony_ci "csi3_ahb", 29762306a36Sopenharmony_ci "csi3", 29862306a36Sopenharmony_ci "csi3_phy", 29962306a36Sopenharmony_ci "csi3_pix", 30062306a36Sopenharmony_ci "csi3_rdi", 30162306a36Sopenharmony_ci "csiphy0_timer", 30262306a36Sopenharmony_ci "csiphy1_timer", 30362306a36Sopenharmony_ci "csiphy2_timer", 30462306a36Sopenharmony_ci "csiphy_ahb2crif", 30562306a36Sopenharmony_ci "csi_vfe0", 30662306a36Sopenharmony_ci "csi_vfe1", 30762306a36Sopenharmony_ci "ispif_ahb", 30862306a36Sopenharmony_ci "throttle_axi", 30962306a36Sopenharmony_ci "top_ahb", 31062306a36Sopenharmony_ci "vfe0_ahb", 31162306a36Sopenharmony_ci "vfe0", 31262306a36Sopenharmony_ci "vfe0_stream", 31362306a36Sopenharmony_ci "vfe1_ahb", 31462306a36Sopenharmony_ci "vfe1", 31562306a36Sopenharmony_ci "vfe1_stream", 31662306a36Sopenharmony_ci "vfe_ahb", 31762306a36Sopenharmony_ci "vfe_axi"; 31862306a36Sopenharmony_ci 31962306a36Sopenharmony_ci interrupts = <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>, 32062306a36Sopenharmony_ci <GIC_SPI 297 IRQ_TYPE_EDGE_RISING>, 32162306a36Sopenharmony_ci <GIC_SPI 298 IRQ_TYPE_EDGE_RISING>, 32262306a36Sopenharmony_ci <GIC_SPI 299 IRQ_TYPE_EDGE_RISING>, 32362306a36Sopenharmony_ci <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>, 32462306a36Sopenharmony_ci <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, 32562306a36Sopenharmony_ci <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>, 32662306a36Sopenharmony_ci <GIC_SPI 309 IRQ_TYPE_EDGE_RISING>, 32762306a36Sopenharmony_ci <GIC_SPI 314 IRQ_TYPE_EDGE_RISING>, 32862306a36Sopenharmony_ci <GIC_SPI 315 IRQ_TYPE_EDGE_RISING>; 32962306a36Sopenharmony_ci 33062306a36Sopenharmony_ci interrupt-names = "csid0", 33162306a36Sopenharmony_ci "csid1", 33262306a36Sopenharmony_ci "csid2", 33362306a36Sopenharmony_ci "csid3", 33462306a36Sopenharmony_ci "csiphy0", 33562306a36Sopenharmony_ci "csiphy1", 33662306a36Sopenharmony_ci "csiphy2", 33762306a36Sopenharmony_ci "ispif", 33862306a36Sopenharmony_ci "vfe0", 33962306a36Sopenharmony_ci "vfe1"; 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_ci iommus = <&mmss_smmu 0xc00>, 34262306a36Sopenharmony_ci <&mmss_smmu 0xc01>, 34362306a36Sopenharmony_ci <&mmss_smmu 0xc02>, 34462306a36Sopenharmony_ci <&mmss_smmu 0xc03>; 34562306a36Sopenharmony_ci 34662306a36Sopenharmony_ci power-domains = <&mmcc CAMSS_VFE0_GDSC>, 34762306a36Sopenharmony_ci <&mmcc CAMSS_VFE1_GDSC>; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci reg = <0x0ca00020 0x10>, 35062306a36Sopenharmony_ci <0x0ca30000 0x100>, 35162306a36Sopenharmony_ci <0x0ca30400 0x100>, 35262306a36Sopenharmony_ci <0x0ca30800 0x100>, 35362306a36Sopenharmony_ci <0x0ca30c00 0x100>, 35462306a36Sopenharmony_ci <0x0c824000 0x1000>, 35562306a36Sopenharmony_ci <0x0ca00120 0x4>, 35662306a36Sopenharmony_ci <0x0c825000 0x1000>, 35762306a36Sopenharmony_ci <0x0ca00124 0x4>, 35862306a36Sopenharmony_ci <0x0c826000 0x1000>, 35962306a36Sopenharmony_ci <0x0ca00128 0x4>, 36062306a36Sopenharmony_ci <0x0ca31000 0x500>, 36162306a36Sopenharmony_ci <0x0ca10000 0x1000>, 36262306a36Sopenharmony_ci <0x0ca14000 0x1000>; 36362306a36Sopenharmony_ci 36462306a36Sopenharmony_ci reg-names = "csi_clk_mux", 36562306a36Sopenharmony_ci "csid0", 36662306a36Sopenharmony_ci "csid1", 36762306a36Sopenharmony_ci "csid2", 36862306a36Sopenharmony_ci "csid3", 36962306a36Sopenharmony_ci "csiphy0", 37062306a36Sopenharmony_ci "csiphy0_clk_mux", 37162306a36Sopenharmony_ci "csiphy1", 37262306a36Sopenharmony_ci "csiphy1_clk_mux", 37362306a36Sopenharmony_ci "csiphy2", 37462306a36Sopenharmony_ci "csiphy2_clk_mux", 37562306a36Sopenharmony_ci "ispif", 37662306a36Sopenharmony_ci "vfe0", 37762306a36Sopenharmony_ci "vfe1"; 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci vdda-supply = <®_2v8>; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci ports { 38262306a36Sopenharmony_ci #address-cells = <1>; 38362306a36Sopenharmony_ci #size-cells = <0>; 38462306a36Sopenharmony_ci }; 38562306a36Sopenharmony_ci }; 386