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

jedec,lpddr2.yaml (6509B)


      1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr2.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: LPDDR2 SDRAM compliant to JEDEC JESD209-2
      8
      9maintainers:
     10  - Krzysztof Kozlowski <krzk@kernel.org>
     11
     12properties:
     13  compatible:
     14    oneOf:
     15      - items:
     16          - enum:
     17              - elpida,ECB240ABACN
     18              - elpida,B8132B2PB-6D-F
     19          - enum:
     20              - jedec,lpddr2-s4
     21      - items:
     22          - enum:
     23              - jedec,lpddr2-s2
     24      - items:
     25          - enum:
     26              - jedec,lpddr2-nvm
     27
     28  revision-id1:
     29    $ref: /schemas/types.yaml#/definitions/uint32
     30    maximum: 255
     31    description: |
     32      Revision 1 value of SDRAM chip. Obtained from device datasheet.
     33      Property is deprecated, use revision-id instead.
     34    deprecated: true
     35
     36  revision-id2:
     37    $ref: /schemas/types.yaml#/definitions/uint32
     38    maximum: 255
     39    description: |
     40      Revision 2 value of SDRAM chip. Obtained from device datasheet.
     41      Property is deprecated, use revision-id instead.
     42    deprecated: true
     43
     44  revision-id:
     45    $ref: /schemas/types.yaml#/definitions/uint32-array
     46    description: |
     47      Revision IDs read from Mode Register 6 and 7. One byte per uint32 cell (i.e. <MR6 MR7>).
     48    minItems: 2
     49    maxItems: 2
     50    items:
     51      minimum: 0
     52      maximum: 255
     53
     54  density:
     55    $ref: /schemas/types.yaml#/definitions/uint32
     56    description: |
     57      Density in megabits of SDRAM chip. Obtained from device datasheet.
     58    enum:
     59      - 64
     60      - 128
     61      - 256
     62      - 512
     63      - 1024
     64      - 2048
     65      - 4096
     66      - 8192
     67      - 16384
     68      - 32768
     69
     70  io-width:
     71    $ref: /schemas/types.yaml#/definitions/uint32
     72    description: |
     73      IO bus width in bits of SDRAM chip. Obtained from device datasheet.
     74    enum:
     75      - 32
     76      - 16
     77      - 8
     78
     79  tRRD-min-tck:
     80    $ref: /schemas/types.yaml#/definitions/uint32
     81    maximum: 16
     82    description: |
     83      Active bank a to active bank b in terms of number of clock cycles.
     84      Obtained from device datasheet.
     85
     86  tWTR-min-tck:
     87    $ref: /schemas/types.yaml#/definitions/uint32
     88    maximum: 16
     89    description: |
     90      Internal WRITE-to-READ command delay in terms of number of clock cycles.
     91      Obtained from device datasheet.
     92
     93  tXP-min-tck:
     94    $ref: /schemas/types.yaml#/definitions/uint32
     95    maximum: 16
     96    description: |
     97      Exit power-down to next valid command delay in terms of number of clock
     98      cycles. Obtained from device datasheet.
     99
    100  tRTP-min-tck:
    101    $ref: /schemas/types.yaml#/definitions/uint32
    102    maximum: 16
    103    description: |
    104      Internal READ to PRECHARGE command delay in terms of number of clock
    105      cycles. Obtained from device datasheet.
    106
    107  tCKE-min-tck:
    108    $ref: /schemas/types.yaml#/definitions/uint32
    109    maximum: 16
    110    description: |
    111      CKE minimum pulse width (HIGH and LOW pulse width) in terms of number
    112      of clock cycles. Obtained from device datasheet.
    113
    114  tRPab-min-tck:
    115    $ref: /schemas/types.yaml#/definitions/uint32
    116    maximum: 16
    117    description: |
    118      Row precharge time (all banks) in terms of number of clock cycles.
    119      Obtained from device datasheet.
    120
    121  tRCD-min-tck:
    122    $ref: /schemas/types.yaml#/definitions/uint32
    123    maximum: 16
    124    description: |
    125      RAS-to-CAS delay in terms of number of clock cycles. Obtained from
    126      device datasheet.
    127
    128  tWR-min-tck:
    129    $ref: /schemas/types.yaml#/definitions/uint32
    130    maximum: 16
    131    description: |
    132      WRITE recovery time in terms of number of clock cycles. Obtained from
    133      device datasheet.
    134
    135  tRASmin-min-tck:
    136    $ref: /schemas/types.yaml#/definitions/uint32
    137    maximum: 16
    138    description: |
    139      Row active time in terms of number of clock cycles. Obtained from device
    140      datasheet.
    141
    142  tCKESR-min-tck:
    143    $ref: /schemas/types.yaml#/definitions/uint32
    144    maximum: 16
    145    description: |
    146      CKE minimum pulse width during SELF REFRESH (low pulse width during
    147      SELF REFRESH) in terms of number of clock cycles. Obtained from device
    148      datasheet.
    149
    150  tFAW-min-tck:
    151    $ref: /schemas/types.yaml#/definitions/uint32
    152    maximum: 16
    153    description: |
    154      Four-bank activate window in terms of number of clock cycles. Obtained
    155      from device datasheet.
    156
    157patternProperties:
    158  "^lpddr2-timings":
    159    $ref: jedec,lpddr2-timings.yaml
    160    description: |
    161      The lpddr2 node may have one or more child nodes of type "lpddr2-timings".
    162      "lpddr2-timings" provides AC timing parameters of the device for
    163      a given speed-bin. The user may provide the timings for as many
    164      speed-bins as is required.
    165
    166required:
    167  - compatible
    168  - density
    169  - io-width
    170
    171additionalProperties: false
    172
    173examples:
    174  - |
    175    elpida_ECB240ABACN: lpddr2 {
    176        compatible = "elpida,ECB240ABACN", "jedec,lpddr2-s4";
    177        density = <2048>;
    178        io-width = <32>;
    179        revision-id = <1 0>;
    180
    181        tRPab-min-tck = <3>;
    182        tRCD-min-tck = <3>;
    183        tWR-min-tck = <3>;
    184        tRASmin-min-tck = <3>;
    185        tRRD-min-tck = <2>;
    186        tWTR-min-tck = <2>;
    187        tXP-min-tck = <2>;
    188        tRTP-min-tck = <2>;
    189        tCKE-min-tck = <3>;
    190        tCKESR-min-tck = <3>;
    191        tFAW-min-tck = <8>;
    192
    193        timings_elpida_ECB240ABACN_400mhz: lpddr2-timings0 {
    194            compatible = "jedec,lpddr2-timings";
    195            min-freq = <10000000>;
    196            max-freq = <400000000>;
    197            tRPab = <21000>;
    198            tRCD = <18000>;
    199            tWR = <15000>;
    200            tRAS-min = <42000>;
    201            tRRD = <10000>;
    202            tWTR = <7500>;
    203            tXP = <7500>;
    204            tRTP = <7500>;
    205            tCKESR = <15000>;
    206            tDQSCK-max = <5500>;
    207            tFAW = <50000>;
    208            tZQCS = <90000>;
    209            tZQCL = <360000>;
    210            tZQinit = <1000000>;
    211            tRAS-max-ns = <70000>;
    212        };
    213
    214        timings_elpida_ECB240ABACN_200mhz: lpddr2-timings1 {
    215            compatible = "jedec,lpddr2-timings";
    216            min-freq = <10000000>;
    217            max-freq = <200000000>;
    218            tRPab = <21000>;
    219            tRCD = <18000>;
    220            tWR = <15000>;
    221            tRAS-min = <42000>;
    222            tRRD = <10000>;
    223            tWTR = <10000>;
    224            tXP = <7500>;
    225            tRTP = <7500>;
    226            tCKESR = <15000>;
    227            tDQSCK-max = <5500>;
    228            tFAW = <50000>;
    229            tZQCS = <90000>;
    230            tZQCL = <360000>;
    231            tZQinit = <1000000>;
    232            tRAS-max-ns = <70000>;
    233        };
    234    };