1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 2 3 %YAML 1.2 3 %YAML 1.2 4 --- 4 --- 5 $id: http://devicetree.org/schemas/media/qcom, !! 5 $id: "http://devicetree.org/schemas/media/qcom,msm8916-camss.yaml#" 6 $schema: http://devicetree.org/meta-schemas/co !! 6 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 7 8 title: Qualcomm CAMSS ISP 8 title: Qualcomm CAMSS ISP 9 9 10 maintainers: 10 maintainers: 11 - Robert Foss <robert.foss@linaro.org> 11 - Robert Foss <robert.foss@linaro.org> 12 - Todor Tomov <todor.too@gmail.com> 12 - Todor Tomov <todor.too@gmail.com> 13 13 14 description: | 14 description: | 15 The CAMSS IP is a CSI decoder and ISP presen 15 The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms 16 16 17 properties: 17 properties: 18 compatible: 18 compatible: 19 const: qcom,msm8916-camss 19 const: qcom,msm8916-camss 20 20 21 clocks: 21 clocks: 22 minItems: 19 22 minItems: 19 23 maxItems: 19 23 maxItems: 19 24 24 25 clock-names: 25 clock-names: 26 items: 26 items: 27 - const: top_ahb 27 - const: top_ahb 28 - const: ispif_ahb 28 - const: ispif_ahb 29 - const: csiphy0_timer 29 - const: csiphy0_timer 30 - const: csiphy1_timer 30 - const: csiphy1_timer 31 - const: csi0_ahb 31 - const: csi0_ahb 32 - const: csi0 32 - const: csi0 33 - const: csi0_phy 33 - const: csi0_phy 34 - const: csi0_pix 34 - const: csi0_pix 35 - const: csi0_rdi 35 - const: csi0_rdi 36 - const: csi1_ahb 36 - const: csi1_ahb 37 - const: csi1 37 - const: csi1 38 - const: csi1_phy 38 - const: csi1_phy 39 - const: csi1_pix 39 - const: csi1_pix 40 - const: csi1_rdi 40 - const: csi1_rdi 41 - const: ahb 41 - const: ahb 42 - const: vfe0 42 - const: vfe0 43 - const: csi_vfe0 43 - const: csi_vfe0 44 - const: vfe_ahb 44 - const: vfe_ahb 45 - const: vfe_axi 45 - const: vfe_axi 46 46 47 interrupts: 47 interrupts: 48 minItems: 6 48 minItems: 6 49 maxItems: 6 49 maxItems: 6 50 50 51 interrupt-names: 51 interrupt-names: 52 items: 52 items: 53 - const: csiphy0 53 - const: csiphy0 54 - const: csiphy1 54 - const: csiphy1 55 - const: csid0 55 - const: csid0 56 - const: csid1 56 - const: csid1 57 - const: ispif 57 - const: ispif 58 - const: vfe0 58 - const: vfe0 59 59 60 iommus: 60 iommus: 61 maxItems: 1 61 maxItems: 1 62 62 63 power-domains: 63 power-domains: 64 items: 64 items: 65 - description: VFE GDSC - Video Front En 65 - description: VFE GDSC - Video Front End, Global Distributed Switch Controller. 66 66 67 ports: 67 ports: 68 $ref: /schemas/graph.yaml#/properties/port 68 $ref: /schemas/graph.yaml#/properties/ports 69 69 70 description: 70 description: 71 CSI input ports. 71 CSI input ports. 72 72 73 properties: 73 properties: 74 port@0: 74 port@0: 75 $ref: /schemas/graph.yaml#/$defs/port- 75 $ref: /schemas/graph.yaml#/$defs/port-base 76 unevaluatedProperties: false 76 unevaluatedProperties: false 77 description: 77 description: 78 Input port for receiving CSI data. 78 Input port for receiving CSI data. 79 79 80 properties: 80 properties: 81 endpoint: 81 endpoint: 82 $ref: video-interfaces.yaml# 82 $ref: video-interfaces.yaml# 83 unevaluatedProperties: false 83 unevaluatedProperties: false 84 84 85 properties: 85 properties: >> 86 clock-lanes: >> 87 items: >> 88 - const: 1 >> 89 86 data-lanes: 90 data-lanes: 87 description: 91 description: 88 An array of physical data la 92 An array of physical data lanes indexes. 89 Position of an entry determi 93 Position of an entry determines the logical 90 lane number, while the value 94 lane number, while the value of an entry 91 indicates physical lane inde 95 indicates physical lane index. Lane swapping 92 is supported. Physical lane 96 is supported. Physical lane indexes; 93 0, 2, 3, 4. 97 0, 2, 3, 4. 94 minItems: 1 98 minItems: 1 95 maxItems: 4 99 maxItems: 4 96 100 97 required: 101 required: >> 102 - clock-lanes 98 - data-lanes 103 - data-lanes 99 104 100 port@1: 105 port@1: 101 $ref: /schemas/graph.yaml#/$defs/port- 106 $ref: /schemas/graph.yaml#/$defs/port-base 102 unevaluatedProperties: false 107 unevaluatedProperties: false 103 description: 108 description: 104 Input port for receiving CSI data. 109 Input port for receiving CSI data. 105 110 106 properties: 111 properties: 107 endpoint: 112 endpoint: 108 $ref: video-interfaces.yaml# 113 $ref: video-interfaces.yaml# 109 unevaluatedProperties: false 114 unevaluatedProperties: false 110 115 111 properties: 116 properties: >> 117 clock-lanes: >> 118 items: >> 119 - const: 1 >> 120 112 data-lanes: 121 data-lanes: 113 minItems: 1 122 minItems: 1 114 maxItems: 4 123 maxItems: 4 115 124 116 required: 125 required: >> 126 - clock-lanes 117 - data-lanes 127 - data-lanes 118 128 119 reg: 129 reg: 120 minItems: 9 130 minItems: 9 121 maxItems: 9 131 maxItems: 9 122 132 123 reg-names: 133 reg-names: 124 items: 134 items: 125 - const: csiphy0 135 - const: csiphy0 126 - const: csiphy0_clk_mux 136 - const: csiphy0_clk_mux 127 - const: csiphy1 137 - const: csiphy1 128 - const: csiphy1_clk_mux 138 - const: csiphy1_clk_mux 129 - const: csid0 139 - const: csid0 130 - const: csid1 140 - const: csid1 131 - const: ispif 141 - const: ispif 132 - const: csi_clk_mux 142 - const: csi_clk_mux 133 - const: vfe0 143 - const: vfe0 134 144 135 vdda-supply: 145 vdda-supply: 136 description: 146 description: 137 Definition of the regulator used as anal 147 Definition of the regulator used as analog power supply. 138 148 139 required: 149 required: 140 - clock-names 150 - clock-names 141 - clocks 151 - clocks 142 - compatible 152 - compatible 143 - interrupt-names 153 - interrupt-names 144 - interrupts 154 - interrupts 145 - iommus 155 - iommus 146 - power-domains 156 - power-domains 147 - reg 157 - reg 148 - reg-names 158 - reg-names 149 - vdda-supply 159 - vdda-supply 150 160 151 additionalProperties: false 161 additionalProperties: false 152 162 153 examples: 163 examples: 154 - | 164 - | 155 #include <dt-bindings/interrupt-controller 165 #include <dt-bindings/interrupt-controller/arm-gic.h> 156 #include <dt-bindings/clock/qcom,gcc-msm89 166 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 157 167 158 camss: camss@1b0ac00 { !! 168 camss: camss@1b00000 { 159 compatible = "qcom,msm8916-camss"; 169 compatible = "qcom,msm8916-camss"; 160 170 161 clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>, 171 clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>, 162 <&gcc GCC_CAMSS_ISPIF_AHB_CLK>, 172 <&gcc GCC_CAMSS_ISPIF_AHB_CLK>, 163 <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>, 173 <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>, 164 <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>, 174 <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>, 165 <&gcc GCC_CAMSS_CSI0_AHB_CLK>, 175 <&gcc GCC_CAMSS_CSI0_AHB_CLK>, 166 <&gcc GCC_CAMSS_CSI0_CLK>, 176 <&gcc GCC_CAMSS_CSI0_CLK>, 167 <&gcc GCC_CAMSS_CSI0PHY_CLK>, 177 <&gcc GCC_CAMSS_CSI0PHY_CLK>, 168 <&gcc GCC_CAMSS_CSI0PIX_CLK>, 178 <&gcc GCC_CAMSS_CSI0PIX_CLK>, 169 <&gcc GCC_CAMSS_CSI0RDI_CLK>, 179 <&gcc GCC_CAMSS_CSI0RDI_CLK>, 170 <&gcc GCC_CAMSS_CSI1_AHB_CLK>, 180 <&gcc GCC_CAMSS_CSI1_AHB_CLK>, 171 <&gcc GCC_CAMSS_CSI1_CLK>, 181 <&gcc GCC_CAMSS_CSI1_CLK>, 172 <&gcc GCC_CAMSS_CSI1PHY_CLK>, 182 <&gcc GCC_CAMSS_CSI1PHY_CLK>, 173 <&gcc GCC_CAMSS_CSI1PIX_CLK>, 183 <&gcc GCC_CAMSS_CSI1PIX_CLK>, 174 <&gcc GCC_CAMSS_CSI1RDI_CLK>, 184 <&gcc GCC_CAMSS_CSI1RDI_CLK>, 175 <&gcc GCC_CAMSS_AHB_CLK>, 185 <&gcc GCC_CAMSS_AHB_CLK>, 176 <&gcc GCC_CAMSS_VFE0_CLK>, 186 <&gcc GCC_CAMSS_VFE0_CLK>, 177 <&gcc GCC_CAMSS_CSI_VFE0_CLK>, 187 <&gcc GCC_CAMSS_CSI_VFE0_CLK>, 178 <&gcc GCC_CAMSS_VFE_AHB_CLK>, 188 <&gcc GCC_CAMSS_VFE_AHB_CLK>, 179 <&gcc GCC_CAMSS_VFE_AXI_CLK>; 189 <&gcc GCC_CAMSS_VFE_AXI_CLK>; 180 190 181 clock-names = "top_ahb", 191 clock-names = "top_ahb", 182 "ispif_ahb", 192 "ispif_ahb", 183 "csiphy0_timer", 193 "csiphy0_timer", 184 "csiphy1_timer", 194 "csiphy1_timer", 185 "csi0_ahb", 195 "csi0_ahb", 186 "csi0", 196 "csi0", 187 "csi0_phy", 197 "csi0_phy", 188 "csi0_pix", 198 "csi0_pix", 189 "csi0_rdi", 199 "csi0_rdi", 190 "csi1_ahb", 200 "csi1_ahb", 191 "csi1", 201 "csi1", 192 "csi1_phy", 202 "csi1_phy", 193 "csi1_pix", 203 "csi1_pix", 194 "csi1_rdi", 204 "csi1_rdi", 195 "ahb", 205 "ahb", 196 "vfe0", 206 "vfe0", 197 "csi_vfe0", 207 "csi_vfe0", 198 "vfe_ahb", 208 "vfe_ahb", 199 "vfe_axi"; 209 "vfe_axi"; 200 210 201 interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_R 211 interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>, 202 <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, 212 <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, 203 <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>, 213 <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>, 204 <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>, 214 <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>, 205 <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>, 215 <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>, 206 <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>; 216 <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>; 207 217 208 interrupt-names = "csiphy0", 218 interrupt-names = "csiphy0", 209 "csiphy1", 219 "csiphy1", 210 "csid0", 220 "csid0", 211 "csid1", 221 "csid1", 212 "ispif", 222 "ispif", 213 "vfe0"; 223 "vfe0"; 214 224 215 iommus = <&apps_iommu 3>; 225 iommus = <&apps_iommu 3>; 216 226 217 power-domains = <&gcc VFE_GDSC>; 227 power-domains = <&gcc VFE_GDSC>; 218 228 219 reg = <0x01b0ac00 0x200>, 229 reg = <0x01b0ac00 0x200>, 220 <0x01b00030 0x4>, 230 <0x01b00030 0x4>, 221 <0x01b0b000 0x200>, 231 <0x01b0b000 0x200>, 222 <0x01b00038 0x4>, 232 <0x01b00038 0x4>, 223 <0x01b08000 0x100>, 233 <0x01b08000 0x100>, 224 <0x01b08400 0x100>, 234 <0x01b08400 0x100>, 225 <0x01b0a000 0x500>, 235 <0x01b0a000 0x500>, 226 <0x01b00020 0x10>, 236 <0x01b00020 0x10>, 227 <0x01b10000 0x1000>; 237 <0x01b10000 0x1000>; 228 238 229 reg-names = "csiphy0", 239 reg-names = "csiphy0", 230 "csiphy0_clk_mux", 240 "csiphy0_clk_mux", 231 "csiphy1", 241 "csiphy1", 232 "csiphy1_clk_mux", 242 "csiphy1_clk_mux", 233 "csid0", 243 "csid0", 234 "csid1", 244 "csid1", 235 "ispif", 245 "ispif", 236 "csi_clk_mux", 246 "csi_clk_mux", 237 "vfe0"; 247 "vfe0"; 238 248 239 vdda-supply = <®_2v8>; 249 vdda-supply = <®_2v8>; 240 250 241 ports { 251 ports { 242 #address-cells = <1>; 252 #address-cells = <1>; 243 #size-cells = <0>; 253 #size-cells = <0>; 244 }; 254 }; 245 255 246 }; 256 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.