Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/Documentation/devicetree/bindings/spi/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 4 kB image not shown  

Quelle  cdns,qspi-nor.yaml   Sprache: unbekannt

 
Spracherkennung für: .yaml vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/cdns,qspi-nor.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cadence Quad/Octal SPI controller

maintainers:
  - Vaishnav Achath <vaishnav.a@ti.com>

allOf:
  - $ref: spi-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: xlnx,versal-ospi-1.0
    then:
      required:
        - power-domains
  - if:
      properties:
        compatible:
          contains:
            const: starfive,jh7110-qspi
    then:
      properties:
        resets:
          minItems: 2
          maxItems: 3

        reset-names:
          minItems: 2
          maxItems: 3
          items:
            enum: [ qspi, qspi-ocp, rstc_ref ]

    else:
      properties:
        resets:
          maxItems: 2

        reset-names:
          minItems: 1
          maxItems: 2
          items:
            enum: [ qspi, qspi-ocp ]
  - if:
      properties:
        compatible:
          contains:
            const: amd,pensando-elba-qspi
    then:
      properties:
        cdns,fifo-depth:
          enum: [ 128, 256, 1024 ]
          default: 1024
    else:
      properties:
        cdns,fifo-depth:
          enum: [ 128, 256 ]
          default: 128

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - amd,pensando-elba-qspi
              - amd,versal2-ospi
              - intel,lgm-qspi
              - intel,socfpga-qspi
              - mobileye,eyeq5-ospi
              - starfive,jh7110-qspi
              - ti,am654-ospi
              - ti,k2g-qspi
              - xlnx,versal-ospi-1.0
          # The compatible is qspi-nor for historical reasons but such
          # controllers are meant to be used with flashes of all kinds,
          # ie. also NAND flashes, not only NOR flashes.
          - const: cdns,qspi-nor
      - const: cdns,qspi-nor
        deprecated: true

  reg:
    items:
      - description: the controller register set
      - description: the controller data area

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 3

  clock-names:
    oneOf:
      - items:
          - const: ref
      - items:
          - const: ref
          - const: ahb
          - const: apb

  cdns,fifo-depth:
    description:
      Size of the data FIFO in words.
    $ref: /schemas/types.yaml#/definitions/uint32

  cdns,fifo-width:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Bus width of the data FIFO in bytes.
    default: 4

  cdns,trigger-address:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      32-bit indirect AHB trigger address.

  cdns,is-decoded-cs:
    type: boolean
    description:
      Flag to indicate whether decoder is used to select different chip select
      for different memory regions.

  cdns,rclk-en:
    type: boolean
    description:
      Flag to indicate that QSPI return clock is used to latch the read
      data rather than the QSPI clock. Make sure that QSPI return clock
      is populated on the board before using this property.

  power-domains:
    maxItems: 1

  resets:
    minItems: 2
    maxItems: 3

  reset-names:
    minItems: 2
    maxItems: 3
    items:
      enum: [ qspi, qspi-ocp, rstc_ref ]

patternProperties:
  "^flash@[0-9a-f]+$":
    type: object
    $ref: cdns,qspi-nor-peripheral-props.yaml
    additionalProperties: true
    required:
      - cdns,read-delay
      - cdns,tshsl-ns
      - cdns,tsd2d-ns
      - cdns,tchsh-ns
      - cdns,tslch-ns

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - cdns,fifo-width
  - cdns,trigger-address
  - '#address-cells'
  - '#size-cells'

unevaluatedProperties: false

examples:
  - |
    qspi: spi@ff705000 {
        compatible = "intel,socfpga-qspi", "cdns,qspi-nor";
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0xff705000 0x1000>,
              <0xffa00000 0x1000>;
        interrupts = <0 151 4>;
        clocks = <&qspi_clk>;
        cdns,fifo-depth = <128>;
        cdns,fifo-width = <4>;
        cdns,trigger-address = <0x00000000>;
        resets = <&rst 0x1>, <&rst 0x2>;
        reset-names = "qspi", "qspi-ocp";

        flash@0 {
            compatible = "jedec,spi-nor";
            reg = <0x0>;
            cdns,read-delay = <4>;
            cdns,tshsl-ns = <60>;
            cdns,tsd2d-ns = <60>;
            cdns,tchsh-ns = <60>;
            cdns,tslch-ns = <60>;
        };
    };

[ Dauer der Verarbeitung: 0.32 Sekunden  ]