cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

denali,nand.yaml (3189B)


      1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/mtd/denali,nand.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: Denali NAND controller
      8
      9maintainers:
     10  - Masahiro Yamada <yamada.masahiro@socionext.com>
     11
     12properties:
     13  compatible:
     14    enum:
     15      - altr,socfpga-denali-nand
     16      - socionext,uniphier-denali-nand-v5a
     17      - socionext,uniphier-denali-nand-v5b
     18
     19  reg-names:
     20    description: |
     21      There are two register regions:
     22        nand_data:  host data/command interface
     23        denali_reg: register interface
     24    items:
     25      - const: nand_data
     26      - const: denali_reg
     27
     28  reg:
     29    minItems: 2
     30    maxItems: 2
     31
     32  interrupts:
     33    maxItems: 1
     34
     35  clock-names:
     36    description: |
     37      There are three clocks:
     38        nand:   controller core clock
     39        nand_x: bus interface clock
     40        ecc:    ECC circuit clock
     41    items:
     42      - const: nand
     43      - const: nand_x
     44      - const: ecc
     45
     46  clocks:
     47    minItems: 3
     48    maxItems: 3
     49
     50  reset-names:
     51    description: |
     52      There are two optional resets:
     53        nand: controller core reset
     54        reg:  register reset
     55    oneOf:
     56      - items:
     57          - const: nand
     58          - const: reg
     59      - const: nand
     60      - const: reg
     61
     62  resets:
     63    minItems: 1
     64    maxItems: 2
     65
     66allOf:
     67  - $ref: nand-controller.yaml
     68
     69  - if:
     70      properties:
     71        compatible:
     72          contains:
     73            const: altr,socfpga-denali-nand
     74    then:
     75      patternProperties:
     76        "^nand@[a-f0-9]$":
     77          type: object
     78          properties:
     79            nand-ecc-strength:
     80              enum:
     81                - 8
     82                - 15
     83            nand-ecc-step-size:
     84              enum:
     85                - 512
     86
     87  - if:
     88      properties:
     89        compatible:
     90          contains:
     91            const: socionext,uniphier-denali-nand-v5a
     92    then:
     93      patternProperties:
     94        "^nand@[a-f0-9]$":
     95          type: object
     96          properties:
     97            nand-ecc-strength:
     98              enum:
     99                - 8
    100                - 16
    101                - 24
    102            nand-ecc-step-size:
    103              enum:
    104                - 1024
    105
    106  - if:
    107      properties:
    108        compatible:
    109          contains:
    110            const: socionext,uniphier-denali-nand-v5b
    111    then:
    112      patternProperties:
    113        "^nand@[a-f0-9]$":
    114          type: object
    115          properties:
    116            nand-ecc-strength:
    117              enum:
    118                - 8
    119                - 16
    120            nand-ecc-step-size:
    121              enum:
    122                - 1024
    123
    124required:
    125  - compatible
    126  - reg
    127  - interrupts
    128  - clock-names
    129  - clocks
    130
    131unevaluatedProperties: false
    132
    133examples:
    134  - |
    135    nand-controller@ff900000 {
    136        compatible = "altr,socfpga-denali-nand";
    137        reg-names = "nand_data", "denali_reg";
    138        reg = <0xff900000 0x20>, <0xffb80000 0x1000>;
    139        interrupts = <0 144 4>;
    140        clock-names = "nand", "nand_x", "ecc";
    141        clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>;
    142        reset-names = "nand", "reg";
    143        resets = <&nand_rst>, <&nand_reg_rst>;
    144        #address-cells = <1>;
    145        #size-cells = <0>;
    146
    147        nand@0 {
    148                reg = <0>;
    149        };
    150    };