brintos

brintos / linux-shallow public Read only

0
0
Text · 7.4 KiB · 7dab385 Raw
321 lines · yaml
1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm Camera Control Interface (CCI) I2C controller8 9maintainers:10  - Loic Poulain <loic.poulain@linaro.org>11  - Robert Foss <robert.foss@linaro.org>12 13properties:14  compatible:15    oneOf:16      - enum:17          - qcom,msm8226-cci18          - qcom,msm8974-cci19          - qcom,msm8996-cci20 21      - items:22          - enum:23              - qcom,msm8916-cci24          - const: qcom,msm8226-cci # CCI v125 26      - items:27          - enum:28              - qcom,sc7280-cci29              - qcom,sc8280xp-cci30              - qcom,sdm845-cci31              - qcom,sm6350-cci32              - qcom,sm8250-cci33              - qcom,sm8450-cci34              - qcom,sm8550-cci35              - qcom,sm8650-cci36          - const: qcom,msm8996-cci # CCI v237 38  "#address-cells":39    const: 140 41  "#size-cells":42    const: 043 44  clocks:45    minItems: 346    maxItems: 647 48  clock-names:49    minItems: 350    maxItems: 651 52  interrupts:53    maxItems: 154 55  power-domains:56    maxItems: 157 58  reg:59    maxItems: 160 61patternProperties:62  "^i2c-bus@[01]$":63    $ref: /schemas/i2c/i2c-controller.yaml#64    unevaluatedProperties: false65 66    properties:67      reg:68        maxItems: 169 70      clock-frequency:71        default: 10000072 73required:74  - compatible75  - clock-names76  - clocks77  - interrupts78  - reg79 80allOf:81  - if:82      properties:83        compatible:84          contains:85            enum:86              - qcom,msm8996-cci87    then:88      required:89        - power-domains90 91  - if:92      properties:93        compatible:94          contains:95            enum:96              - qcom,msm8226-cci97              - qcom,msm8916-cci98    then:99      properties:100        i2c-bus@1: false101 102  - if:103      properties:104        compatible:105          oneOf:106            - contains:107                enum:108                  - qcom,msm8974-cci109 110            - const: qcom,msm8226-cci111    then:112      properties:113        clocks:114          maxItems: 3115        clock-names:116          items:117            - const: camss_top_ahb118            - const: cci_ahb119            - const: cci120 121  - if:122      properties:123        compatible:124          oneOf:125            - contains:126                enum:127                  - qcom,msm8916-cci128 129            - const: qcom,msm8996-cci130    then:131      properties:132        clocks:133          minItems: 4134          maxItems: 4135        clock-names:136          items:137            - const: camss_top_ahb138            - const: cci_ahb139            - const: cci140            - const: camss_ahb141 142  - if:143      properties:144        compatible:145          contains:146            enum:147              - qcom,sdm845-cci148              - qcom,sm6350-cci149    then:150      properties:151        clocks:152          minItems: 6153        clock-names:154          items:155            - const: camnoc_axi156            - const: soc_ahb157            - const: slow_ahb_src158            - const: cpas_ahb159            - const: cci160            - const: cci_src161 162  - if:163      properties:164        compatible:165          contains:166            enum:167              - qcom,sc7280-cci168              - qcom,sm8250-cci169              - qcom,sm8450-cci170    then:171      properties:172        clocks:173          minItems: 5174          maxItems: 5175        clock-names:176          items:177            - const: camnoc_axi178            - const: slow_ahb_src179            - const: cpas_ahb180            - const: cci181            - const: cci_src182 183  - if:184      properties:185        compatible:186          contains:187            enum:188              - qcom,sc8280xp-cci189    then:190      properties:191        clocks:192          minItems: 4193          maxItems: 4194        clock-names:195          items:196            - const: camnoc_axi197            - const: slow_ahb_src198            - const: cpas_ahb199            - const: cci200 201  - if:202      properties:203        compatible:204          contains:205            enum:206              - qcom,sm8550-cci207              - qcom,sm8650-cci208    then:209      properties:210        clocks:211          minItems: 3212          maxItems: 3213        clock-names:214          items:215            - const: camnoc_axi216            - const: cpas_ahb217            - const: cci218 219additionalProperties: false220 221examples:222  - |223    #include <dt-bindings/clock/qcom,camcc-sdm845.h>224    #include <dt-bindings/gpio/gpio.h>225    #include <dt-bindings/interrupt-controller/arm-gic.h>226 227    cci@ac4a000 {228        reg = <0x0ac4a000 0x4000>;229        compatible = "qcom,sdm845-cci", "qcom,msm8996-cci";230        #address-cells = <1>;231        #size-cells = <0>;232 233        interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;234        power-domains = <&clock_camcc TITAN_TOP_GDSC>;235 236        clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,237                 <&clock_camcc CAM_CC_SOC_AHB_CLK>,238                 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,239                 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,240                 <&clock_camcc CAM_CC_CCI_CLK>,241                 <&clock_camcc CAM_CC_CCI_CLK_SRC>;242        clock-names = "camnoc_axi",243                      "soc_ahb",244                      "slow_ahb_src",245                      "cpas_ahb",246                      "cci",247                      "cci_src";248 249        assigned-clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,250                          <&clock_camcc CAM_CC_CCI_CLK>;251        assigned-clock-rates = <80000000>,252                               <37500000>;253 254        pinctrl-names = "default", "sleep";255        pinctrl-0 = <&cci0_default &cci1_default>;256        pinctrl-1 = <&cci0_sleep &cci1_sleep>;257 258        i2c-bus@0 {259            reg = <0>;260            clock-frequency = <1000000>;261            #address-cells = <1>;262            #size-cells = <0>;263 264            camera@10 {265                compatible = "ovti,ov8856";266                reg = <0x10>;267 268                reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;269                pinctrl-names = "default";270                pinctrl-0 = <&cam0_default>;271 272                clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;273                clock-names = "xvclk";274                clock-frequency = <19200000>;275 276                dovdd-supply = <&vreg_lvs1a_1p8>;277                avdd-supply = <&cam0_avdd_2v8>;278                dvdd-supply = <&cam0_dvdd_1v2>;279 280                port {281                    ov8856_ep: endpoint {282                        link-frequencies = /bits/ 64 <360000000 180000000>;283                        data-lanes = <1 2 3 4>;284                        remote-endpoint = <&csiphy0_ep>;285                    };286                };287            };288        };289 290        cci_i2c1: i2c-bus@1 {291            reg = <1>;292            clock-frequency = <1000000>;293            #address-cells = <1>;294            #size-cells = <0>;295 296            camera@60 {297                compatible = "ovti,ov7251";298                reg = <0x60>;299 300                enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;301                pinctrl-names = "default";302                pinctrl-0 = <&cam3_default>;303 304                clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;305                clock-names = "xclk";306                clock-frequency = <24000000>;307 308                vdddo-supply = <&vreg_lvs1a_1p8>;309                vdda-supply = <&cam3_avdd_2v8>;310 311                port {312                    ov7251_ep: endpoint {313                        data-lanes = <0>;314                        link-frequencies = /bits/ 64 <240000000 319200000>;315                        remote-endpoint = <&csiphy3_ep>;316                    };317                };318            };319        };320    };321