16be3837fSRobert Foss# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 26be3837fSRobert Foss 36be3837fSRobert Foss%YAML 1.2 46be3837fSRobert Foss--- 5*ab190665SRob Herring$id: http://devicetree.org/schemas/media/qcom,msm8996-camss.yaml# 6*ab190665SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 76be3837fSRobert Foss 86be3837fSRobert Fosstitle: Qualcomm CAMSS ISP 96be3837fSRobert Foss 106be3837fSRobert Fossmaintainers: 116be3837fSRobert Foss - Robert Foss <robert.foss@linaro.org> 126be3837fSRobert Foss - Todor Tomov <todor.too@gmail.com> 136be3837fSRobert Foss 146be3837fSRobert Fossdescription: | 156be3837fSRobert Foss The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms 166be3837fSRobert Foss 176be3837fSRobert Fossproperties: 186be3837fSRobert Foss compatible: 196be3837fSRobert Foss const: qcom,msm8996-camss 206be3837fSRobert Foss 216be3837fSRobert Foss clocks: 226be3837fSRobert Foss minItems: 36 236be3837fSRobert Foss maxItems: 36 246be3837fSRobert Foss 256be3837fSRobert Foss clock-names: 266be3837fSRobert Foss items: 276be3837fSRobert Foss - const: top_ahb 286be3837fSRobert Foss - const: ispif_ahb 296be3837fSRobert Foss - const: csiphy0_timer 306be3837fSRobert Foss - const: csiphy1_timer 316be3837fSRobert Foss - const: csiphy2_timer 326be3837fSRobert Foss - const: csi0_ahb 336be3837fSRobert Foss - const: csi0 346be3837fSRobert Foss - const: csi0_phy 356be3837fSRobert Foss - const: csi0_pix 366be3837fSRobert Foss - const: csi0_rdi 376be3837fSRobert Foss - const: csi1_ahb 386be3837fSRobert Foss - const: csi1 396be3837fSRobert Foss - const: csi1_phy 406be3837fSRobert Foss - const: csi1_pix 416be3837fSRobert Foss - const: csi1_rdi 426be3837fSRobert Foss - const: csi2_ahb 436be3837fSRobert Foss - const: csi2 446be3837fSRobert Foss - const: csi2_phy 456be3837fSRobert Foss - const: csi2_pix 466be3837fSRobert Foss - const: csi2_rdi 476be3837fSRobert Foss - const: csi3_ahb 486be3837fSRobert Foss - const: csi3 496be3837fSRobert Foss - const: csi3_phy 506be3837fSRobert Foss - const: csi3_pix 516be3837fSRobert Foss - const: csi3_rdi 526be3837fSRobert Foss - const: ahb 536be3837fSRobert Foss - const: vfe0 546be3837fSRobert Foss - const: csi_vfe0 556be3837fSRobert Foss - const: vfe0_ahb 566be3837fSRobert Foss - const: vfe0_stream 576be3837fSRobert Foss - const: vfe1 586be3837fSRobert Foss - const: csi_vfe1 596be3837fSRobert Foss - const: vfe1_ahb 606be3837fSRobert Foss - const: vfe1_stream 616be3837fSRobert Foss - const: vfe_ahb 626be3837fSRobert Foss - const: vfe_axi 636be3837fSRobert Foss 646be3837fSRobert Foss interrupts: 656be3837fSRobert Foss minItems: 10 666be3837fSRobert Foss maxItems: 10 676be3837fSRobert Foss 686be3837fSRobert Foss interrupt-names: 696be3837fSRobert Foss items: 706be3837fSRobert Foss - const: csiphy0 716be3837fSRobert Foss - const: csiphy1 726be3837fSRobert Foss - const: csiphy2 736be3837fSRobert Foss - const: csid0 746be3837fSRobert Foss - const: csid1 756be3837fSRobert Foss - const: csid2 766be3837fSRobert Foss - const: csid3 776be3837fSRobert Foss - const: ispif 786be3837fSRobert Foss - const: vfe0 796be3837fSRobert Foss - const: vfe1 806be3837fSRobert Foss 816be3837fSRobert Foss iommus: 826be3837fSRobert Foss maxItems: 4 836be3837fSRobert Foss 846be3837fSRobert Foss power-domains: 856be3837fSRobert Foss items: 866be3837fSRobert Foss - description: VFE0 GDSC - Video Front End, Global Distributed Switch Controller. 876be3837fSRobert Foss - description: VFE1 GDSC - Video Front End, Global Distributed Switch Controller. 886be3837fSRobert Foss 896be3837fSRobert Foss ports: 906be3837fSRobert Foss $ref: /schemas/graph.yaml#/properties/ports 916be3837fSRobert Foss 926be3837fSRobert Foss description: 936be3837fSRobert Foss CSI input ports. 946be3837fSRobert Foss 956be3837fSRobert Foss properties: 966be3837fSRobert Foss port@0: 976be3837fSRobert Foss $ref: /schemas/graph.yaml#/$defs/port-base 986be3837fSRobert Foss unevaluatedProperties: false 996be3837fSRobert Foss description: 1006be3837fSRobert Foss Input port for receiving CSI data. 1016be3837fSRobert Foss 1026be3837fSRobert Foss properties: 1036be3837fSRobert Foss endpoint: 1046be3837fSRobert Foss $ref: video-interfaces.yaml# 1056be3837fSRobert Foss unevaluatedProperties: false 1066be3837fSRobert Foss 1076be3837fSRobert Foss properties: 1086be3837fSRobert Foss data-lanes: 1096be3837fSRobert Foss description: 1106be3837fSRobert Foss An array of physical data lanes indexes. 1116be3837fSRobert Foss Position of an entry determines the logical 1126be3837fSRobert Foss lane number, while the value of an entry 1136be3837fSRobert Foss indicates physical lane index. Lane swapping 1146be3837fSRobert Foss is supported. Physical lane indexes are; 1156be3837fSRobert Foss 0, 1, 2, 3 1166be3837fSRobert Foss minItems: 1 1176be3837fSRobert Foss maxItems: 4 1186be3837fSRobert Foss 1196be3837fSRobert Foss required: 1206be3837fSRobert Foss - data-lanes 1216be3837fSRobert Foss 1226be3837fSRobert Foss port@1: 1236be3837fSRobert Foss $ref: /schemas/graph.yaml#/$defs/port-base 1246be3837fSRobert Foss unevaluatedProperties: false 1256be3837fSRobert Foss description: 1266be3837fSRobert Foss Input port for receiving CSI data. 1276be3837fSRobert Foss 1286be3837fSRobert Foss properties: 1296be3837fSRobert Foss endpoint: 1306be3837fSRobert Foss $ref: video-interfaces.yaml# 1316be3837fSRobert Foss unevaluatedProperties: false 1326be3837fSRobert Foss 1336be3837fSRobert Foss properties: 1346be3837fSRobert Foss data-lanes: 1356be3837fSRobert Foss minItems: 1 1366be3837fSRobert Foss maxItems: 4 1376be3837fSRobert Foss 1386be3837fSRobert Foss required: 1396be3837fSRobert Foss - data-lanes 1406be3837fSRobert Foss 1416be3837fSRobert Foss port@2: 1426be3837fSRobert Foss $ref: /schemas/graph.yaml#/$defs/port-base 1436be3837fSRobert Foss unevaluatedProperties: false 1446be3837fSRobert Foss description: 1456be3837fSRobert Foss Input port for receiving CSI data. 1466be3837fSRobert Foss 1476be3837fSRobert Foss properties: 1486be3837fSRobert Foss endpoint: 1496be3837fSRobert Foss $ref: video-interfaces.yaml# 1506be3837fSRobert Foss unevaluatedProperties: false 1516be3837fSRobert Foss 1526be3837fSRobert Foss properties: 1536be3837fSRobert Foss data-lanes: 1546be3837fSRobert Foss minItems: 1 1556be3837fSRobert Foss maxItems: 4 1566be3837fSRobert Foss 1576be3837fSRobert Foss required: 1586be3837fSRobert Foss - data-lanes 1596be3837fSRobert Foss 1606be3837fSRobert Foss port@3: 1616be3837fSRobert Foss $ref: /schemas/graph.yaml#/$defs/port-base 1626be3837fSRobert Foss unevaluatedProperties: false 1636be3837fSRobert Foss description: 1646be3837fSRobert Foss Input port for receiving CSI data. 1656be3837fSRobert Foss 1666be3837fSRobert Foss properties: 1676be3837fSRobert Foss endpoint: 1686be3837fSRobert Foss $ref: video-interfaces.yaml# 1696be3837fSRobert Foss unevaluatedProperties: false 1706be3837fSRobert Foss 1716be3837fSRobert Foss properties: 1726be3837fSRobert Foss data-lanes: 1736be3837fSRobert Foss minItems: 1 1746be3837fSRobert Foss maxItems: 4 1756be3837fSRobert Foss 1766be3837fSRobert Foss required: 1776be3837fSRobert Foss - data-lanes 1786be3837fSRobert Foss 1796be3837fSRobert Foss reg: 1806be3837fSRobert Foss minItems: 14 1816be3837fSRobert Foss maxItems: 14 1826be3837fSRobert Foss 1836be3837fSRobert Foss reg-names: 1846be3837fSRobert Foss items: 1856be3837fSRobert Foss - const: csiphy0 1866be3837fSRobert Foss - const: csiphy0_clk_mux 1876be3837fSRobert Foss - const: csiphy1 1886be3837fSRobert Foss - const: csiphy1_clk_mux 1896be3837fSRobert Foss - const: csiphy2 1906be3837fSRobert Foss - const: csiphy2_clk_mux 1916be3837fSRobert Foss - const: csid0 1926be3837fSRobert Foss - const: csid1 1936be3837fSRobert Foss - const: csid2 1946be3837fSRobert Foss - const: csid3 1956be3837fSRobert Foss - const: ispif 1966be3837fSRobert Foss - const: csi_clk_mux 1976be3837fSRobert Foss - const: vfe0 1986be3837fSRobert Foss - const: vfe1 1996be3837fSRobert Foss 2006be3837fSRobert Foss vdda-supply: 2016be3837fSRobert Foss description: 2026be3837fSRobert Foss Definition of the regulator used as analog power supply. 2036be3837fSRobert Foss 2046be3837fSRobert Fossrequired: 2056be3837fSRobert Foss - clock-names 2066be3837fSRobert Foss - clocks 2076be3837fSRobert Foss - compatible 2086be3837fSRobert Foss - interrupt-names 2096be3837fSRobert Foss - interrupts 2106be3837fSRobert Foss - iommus 2116be3837fSRobert Foss - power-domains 2126be3837fSRobert Foss - reg 2136be3837fSRobert Foss - reg-names 2146be3837fSRobert Foss - vdda-supply 2156be3837fSRobert Foss 2166be3837fSRobert FossadditionalProperties: false 2176be3837fSRobert Foss 2186be3837fSRobert Fossexamples: 2196be3837fSRobert Foss - | 2206be3837fSRobert Foss #include <dt-bindings/interrupt-controller/arm-gic.h> 2216be3837fSRobert Foss #include <dt-bindings/clock/qcom,gcc-msm8996.h> 2226be3837fSRobert Foss #include <dt-bindings/clock/qcom,mmcc-msm8996.h> 2236be3837fSRobert Foss 2246be3837fSRobert Foss camss: camss@a00000 { 2256be3837fSRobert Foss compatible = "qcom,msm8996-camss"; 2266be3837fSRobert Foss 2276be3837fSRobert Foss clocks = <&mmcc CAMSS_TOP_AHB_CLK>, 2286be3837fSRobert Foss <&mmcc CAMSS_ISPIF_AHB_CLK>, 2296be3837fSRobert Foss <&mmcc CAMSS_CSI0PHYTIMER_CLK>, 2306be3837fSRobert Foss <&mmcc CAMSS_CSI1PHYTIMER_CLK>, 2316be3837fSRobert Foss <&mmcc CAMSS_CSI2PHYTIMER_CLK>, 2326be3837fSRobert Foss <&mmcc CAMSS_CSI0_AHB_CLK>, 2336be3837fSRobert Foss <&mmcc CAMSS_CSI0_CLK>, 2346be3837fSRobert Foss <&mmcc CAMSS_CSI0PHY_CLK>, 2356be3837fSRobert Foss <&mmcc CAMSS_CSI0PIX_CLK>, 2366be3837fSRobert Foss <&mmcc CAMSS_CSI0RDI_CLK>, 2376be3837fSRobert Foss <&mmcc CAMSS_CSI1_AHB_CLK>, 2386be3837fSRobert Foss <&mmcc CAMSS_CSI1_CLK>, 2396be3837fSRobert Foss <&mmcc CAMSS_CSI1PHY_CLK>, 2406be3837fSRobert Foss <&mmcc CAMSS_CSI1PIX_CLK>, 2416be3837fSRobert Foss <&mmcc CAMSS_CSI1RDI_CLK>, 2426be3837fSRobert Foss <&mmcc CAMSS_CSI2_AHB_CLK>, 2436be3837fSRobert Foss <&mmcc CAMSS_CSI2_CLK>, 2446be3837fSRobert Foss <&mmcc CAMSS_CSI2PHY_CLK>, 2456be3837fSRobert Foss <&mmcc CAMSS_CSI2PIX_CLK>, 2466be3837fSRobert Foss <&mmcc CAMSS_CSI2RDI_CLK>, 2476be3837fSRobert Foss <&mmcc CAMSS_CSI3_AHB_CLK>, 2486be3837fSRobert Foss <&mmcc CAMSS_CSI3_CLK>, 2496be3837fSRobert Foss <&mmcc CAMSS_CSI3PHY_CLK>, 2506be3837fSRobert Foss <&mmcc CAMSS_CSI3PIX_CLK>, 2516be3837fSRobert Foss <&mmcc CAMSS_CSI3RDI_CLK>, 2526be3837fSRobert Foss <&mmcc CAMSS_AHB_CLK>, 2536be3837fSRobert Foss <&mmcc CAMSS_VFE0_CLK>, 2546be3837fSRobert Foss <&mmcc CAMSS_CSI_VFE0_CLK>, 2556be3837fSRobert Foss <&mmcc CAMSS_VFE0_AHB_CLK>, 2566be3837fSRobert Foss <&mmcc CAMSS_VFE0_STREAM_CLK>, 2576be3837fSRobert Foss <&mmcc CAMSS_VFE1_CLK>, 2586be3837fSRobert Foss <&mmcc CAMSS_CSI_VFE1_CLK>, 2596be3837fSRobert Foss <&mmcc CAMSS_VFE1_AHB_CLK>, 2606be3837fSRobert Foss <&mmcc CAMSS_VFE1_STREAM_CLK>, 2616be3837fSRobert Foss <&mmcc CAMSS_VFE_AHB_CLK>, 2626be3837fSRobert Foss <&mmcc CAMSS_VFE_AXI_CLK>; 2636be3837fSRobert Foss 2646be3837fSRobert Foss clock-names = "top_ahb", 2656be3837fSRobert Foss "ispif_ahb", 2666be3837fSRobert Foss "csiphy0_timer", 2676be3837fSRobert Foss "csiphy1_timer", 2686be3837fSRobert Foss "csiphy2_timer", 2696be3837fSRobert Foss "csi0_ahb", 2706be3837fSRobert Foss "csi0", 2716be3837fSRobert Foss "csi0_phy", 2726be3837fSRobert Foss "csi0_pix", 2736be3837fSRobert Foss "csi0_rdi", 2746be3837fSRobert Foss "csi1_ahb", 2756be3837fSRobert Foss "csi1", 2766be3837fSRobert Foss "csi1_phy", 2776be3837fSRobert Foss "csi1_pix", 2786be3837fSRobert Foss "csi1_rdi", 2796be3837fSRobert Foss "csi2_ahb", 2806be3837fSRobert Foss "csi2", 2816be3837fSRobert Foss "csi2_phy", 2826be3837fSRobert Foss "csi2_pix", 2836be3837fSRobert Foss "csi2_rdi", 2846be3837fSRobert Foss "csi3_ahb", 2856be3837fSRobert Foss "csi3", 2866be3837fSRobert Foss "csi3_phy", 2876be3837fSRobert Foss "csi3_pix", 2886be3837fSRobert Foss "csi3_rdi", 2896be3837fSRobert Foss "ahb", 2906be3837fSRobert Foss "vfe0", 2916be3837fSRobert Foss "csi_vfe0", 2926be3837fSRobert Foss "vfe0_ahb", 2936be3837fSRobert Foss "vfe0_stream", 2946be3837fSRobert Foss "vfe1", 2956be3837fSRobert Foss "csi_vfe1", 2966be3837fSRobert Foss "vfe1_ahb", 2976be3837fSRobert Foss "vfe1_stream", 2986be3837fSRobert Foss "vfe_ahb", 2996be3837fSRobert Foss "vfe_axi"; 3006be3837fSRobert Foss 3016be3837fSRobert Foss interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>, 3026be3837fSRobert Foss <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, 3036be3837fSRobert Foss <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>, 3046be3837fSRobert Foss <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>, 3056be3837fSRobert Foss <GIC_SPI 297 IRQ_TYPE_EDGE_RISING>, 3066be3837fSRobert Foss <GIC_SPI 298 IRQ_TYPE_EDGE_RISING>, 3076be3837fSRobert Foss <GIC_SPI 299 IRQ_TYPE_EDGE_RISING>, 3086be3837fSRobert Foss <GIC_SPI 309 IRQ_TYPE_EDGE_RISING>, 3096be3837fSRobert Foss <GIC_SPI 314 IRQ_TYPE_EDGE_RISING>, 3106be3837fSRobert Foss <GIC_SPI 315 IRQ_TYPE_EDGE_RISING>; 3116be3837fSRobert Foss 3126be3837fSRobert Foss interrupt-names = "csiphy0", 3136be3837fSRobert Foss "csiphy1", 3146be3837fSRobert Foss "csiphy2", 3156be3837fSRobert Foss "csid0", 3166be3837fSRobert Foss "csid1", 3176be3837fSRobert Foss "csid2", 3186be3837fSRobert Foss "csid3", 3196be3837fSRobert Foss "ispif", 3206be3837fSRobert Foss "vfe0", 3216be3837fSRobert Foss "vfe1"; 3226be3837fSRobert Foss 3236be3837fSRobert Foss iommus = <&vfe_smmu 0>, 3246be3837fSRobert Foss <&vfe_smmu 1>, 3256be3837fSRobert Foss <&vfe_smmu 2>, 3266be3837fSRobert Foss <&vfe_smmu 3>; 3276be3837fSRobert Foss 3286be3837fSRobert Foss power-domains = <&mmcc VFE0_GDSC>, 3296be3837fSRobert Foss <&mmcc VFE1_GDSC>; 3306be3837fSRobert Foss 3316be3837fSRobert Foss reg = <0x00a34000 0x1000>, 3326be3837fSRobert Foss <0x00a00030 0x4>, 3336be3837fSRobert Foss <0x00a35000 0x1000>, 3346be3837fSRobert Foss <0x00a00038 0x4>, 3356be3837fSRobert Foss <0x00a36000 0x1000>, 3366be3837fSRobert Foss <0x00a00040 0x4>, 3376be3837fSRobert Foss <0x00a30000 0x100>, 3386be3837fSRobert Foss <0x00a30400 0x100>, 3396be3837fSRobert Foss <0x00a30800 0x100>, 3406be3837fSRobert Foss <0x00a30c00 0x100>, 3416be3837fSRobert Foss <0x00a31000 0x500>, 3426be3837fSRobert Foss <0x00a00020 0x10>, 3436be3837fSRobert Foss <0x00a10000 0x1000>, 3446be3837fSRobert Foss <0x00a14000 0x1000>; 3456be3837fSRobert Foss 3466be3837fSRobert Foss reg-names = "csiphy0", 3476be3837fSRobert Foss "csiphy0_clk_mux", 3486be3837fSRobert Foss "csiphy1", 3496be3837fSRobert Foss "csiphy1_clk_mux", 3506be3837fSRobert Foss "csiphy2", 3516be3837fSRobert Foss "csiphy2_clk_mux", 3526be3837fSRobert Foss "csid0", 3536be3837fSRobert Foss "csid1", 3546be3837fSRobert Foss "csid2", 3556be3837fSRobert Foss "csid3", 3566be3837fSRobert Foss "ispif", 3576be3837fSRobert Foss "csi_clk_mux", 3586be3837fSRobert Foss "vfe0", 3596be3837fSRobert Foss "vfe1"; 3606be3837fSRobert Foss 3616be3837fSRobert Foss vdda-supply = <®_2v8>; 3626be3837fSRobert Foss 3636be3837fSRobert Foss ports { 3646be3837fSRobert Foss #address-cells = <1>; 3656be3837fSRobert Foss #size-cells = <0>; 3666be3837fSRobert Foss }; 3676be3837fSRobert Foss }; 368