xref: /linux/Documentation/devicetree/bindings/soc/renesas/renesas-soc.yaml (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
13a9856e8SNiklas Söderlund# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
23a9856e8SNiklas Söderlund%YAML 1.2
33a9856e8SNiklas Söderlund---
43a9856e8SNiklas Söderlund$id: http://devicetree.org/schemas/soc/renesas/renesas-soc.yaml#
53a9856e8SNiklas Söderlund$schema: http://devicetree.org/meta-schemas/core.yaml#
63a9856e8SNiklas Söderlund
73a9856e8SNiklas Söderlundtitle: Renesas SoC compatibles naming convention
83a9856e8SNiklas Söderlund
93a9856e8SNiklas Söderlundmaintainers:
103a9856e8SNiklas Söderlund  - Geert Uytterhoeven <geert+renesas@glider.be>
113a9856e8SNiklas Söderlund  - Niklas Söderlund <niklas.soderlund@ragnatech.se>
123a9856e8SNiklas Söderlund
133a9856e8SNiklas Söderlunddescription: |
143a9856e8SNiklas Söderlund  Guidelines for new compatibles for SoC blocks/components.
153a9856e8SNiklas Söderlund  When adding new compatibles in new bindings, use the format::
163a9856e8SNiklas Söderlund    renesas,SoC-IP
173a9856e8SNiklas Söderlund
183a9856e8SNiklas Söderlund  For example::
193a9856e8SNiklas Söderlund   renesas,r8a77965-csi2
203a9856e8SNiklas Söderlund
213a9856e8SNiklas Söderlund  When adding new compatibles to existing bindings, use the format in the
223a9856e8SNiklas Söderlund  existing binding, even if it contradicts the above.
233a9856e8SNiklas Söderlund
243a9856e8SNiklas Söderlundselect:
253a9856e8SNiklas Söderlund  properties:
263a9856e8SNiklas Söderlund    compatible:
273a9856e8SNiklas Söderlund      contains:
283a9856e8SNiklas Söderlund        pattern: "^renesas,.+-.+$"
293a9856e8SNiklas Söderlund  required:
303a9856e8SNiklas Söderlund    - compatible
313a9856e8SNiklas Söderlund
323a9856e8SNiklas Söderlundproperties:
333a9856e8SNiklas Söderlund  compatible:
343a9856e8SNiklas Söderlund    minItems: 1
353a9856e8SNiklas Söderlund    maxItems: 4
363a9856e8SNiklas Söderlund    items:
373a9856e8SNiklas Söderlund      anyOf:
383a9856e8SNiklas Söderlund        # Preferred naming style for compatibles of SoC components
393a9856e8SNiklas Söderlund        - pattern: "^renesas,(emev2|r(7s|8a|9a)[a-z0-9]+|rcar|rmobile|rz[a-z0-9]*|sh(7[a-z0-9]+)?|mobile)-[a-z0-9-]+$"
40*0d5a9b5dSLad Prabhakar        - pattern: "^renesas,(condor|falcon|gr-peach|gray-hawk|salvator|sk-rz|smar(c(2)?)?|spider|white-hawk)(.*)?$"
413a9856e8SNiklas Söderlund
423a9856e8SNiklas Söderlund        # Legacy compatibles
433a9856e8SNiklas Söderlund        #
443a9856e8SNiklas Söderlund        # New compatibles are not allowed.
453a9856e8SNiklas Söderlund        - pattern: "^renesas,(can|cpg|dmac|du|(g)?ether(avb)?|gpio|hscif|(r)?i[i2]c|imr|intc|ipmmu|irqc|jpu|mmcif|msiof|mtu2|pci(e)?|pfc|pwm|[rq]spi|rcar_sound|sata|scif[ab]*|sdhi|thermal|tmu|tpu|usb(2|hs)?|vin|xhci)-[a-z0-9-]+$"
463a9856e8SNiklas Söderlund        - pattern: "^renesas,(d|s)?bsc(3)?-(r8a73a4|r8a7740|sh73a0)$"
473a9856e8SNiklas Söderlund        - pattern: "^renesas,em-(gio|sti|uart)$"
483a9856e8SNiklas Söderlund        - pattern: "^renesas,fsi2-(r8a7740|sh73a0)$"
493a9856e8SNiklas Söderlund        - pattern: "^renesas,hspi-r8a777[89]$"
503a9856e8SNiklas Söderlund        - pattern: "^renesas,sysc-(r8a73a4|r8a7740|rmobile|sh73a0)$"
513a9856e8SNiklas Söderlund        - enum:
523a9856e8SNiklas Söderlund            - renesas,imr-lx4
533a9856e8SNiklas Söderlund            - renesas,mtu2-r7s72100
543a9856e8SNiklas Söderlund
553a9856e8SNiklas Söderlund        # None SoC component compatibles
563a9856e8SNiklas Söderlund        #
573a9856e8SNiklas Söderlund        # Compatibles with the Renesas vendor prefix that do not relate to any SoC
583a9856e8SNiklas Söderlund        # component are OK. New compatibles are allowed.
593a9856e8SNiklas Söderlund        - enum:
603a9856e8SNiklas Söderlund            - renesas,smp-sram
613a9856e8SNiklas Söderlund
623a9856e8SNiklas Söderlund        # Do not fail compatibles not matching the select pattern
633a9856e8SNiklas Söderlund        #
643a9856e8SNiklas Söderlund        # Some SoC components in addition to a Renesas compatible list
653a9856e8SNiklas Söderlund        # compatibles not related to Renesas. The select pattern for this
663a9856e8SNiklas Söderlund        # schema hits all compatibles that have at lest one Renesas compatible
673a9856e8SNiklas Söderlund        # and try to validate all values in that compatible array, allow all
683a9856e8SNiklas Söderlund        # that don't match the schema select pattern. For example,
693a9856e8SNiklas Söderlund        #
703a9856e8SNiklas Söderlund        #   compatible = "renesas,r9a07g044-mali", "arm,mali-bifrost";
713a9856e8SNiklas Söderlund        - pattern: "^(?!renesas,.+-.+).+$"
723a9856e8SNiklas Söderlund
733a9856e8SNiklas SöderlundadditionalProperties: true
74