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,lpddr3.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: LPDDR3 SDRAM compliant to JEDEC JESD209-3 8 9maintainers: 10 - Krzysztof Kozlowski <krzk@kernel.org> 11 12properties: 13 compatible: 14 items: 15 - enum: 16 - samsung,K3QF2F20DB 17 - const: jedec,lpddr3 18 19 '#address-cells': 20 const: 1 21 deprecated: true 22 23 density: 24 $ref: /schemas/types.yaml#/definitions/uint32 25 description: | 26 Density in megabits of SDRAM chip. 27 enum: 28 - 4096 29 - 8192 30 - 16384 31 - 32768 32 33 io-width: 34 $ref: /schemas/types.yaml#/definitions/uint32 35 description: | 36 IO bus width in bits of SDRAM chip. 37 enum: 38 - 32 39 - 16 40 41 manufacturer-id: 42 $ref: /schemas/types.yaml#/definitions/uint32 43 description: | 44 Manufacturer ID value read from Mode Register 5. The property is 45 deprecated, manufacturer should be derived from the compatible. 46 deprecated: true 47 48 revision-id: 49 $ref: /schemas/types.yaml#/definitions/uint32-array 50 minItems: 2 51 maxItems: 2 52 items: 53 maximum: 255 54 description: | 55 Revision value of SDRAM chip read from Mode Registers 6 and 7. 56 57 '#size-cells': 58 const: 0 59 deprecated: true 60 61 tCKE-min-tck: 62 $ref: /schemas/types.yaml#/definitions/uint32 63 maximum: 15 64 description: | 65 CKE minimum pulse width (HIGH and LOW pulse width) in terms of number 66 of clock cycles. 67 68 tCKESR-min-tck: 69 $ref: /schemas/types.yaml#/definitions/uint32 70 maximum: 15 71 description: | 72 CKE minimum pulse width during SELF REFRESH (low pulse width during 73 SELF REFRESH) in terms of number of clock cycles. 74 75 tDQSCK-min-tck: 76 $ref: /schemas/types.yaml#/definitions/uint32 77 maximum: 15 78 description: | 79 DQS output data access time from CK_t/CK_c in terms of number of clock 80 cycles. 81 82 tFAW-min-tck: 83 $ref: /schemas/types.yaml#/definitions/uint32 84 maximum: 63 85 description: | 86 Four-bank activate window in terms of number of clock cycles. 87 88 tMRD-min-tck: 89 $ref: /schemas/types.yaml#/definitions/uint32 90 maximum: 15 91 description: | 92 Mode register set command delay in terms of number of clock cycles. 93 94 tR2R-C2C-min-tck: 95 $ref: /schemas/types.yaml#/definitions/uint32 96 enum: [0, 1] 97 description: | 98 Additional READ-to-READ delay in chip-to-chip cases in terms of number 99 of clock cycles. 100 101 tRAS-min-tck: 102 $ref: /schemas/types.yaml#/definitions/uint32 103 maximum: 63 104 description: | 105 Row active time in terms of number of clock cycles. 106 107 tRC-min-tck: 108 $ref: /schemas/types.yaml#/definitions/uint32 109 maximum: 63 110 description: | 111 ACTIVATE-to-ACTIVATE command period in terms of number of clock cycles. 112 113 tRCD-min-tck: 114 $ref: /schemas/types.yaml#/definitions/uint32 115 maximum: 15 116 description: | 117 RAS-to-CAS delay in terms of number of clock cycles. 118 119 tRFC-min-tck: 120 $ref: /schemas/types.yaml#/definitions/uint32 121 maximum: 255 122 description: | 123 Refresh Cycle time in terms of number of clock cycles. 124 125 tRL-min-tck: 126 $ref: /schemas/types.yaml#/definitions/uint32 127 maximum: 15 128 description: | 129 READ data latency in terms of number of clock cycles. 130 131 tRPab-min-tck: 132 $ref: /schemas/types.yaml#/definitions/uint32 133 maximum: 15 134 description: | 135 Row precharge time (all banks) in terms of number of clock cycles. 136 137 tRPpb-min-tck: 138 $ref: /schemas/types.yaml#/definitions/uint32 139 maximum: 15 140 description: | 141 Row precharge time (single banks) in terms of number of clock cycles. 142 143 tRRD-min-tck: 144 $ref: /schemas/types.yaml#/definitions/uint32 145 maximum: 15 146 description: | 147 Active bank A to active bank B in terms of number of clock cycles. 148 149 tRTP-min-tck: 150 $ref: /schemas/types.yaml#/definitions/uint32 151 maximum: 15 152 description: | 153 Internal READ to PRECHARGE command delay in terms of number of clock 154 cycles. 155 156 tW2W-C2C-min-tck: 157 $ref: /schemas/types.yaml#/definitions/uint32 158 enum: [0, 1] 159 description: | 160 Additional WRITE-to-WRITE delay in chip-to-chip cases in terms of number 161 of clock cycles. 162 163 tWL-min-tck: 164 $ref: /schemas/types.yaml#/definitions/uint32 165 maximum: 15 166 description: | 167 WRITE data latency in terms of number of clock cycles. 168 169 tWR-min-tck: 170 $ref: /schemas/types.yaml#/definitions/uint32 171 maximum: 15 172 description: | 173 WRITE recovery time in terms of number of clock cycles. 174 175 tWTR-min-tck: 176 $ref: /schemas/types.yaml#/definitions/uint32 177 maximum: 15 178 description: | 179 Internal WRITE-to-READ command delay in terms of number of clock cycles. 180 181 tXP-min-tck: 182 $ref: /schemas/types.yaml#/definitions/uint32 183 maximum: 255 184 description: | 185 Exit power-down to next valid command delay in terms of number of clock 186 cycles. 187 188 tXSR-min-tck: 189 $ref: /schemas/types.yaml#/definitions/uint32 190 maximum: 1023 191 description: | 192 SELF REFRESH exit to next valid command delay in terms of number of clock 193 cycles. 194 195patternProperties: 196 "^timings((-[0-9])+|(@[0-9a-f]+))?$": 197 $ref: jedec,lpddr3-timings.yaml 198 description: | 199 The lpddr3 node may have one or more child nodes with timings. 200 Each timing node provides AC timing parameters of the device for a given 201 speed-bin. The user may provide the timings for as many speed-bins as is 202 required. 203 204required: 205 - compatible 206 - density 207 - io-width 208 209additionalProperties: false 210 211examples: 212 - | 213 lpddr3 { 214 compatible = "samsung,K3QF2F20DB", "jedec,lpddr3"; 215 density = <16384>; 216 io-width = <32>; 217 218 tCKE-min-tck = <2>; 219 tCKESR-min-tck = <2>; 220 tDQSCK-min-tck = <5>; 221 tFAW-min-tck = <5>; 222 tMRD-min-tck = <5>; 223 tR2R-C2C-min-tck = <0>; 224 tRAS-min-tck = <5>; 225 tRC-min-tck = <6>; 226 tRCD-min-tck = <3>; 227 tRFC-min-tck = <17>; 228 tRL-min-tck = <14>; 229 tRPab-min-tck = <2>; 230 tRPpb-min-tck = <2>; 231 tRRD-min-tck = <2>; 232 tRTP-min-tck = <2>; 233 tW2W-C2C-min-tck = <0>; 234 tWL-min-tck = <8>; 235 tWR-min-tck = <7>; 236 tWTR-min-tck = <2>; 237 tXP-min-tck = <2>; 238 tXSR-min-tck = <12>; 239 240 timings { 241 compatible = "jedec,lpddr3-timings"; 242 max-freq = <800000000>; 243 min-freq = <100000000>; 244 tCKE = <3750>; 245 tCKESR = <3750>; 246 tFAW = <25000>; 247 tMRD = <7000>; 248 tR2R-C2C = <0>; 249 tRAS = <23000>; 250 tRC = <33750>; 251 tRCD = <10000>; 252 tRFC = <65000>; 253 tRPab = <12000>; 254 tRPpb = <12000>; 255 tRRD = <6000>; 256 tRTP = <3750>; 257 tW2W-C2C = <0>; 258 tWR = <7500>; 259 tWTR = <3750>; 260 tXP = <3750>; 261 tXSR = <70000>; 262 }; 263 }; 264