12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 22eb4d8dcSEmmanuel Vadot 32eb4d8dcSEmmanuel Vadot%YAML 1.2 42eb4d8dcSEmmanuel Vadot--- 5fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/media/qcom,msm8916-camss.yaml# 6fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 72eb4d8dcSEmmanuel Vadot 82eb4d8dcSEmmanuel Vadottitle: Qualcomm CAMSS ISP 92eb4d8dcSEmmanuel Vadot 102eb4d8dcSEmmanuel Vadotmaintainers: 112eb4d8dcSEmmanuel Vadot - Robert Foss <robert.foss@linaro.org> 122eb4d8dcSEmmanuel Vadot - Todor Tomov <todor.too@gmail.com> 132eb4d8dcSEmmanuel Vadot 142eb4d8dcSEmmanuel Vadotdescription: | 152eb4d8dcSEmmanuel Vadot The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms 162eb4d8dcSEmmanuel Vadot 172eb4d8dcSEmmanuel Vadotproperties: 182eb4d8dcSEmmanuel Vadot compatible: 192eb4d8dcSEmmanuel Vadot const: qcom,msm8916-camss 202eb4d8dcSEmmanuel Vadot 212eb4d8dcSEmmanuel Vadot clocks: 222eb4d8dcSEmmanuel Vadot minItems: 19 232eb4d8dcSEmmanuel Vadot maxItems: 19 242eb4d8dcSEmmanuel Vadot 252eb4d8dcSEmmanuel Vadot clock-names: 262eb4d8dcSEmmanuel Vadot items: 272eb4d8dcSEmmanuel Vadot - const: top_ahb 282eb4d8dcSEmmanuel Vadot - const: ispif_ahb 292eb4d8dcSEmmanuel Vadot - const: csiphy0_timer 302eb4d8dcSEmmanuel Vadot - const: csiphy1_timer 312eb4d8dcSEmmanuel Vadot - const: csi0_ahb 322eb4d8dcSEmmanuel Vadot - const: csi0 332eb4d8dcSEmmanuel Vadot - const: csi0_phy 342eb4d8dcSEmmanuel Vadot - const: csi0_pix 352eb4d8dcSEmmanuel Vadot - const: csi0_rdi 362eb4d8dcSEmmanuel Vadot - const: csi1_ahb 372eb4d8dcSEmmanuel Vadot - const: csi1 382eb4d8dcSEmmanuel Vadot - const: csi1_phy 392eb4d8dcSEmmanuel Vadot - const: csi1_pix 402eb4d8dcSEmmanuel Vadot - const: csi1_rdi 412eb4d8dcSEmmanuel Vadot - const: ahb 422eb4d8dcSEmmanuel Vadot - const: vfe0 432eb4d8dcSEmmanuel Vadot - const: csi_vfe0 442eb4d8dcSEmmanuel Vadot - const: vfe_ahb 452eb4d8dcSEmmanuel Vadot - const: vfe_axi 462eb4d8dcSEmmanuel Vadot 472eb4d8dcSEmmanuel Vadot interrupts: 482eb4d8dcSEmmanuel Vadot minItems: 6 492eb4d8dcSEmmanuel Vadot maxItems: 6 502eb4d8dcSEmmanuel Vadot 512eb4d8dcSEmmanuel Vadot interrupt-names: 522eb4d8dcSEmmanuel Vadot items: 532eb4d8dcSEmmanuel Vadot - const: csiphy0 542eb4d8dcSEmmanuel Vadot - const: csiphy1 552eb4d8dcSEmmanuel Vadot - const: csid0 562eb4d8dcSEmmanuel Vadot - const: csid1 572eb4d8dcSEmmanuel Vadot - const: ispif 582eb4d8dcSEmmanuel Vadot - const: vfe0 592eb4d8dcSEmmanuel Vadot 602eb4d8dcSEmmanuel Vadot iommus: 612eb4d8dcSEmmanuel Vadot maxItems: 1 622eb4d8dcSEmmanuel Vadot 632eb4d8dcSEmmanuel Vadot power-domains: 642eb4d8dcSEmmanuel Vadot items: 652eb4d8dcSEmmanuel Vadot - description: VFE GDSC - Video Front End, Global Distributed Switch Controller. 662eb4d8dcSEmmanuel Vadot 672eb4d8dcSEmmanuel Vadot ports: 682eb4d8dcSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 692eb4d8dcSEmmanuel Vadot 702eb4d8dcSEmmanuel Vadot description: 712eb4d8dcSEmmanuel Vadot CSI input ports. 722eb4d8dcSEmmanuel Vadot 732eb4d8dcSEmmanuel Vadot properties: 742eb4d8dcSEmmanuel Vadot port@0: 752eb4d8dcSEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 762eb4d8dcSEmmanuel Vadot unevaluatedProperties: false 772eb4d8dcSEmmanuel Vadot description: 782eb4d8dcSEmmanuel Vadot Input port for receiving CSI data. 792eb4d8dcSEmmanuel Vadot 802eb4d8dcSEmmanuel Vadot properties: 812eb4d8dcSEmmanuel Vadot endpoint: 822eb4d8dcSEmmanuel Vadot $ref: video-interfaces.yaml# 832eb4d8dcSEmmanuel Vadot unevaluatedProperties: false 842eb4d8dcSEmmanuel Vadot 852eb4d8dcSEmmanuel Vadot properties: 862eb4d8dcSEmmanuel Vadot data-lanes: 872eb4d8dcSEmmanuel Vadot description: 882eb4d8dcSEmmanuel Vadot An array of physical data lanes indexes. 892eb4d8dcSEmmanuel Vadot Position of an entry determines the logical 902eb4d8dcSEmmanuel Vadot lane number, while the value of an entry 912eb4d8dcSEmmanuel Vadot indicates physical lane index. Lane swapping 922eb4d8dcSEmmanuel Vadot is supported. Physical lane indexes; 932eb4d8dcSEmmanuel Vadot 0, 2, 3, 4. 942eb4d8dcSEmmanuel Vadot minItems: 1 952eb4d8dcSEmmanuel Vadot maxItems: 4 962eb4d8dcSEmmanuel Vadot 972eb4d8dcSEmmanuel Vadot required: 982eb4d8dcSEmmanuel Vadot - data-lanes 992eb4d8dcSEmmanuel Vadot 1002eb4d8dcSEmmanuel Vadot port@1: 1012eb4d8dcSEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 1022eb4d8dcSEmmanuel Vadot unevaluatedProperties: false 1032eb4d8dcSEmmanuel Vadot description: 1042eb4d8dcSEmmanuel Vadot Input port for receiving CSI data. 1052eb4d8dcSEmmanuel Vadot 1062eb4d8dcSEmmanuel Vadot properties: 1072eb4d8dcSEmmanuel Vadot endpoint: 1082eb4d8dcSEmmanuel Vadot $ref: video-interfaces.yaml# 1092eb4d8dcSEmmanuel Vadot unevaluatedProperties: false 1102eb4d8dcSEmmanuel Vadot 1112eb4d8dcSEmmanuel Vadot properties: 1122eb4d8dcSEmmanuel Vadot data-lanes: 1132eb4d8dcSEmmanuel Vadot minItems: 1 1142eb4d8dcSEmmanuel Vadot maxItems: 4 1152eb4d8dcSEmmanuel Vadot 1162eb4d8dcSEmmanuel Vadot required: 1172eb4d8dcSEmmanuel Vadot - data-lanes 1182eb4d8dcSEmmanuel Vadot 1192eb4d8dcSEmmanuel Vadot reg: 1202eb4d8dcSEmmanuel Vadot minItems: 9 1212eb4d8dcSEmmanuel Vadot maxItems: 9 1222eb4d8dcSEmmanuel Vadot 1232eb4d8dcSEmmanuel Vadot reg-names: 1242eb4d8dcSEmmanuel Vadot items: 1252eb4d8dcSEmmanuel Vadot - const: csiphy0 1262eb4d8dcSEmmanuel Vadot - const: csiphy0_clk_mux 1272eb4d8dcSEmmanuel Vadot - const: csiphy1 1282eb4d8dcSEmmanuel Vadot - const: csiphy1_clk_mux 1292eb4d8dcSEmmanuel Vadot - const: csid0 1302eb4d8dcSEmmanuel Vadot - const: csid1 1312eb4d8dcSEmmanuel Vadot - const: ispif 1322eb4d8dcSEmmanuel Vadot - const: csi_clk_mux 1332eb4d8dcSEmmanuel Vadot - const: vfe0 1342eb4d8dcSEmmanuel Vadot 1352eb4d8dcSEmmanuel Vadot vdda-supply: 1362eb4d8dcSEmmanuel Vadot description: 1372eb4d8dcSEmmanuel Vadot Definition of the regulator used as analog power supply. 1382eb4d8dcSEmmanuel Vadot 1392eb4d8dcSEmmanuel Vadotrequired: 1402eb4d8dcSEmmanuel Vadot - clock-names 1412eb4d8dcSEmmanuel Vadot - clocks 1422eb4d8dcSEmmanuel Vadot - compatible 1432eb4d8dcSEmmanuel Vadot - interrupt-names 1442eb4d8dcSEmmanuel Vadot - interrupts 1452eb4d8dcSEmmanuel Vadot - iommus 1462eb4d8dcSEmmanuel Vadot - power-domains 1472eb4d8dcSEmmanuel Vadot - reg 1482eb4d8dcSEmmanuel Vadot - reg-names 1492eb4d8dcSEmmanuel Vadot - vdda-supply 1502eb4d8dcSEmmanuel Vadot 1512eb4d8dcSEmmanuel VadotadditionalProperties: false 1522eb4d8dcSEmmanuel Vadot 1532eb4d8dcSEmmanuel Vadotexamples: 1542eb4d8dcSEmmanuel Vadot - | 1552eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1562eb4d8dcSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-msm8916.h> 1572eb4d8dcSEmmanuel Vadot 158*f126890aSEmmanuel Vadot camss: camss@1b0ac00 { 1592eb4d8dcSEmmanuel Vadot compatible = "qcom,msm8916-camss"; 1602eb4d8dcSEmmanuel Vadot 1612eb4d8dcSEmmanuel Vadot clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>, 1622eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_ISPIF_AHB_CLK>, 1632eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>, 1642eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>, 1652eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI0_AHB_CLK>, 1662eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI0_CLK>, 1672eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI0PHY_CLK>, 1682eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI0PIX_CLK>, 1692eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI0RDI_CLK>, 1702eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI1_AHB_CLK>, 1712eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI1_CLK>, 1722eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI1PHY_CLK>, 1732eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI1PIX_CLK>, 1742eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI1RDI_CLK>, 1752eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_AHB_CLK>, 1762eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_VFE0_CLK>, 1772eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_CSI_VFE0_CLK>, 1782eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_VFE_AHB_CLK>, 1792eb4d8dcSEmmanuel Vadot <&gcc GCC_CAMSS_VFE_AXI_CLK>; 1802eb4d8dcSEmmanuel Vadot 1812eb4d8dcSEmmanuel Vadot clock-names = "top_ahb", 1822eb4d8dcSEmmanuel Vadot "ispif_ahb", 1832eb4d8dcSEmmanuel Vadot "csiphy0_timer", 1842eb4d8dcSEmmanuel Vadot "csiphy1_timer", 1852eb4d8dcSEmmanuel Vadot "csi0_ahb", 1862eb4d8dcSEmmanuel Vadot "csi0", 1872eb4d8dcSEmmanuel Vadot "csi0_phy", 1882eb4d8dcSEmmanuel Vadot "csi0_pix", 1892eb4d8dcSEmmanuel Vadot "csi0_rdi", 1902eb4d8dcSEmmanuel Vadot "csi1_ahb", 1912eb4d8dcSEmmanuel Vadot "csi1", 1922eb4d8dcSEmmanuel Vadot "csi1_phy", 1932eb4d8dcSEmmanuel Vadot "csi1_pix", 1942eb4d8dcSEmmanuel Vadot "csi1_rdi", 1952eb4d8dcSEmmanuel Vadot "ahb", 1962eb4d8dcSEmmanuel Vadot "vfe0", 1972eb4d8dcSEmmanuel Vadot "csi_vfe0", 1982eb4d8dcSEmmanuel Vadot "vfe_ahb", 1992eb4d8dcSEmmanuel Vadot "vfe_axi"; 2002eb4d8dcSEmmanuel Vadot 2012eb4d8dcSEmmanuel Vadot interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>, 2022eb4d8dcSEmmanuel Vadot <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, 2032eb4d8dcSEmmanuel Vadot <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>, 2042eb4d8dcSEmmanuel Vadot <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>, 2052eb4d8dcSEmmanuel Vadot <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>, 2062eb4d8dcSEmmanuel Vadot <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>; 2072eb4d8dcSEmmanuel Vadot 2082eb4d8dcSEmmanuel Vadot interrupt-names = "csiphy0", 2092eb4d8dcSEmmanuel Vadot "csiphy1", 2102eb4d8dcSEmmanuel Vadot "csid0", 2112eb4d8dcSEmmanuel Vadot "csid1", 2122eb4d8dcSEmmanuel Vadot "ispif", 2132eb4d8dcSEmmanuel Vadot "vfe0"; 2142eb4d8dcSEmmanuel Vadot 2152eb4d8dcSEmmanuel Vadot iommus = <&apps_iommu 3>; 2162eb4d8dcSEmmanuel Vadot 2172eb4d8dcSEmmanuel Vadot power-domains = <&gcc VFE_GDSC>; 2182eb4d8dcSEmmanuel Vadot 2192eb4d8dcSEmmanuel Vadot reg = <0x01b0ac00 0x200>, 2202eb4d8dcSEmmanuel Vadot <0x01b00030 0x4>, 2212eb4d8dcSEmmanuel Vadot <0x01b0b000 0x200>, 2222eb4d8dcSEmmanuel Vadot <0x01b00038 0x4>, 2232eb4d8dcSEmmanuel Vadot <0x01b08000 0x100>, 2242eb4d8dcSEmmanuel Vadot <0x01b08400 0x100>, 2252eb4d8dcSEmmanuel Vadot <0x01b0a000 0x500>, 2262eb4d8dcSEmmanuel Vadot <0x01b00020 0x10>, 2272eb4d8dcSEmmanuel Vadot <0x01b10000 0x1000>; 2282eb4d8dcSEmmanuel Vadot 2292eb4d8dcSEmmanuel Vadot reg-names = "csiphy0", 2302eb4d8dcSEmmanuel Vadot "csiphy0_clk_mux", 2312eb4d8dcSEmmanuel Vadot "csiphy1", 2322eb4d8dcSEmmanuel Vadot "csiphy1_clk_mux", 2332eb4d8dcSEmmanuel Vadot "csid0", 2342eb4d8dcSEmmanuel Vadot "csid1", 2352eb4d8dcSEmmanuel Vadot "ispif", 2362eb4d8dcSEmmanuel Vadot "csi_clk_mux", 2372eb4d8dcSEmmanuel Vadot "vfe0"; 2382eb4d8dcSEmmanuel Vadot 2392eb4d8dcSEmmanuel Vadot vdda-supply = <®_2v8>; 2402eb4d8dcSEmmanuel Vadot 2412eb4d8dcSEmmanuel Vadot ports { 2422eb4d8dcSEmmanuel Vadot #address-cells = <1>; 2432eb4d8dcSEmmanuel Vadot #size-cells = <0>; 2442eb4d8dcSEmmanuel Vadot }; 2452eb4d8dcSEmmanuel Vadot 2462eb4d8dcSEmmanuel Vadot }; 247