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