brintos

brintos / linux-shallow public Read only

0
0
Text · 8.4 KiB · f7e606d Raw
375 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/soc/mobileye/mobileye,eyeq5-olb.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Mobileye EyeQ SoC system controller8 9maintainers:10  - Grégory Clement <gregory.clement@bootlin.com>11  - Théo Lebrun <theo.lebrun@bootlin.com>12  - Vladimir Kondratiev <vladimir.kondratiev@mobileye.com>13 14description:15  OLB ("Other Logic Block") is a hardware block grouping smaller blocks. Clocks,16  resets, pinctrl are being handled from here. EyeQ5 and EyeQ6L host a single17  instance. EyeQ6H hosts seven instances.18 19properties:20  compatible:21    items:22      - enum:23          - mobileye,eyeq5-olb24          - mobileye,eyeq6l-olb25          - mobileye,eyeq6h-acc-olb26          - mobileye,eyeq6h-central-olb27          - mobileye,eyeq6h-east-olb28          - mobileye,eyeq6h-west-olb29          - mobileye,eyeq6h-south-olb30          - mobileye,eyeq6h-ddr0-olb31          - mobileye,eyeq6h-ddr1-olb32      - const: syscon33 34  reg:35    maxItems: 136 37  '#reset-cells':38    description:39      First cell is domain and optional if compatible has a single reset domain.40      Second cell is reset index inside that domain.41    enum: [ 1, 2 ]42 43  '#clock-cells':44    description:45      Cell is clock index. Optional if compatible has a single clock.46    enum: [ 0, 1 ]47 48  clocks:49    maxItems: 150    description:51      Input parent clock to all PLLs. Expected to be the main crystal.52 53  clock-names:54    const: ref55 56patternProperties:57  '-pins?$':58    type: object59    description: Pin muxing configuration.60    $ref: /schemas/pinctrl/pinmux-node.yaml#61    additionalProperties: false62    properties:63      pins: true64      function:65        enum: [gpio,66               # Bank A67               timer0, timer1, timer2, timer5, uart0, uart1, can0, can1, spi0,68               spi1, refclk0,69               # Bank B70               timer3, timer4, timer6, uart2, can2, spi2, spi3, mclk0]71      bias-disable: true72      bias-pull-down: true73      bias-pull-up: true74      drive-strength: true75    required:76      - pins77      - function78    allOf:79      - if:80          properties:81            function:82              const: gpio83        then:84          properties:85            pins:86              items: # PA0 - PA28, PB0 - PB2287                pattern: '^(P(A|B)1?[0-9]|PA2[0-8]|PB2[0-2])$'88      - if:89          properties:90            function:91              const: timer092        then:93          properties:94            pins:95              items:96                enum: [PA0, PA1]97      - if:98          properties:99            function:100              const: timer1101        then:102          properties:103            pins:104              items:105                enum: [PA2, PA3]106      - if:107          properties:108            function:109              const: timer2110        then:111          properties:112            pins:113              items:114                enum: [PA4, PA5]115      - if:116          properties:117            function:118              const: timer5119        then:120          properties:121            pins:122              items:123                enum: [PA6, PA7, PA8, PA9]124      - if:125          properties:126            function:127              const: uart0128        then:129          properties:130            pins:131              items:132                enum: [PA10, PA11]133      - if:134          properties:135            function:136              const: uart1137        then:138          properties:139            pins:140              items:141                enum: [PA12, PA13]142      - if:143          properties:144            function:145              const: can0146        then:147          properties:148            pins:149              items:150                enum: [PA14, PA15]151      - if:152          properties:153            function:154              const: can1155        then:156          properties:157            pins:158              items:159                enum: [PA16, PA17]160      - if:161          properties:162            function:163              const: spi0164        then:165          properties:166            pins:167              items:168                enum: [PA18, PA19, PA20, PA21, PA22]169      - if:170          properties:171            function:172              const: spi1173        then:174          properties:175            pins:176              items:177                enum: [PA23, PA24, PA25, PA26, PA27]178      - if:179          properties:180            function:181              const: refclk0182        then:183          properties:184            pins:185              items:186                enum: [PA28]187      - if:188          properties:189            function:190              const: timer3191        then:192          properties:193            pins:194              items:195                enum: [PB0, PB1]196      - if:197          properties:198            function:199              const: timer4200        then:201          properties:202            pins:203              items:204                enum: [PB2, PB3]205      - if:206          properties:207            function:208              const: timer6209        then:210          properties:211            pins:212              items:213                enum: [PB4, PB5, PB6, PB7]214      - if:215          properties:216            function:217              const: uart2218        then:219          properties:220            pins:221              items:222                enum: [PB8, PB9]223      - if:224          properties:225            function:226              const: can2227        then:228          properties:229            pins:230              items:231                enum: [PB10, PB11]232      - if:233          properties:234            function:235              const: spi2236        then:237          properties:238            pins:239              items:240                enum: [PB12, PB13, PB14, PB15, PB16]241      - if:242          properties:243            function:244              const: spi3245        then:246          properties:247            pins:248              items:249                enum: [PB17, PB18, PB19, PB20, PB21]250      - if:251          properties:252            function:253              const: mclk0254        then:255          properties:256            pins:257              items:258                enum: [PB22]259 260required:261  - compatible262  - reg263  - '#clock-cells'264  - clocks265  - clock-names266 267additionalProperties: false268 269allOf:270    # Compatibles exposing a single reset domain.271  - if:272      properties:273        compatible:274          contains:275            enum:276              - mobileye,eyeq6h-acc-olb277              - mobileye,eyeq6h-east-olb278              - mobileye,eyeq6h-west-olb279    then:280      properties:281        '#reset-cells':282          const: 1283      required:284        - '#reset-cells'285 286    # Compatibles exposing two reset domains.287  - if:288      properties:289        compatible:290          contains:291            enum:292              - mobileye,eyeq5-olb293              - mobileye,eyeq6l-olb294    then:295      properties:296        '#reset-cells':297          const: 2298      required:299        - '#reset-cells'300 301    # Compatibles not exposing resets.302  - if:303      properties:304        compatible:305          contains:306            enum:307              - mobileye,eyeq6h-central-olb308              - mobileye,eyeq6h-south-olb309              - mobileye,eyeq6h-ddr0-olb310              - mobileye,eyeq6h-ddr1-olb311    then:312      properties:313        '#reset-cells': false314 315    # Compatibles exposing a single clock.316  - if:317      properties:318        compatible:319          contains:320            enum:321              - mobileye,eyeq6h-central-olb322              - mobileye,eyeq6h-east-olb323              - mobileye,eyeq6h-west-olb324              - mobileye,eyeq6h-ddr0-olb325              - mobileye,eyeq6h-ddr1-olb326    then:327      properties:328        '#clock-cells':329          const: 0330    else:331      properties:332        '#clock-cells':333          const: 1334 335    # Only EyeQ5 has pinctrl in OLB.336  - if:337      not:338        properties:339          compatible:340            contains:341              const: mobileye,eyeq5-olb342    then:343      patternProperties:344        '-pins?$': false345 346examples:347  - |348    soc {349      #address-cells = <2>;350      #size-cells = <2>;351 352      system-controller@e00000 {353        compatible = "mobileye,eyeq5-olb", "syscon";354        reg = <0 0xe00000 0x0 0x400>;355        #reset-cells = <2>;356        #clock-cells = <1>;357        clocks = <&xtal>;358        clock-names = "ref";359      };360    };361  - |362    soc {363      #address-cells = <2>;364      #size-cells = <2>;365 366      system-controller@d2003000 {367        compatible = "mobileye,eyeq6h-acc-olb", "syscon";368        reg = <0x0 0xd2003000 0x0 0x1000>;369        #reset-cells = <1>;370        #clock-cells = <1>;371        clocks = <&xtal>;372        clock-names = "ref";373      };374    };375