19e17f71eSDmitry Osipenko# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 29e17f71eSDmitry Osipenko%YAML 1.2 39e17f71eSDmitry Osipenko--- 49e17f71eSDmitry Osipenko$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr2.yaml# 59e17f71eSDmitry Osipenko$schema: http://devicetree.org/meta-schemas/core.yaml# 69e17f71eSDmitry Osipenko 79e17f71eSDmitry Osipenkotitle: LPDDR2 SDRAM compliant to JEDEC JESD209-2 89e17f71eSDmitry Osipenko 99e17f71eSDmitry Osipenkomaintainers: 108a1e6bb3SKrzysztof Kozlowski - Krzysztof Kozlowski <krzk@kernel.org> 119e17f71eSDmitry Osipenko 12*b7178cd5SJulius WernerallOf: 13*b7178cd5SJulius Werner - $ref: jedec,lpddr-props.yaml# 14*b7178cd5SJulius Werner 159e17f71eSDmitry Osipenkoproperties: 169e17f71eSDmitry Osipenko compatible: 179e17f71eSDmitry Osipenko oneOf: 189e17f71eSDmitry Osipenko - items: 199e17f71eSDmitry Osipenko - enum: 209e17f71eSDmitry Osipenko - elpida,ECB240ABACN 212782ece0SDmitry Osipenko - elpida,B8132B2PB-6D-F 229e17f71eSDmitry Osipenko - enum: 239e17f71eSDmitry Osipenko - jedec,lpddr2-s4 249e17f71eSDmitry Osipenko - items: 259e17f71eSDmitry Osipenko - enum: 269e17f71eSDmitry Osipenko - jedec,lpddr2-s2 279e17f71eSDmitry Osipenko - items: 289e17f71eSDmitry Osipenko - enum: 299e17f71eSDmitry Osipenko - jedec,lpddr2-nvm 309e17f71eSDmitry Osipenko 313539a2c6SDmitry Osipenko revision-id1: 323539a2c6SDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 333539a2c6SDmitry Osipenko maximum: 255 343539a2c6SDmitry Osipenko description: | 353539a2c6SDmitry Osipenko Revision 1 value of SDRAM chip. Obtained from device datasheet. 3680ce9173SJulius Werner Property is deprecated, use revision-id instead. 3780ce9173SJulius Werner deprecated: true 383539a2c6SDmitry Osipenko 393539a2c6SDmitry Osipenko revision-id2: 403539a2c6SDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 413539a2c6SDmitry Osipenko maximum: 255 423539a2c6SDmitry Osipenko description: | 433539a2c6SDmitry Osipenko Revision 2 value of SDRAM chip. Obtained from device datasheet. 4480ce9173SJulius Werner Property is deprecated, use revision-id instead. 4580ce9173SJulius Werner deprecated: true 4680ce9173SJulius Werner 479e17f71eSDmitry Osipenko tRRD-min-tck: 489e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 499e17f71eSDmitry Osipenko maximum: 16 509e17f71eSDmitry Osipenko description: | 519e17f71eSDmitry Osipenko Active bank a to active bank b in terms of number of clock cycles. 529e17f71eSDmitry Osipenko Obtained from device datasheet. 539e17f71eSDmitry Osipenko 549e17f71eSDmitry Osipenko tWTR-min-tck: 559e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 569e17f71eSDmitry Osipenko maximum: 16 579e17f71eSDmitry Osipenko description: | 589e17f71eSDmitry Osipenko Internal WRITE-to-READ command delay in terms of number of clock cycles. 599e17f71eSDmitry Osipenko Obtained from device datasheet. 609e17f71eSDmitry Osipenko 619e17f71eSDmitry Osipenko tXP-min-tck: 629e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 639e17f71eSDmitry Osipenko maximum: 16 649e17f71eSDmitry Osipenko description: | 659e17f71eSDmitry Osipenko Exit power-down to next valid command delay in terms of number of clock 669e17f71eSDmitry Osipenko cycles. Obtained from device datasheet. 679e17f71eSDmitry Osipenko 689e17f71eSDmitry Osipenko tRTP-min-tck: 699e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 709e17f71eSDmitry Osipenko maximum: 16 719e17f71eSDmitry Osipenko description: | 729e17f71eSDmitry Osipenko Internal READ to PRECHARGE command delay in terms of number of clock 739e17f71eSDmitry Osipenko cycles. Obtained from device datasheet. 749e17f71eSDmitry Osipenko 759e17f71eSDmitry Osipenko tCKE-min-tck: 769e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 779e17f71eSDmitry Osipenko maximum: 16 789e17f71eSDmitry Osipenko description: | 799e17f71eSDmitry Osipenko CKE minimum pulse width (HIGH and LOW pulse width) in terms of number 809e17f71eSDmitry Osipenko of clock cycles. Obtained from device datasheet. 819e17f71eSDmitry Osipenko 829e17f71eSDmitry Osipenko tRPab-min-tck: 839e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 849e17f71eSDmitry Osipenko maximum: 16 859e17f71eSDmitry Osipenko description: | 869e17f71eSDmitry Osipenko Row precharge time (all banks) in terms of number of clock cycles. 879e17f71eSDmitry Osipenko Obtained from device datasheet. 889e17f71eSDmitry Osipenko 899e17f71eSDmitry Osipenko tRCD-min-tck: 909e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 919e17f71eSDmitry Osipenko maximum: 16 929e17f71eSDmitry Osipenko description: | 939e17f71eSDmitry Osipenko RAS-to-CAS delay in terms of number of clock cycles. Obtained from 949e17f71eSDmitry Osipenko device datasheet. 959e17f71eSDmitry Osipenko 969e17f71eSDmitry Osipenko tWR-min-tck: 979e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 989e17f71eSDmitry Osipenko maximum: 16 999e17f71eSDmitry Osipenko description: | 1009e17f71eSDmitry Osipenko WRITE recovery time in terms of number of clock cycles. Obtained from 1019e17f71eSDmitry Osipenko device datasheet. 1029e17f71eSDmitry Osipenko 1039e17f71eSDmitry Osipenko tRASmin-min-tck: 1049e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 1059e17f71eSDmitry Osipenko maximum: 16 1069e17f71eSDmitry Osipenko description: | 1079e17f71eSDmitry Osipenko Row active time in terms of number of clock cycles. Obtained from device 1089e17f71eSDmitry Osipenko datasheet. 1099e17f71eSDmitry Osipenko 1109e17f71eSDmitry Osipenko tCKESR-min-tck: 1119e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 1129e17f71eSDmitry Osipenko maximum: 16 1139e17f71eSDmitry Osipenko description: | 1149e17f71eSDmitry Osipenko CKE minimum pulse width during SELF REFRESH (low pulse width during 1159e17f71eSDmitry Osipenko SELF REFRESH) in terms of number of clock cycles. Obtained from device 1169e17f71eSDmitry Osipenko datasheet. 1179e17f71eSDmitry Osipenko 1189e17f71eSDmitry Osipenko tFAW-min-tck: 1199e17f71eSDmitry Osipenko $ref: /schemas/types.yaml#/definitions/uint32 1209e17f71eSDmitry Osipenko maximum: 16 1219e17f71eSDmitry Osipenko description: | 1229e17f71eSDmitry Osipenko Four-bank activate window in terms of number of clock cycles. Obtained 1239e17f71eSDmitry Osipenko from device datasheet. 1249e17f71eSDmitry Osipenko 1259e17f71eSDmitry OsipenkopatternProperties: 1269e17f71eSDmitry Osipenko "^lpddr2-timings": 127425fd283SKrzysztof Kozlowski $ref: jedec,lpddr2-timings.yaml 1289e17f71eSDmitry Osipenko description: | 1299e17f71eSDmitry Osipenko The lpddr2 node may have one or more child nodes of type "lpddr2-timings". 1309e17f71eSDmitry Osipenko "lpddr2-timings" provides AC timing parameters of the device for 1319e17f71eSDmitry Osipenko a given speed-bin. The user may provide the timings for as many 132425fd283SKrzysztof Kozlowski speed-bins as is required. 1339e17f71eSDmitry Osipenko 1349e17f71eSDmitry Osipenkorequired: 1359e17f71eSDmitry Osipenko - compatible 1369e17f71eSDmitry Osipenko - density 1379e17f71eSDmitry Osipenko - io-width 1389e17f71eSDmitry Osipenko 139*b7178cd5SJulius WernerunevaluatedProperties: false 1409e17f71eSDmitry Osipenko 1419e17f71eSDmitry Osipenkoexamples: 1429e17f71eSDmitry Osipenko - | 1439e17f71eSDmitry Osipenko elpida_ECB240ABACN: lpddr2 { 1449e17f71eSDmitry Osipenko compatible = "elpida,ECB240ABACN", "jedec,lpddr2-s4"; 1459e17f71eSDmitry Osipenko density = <2048>; 1469e17f71eSDmitry Osipenko io-width = <32>; 14780ce9173SJulius Werner revision-id = <1 0>; 1489e17f71eSDmitry Osipenko 1499e17f71eSDmitry Osipenko tRPab-min-tck = <3>; 1509e17f71eSDmitry Osipenko tRCD-min-tck = <3>; 1519e17f71eSDmitry Osipenko tWR-min-tck = <3>; 1529e17f71eSDmitry Osipenko tRASmin-min-tck = <3>; 1539e17f71eSDmitry Osipenko tRRD-min-tck = <2>; 1549e17f71eSDmitry Osipenko tWTR-min-tck = <2>; 1559e17f71eSDmitry Osipenko tXP-min-tck = <2>; 1569e17f71eSDmitry Osipenko tRTP-min-tck = <2>; 1579e17f71eSDmitry Osipenko tCKE-min-tck = <3>; 1589e17f71eSDmitry Osipenko tCKESR-min-tck = <3>; 1599e17f71eSDmitry Osipenko tFAW-min-tck = <8>; 1609e17f71eSDmitry Osipenko 1619e17f71eSDmitry Osipenko timings_elpida_ECB240ABACN_400mhz: lpddr2-timings0 { 1629e17f71eSDmitry Osipenko compatible = "jedec,lpddr2-timings"; 1639e17f71eSDmitry Osipenko min-freq = <10000000>; 1649e17f71eSDmitry Osipenko max-freq = <400000000>; 1659e17f71eSDmitry Osipenko tRPab = <21000>; 1669e17f71eSDmitry Osipenko tRCD = <18000>; 1679e17f71eSDmitry Osipenko tWR = <15000>; 1689e17f71eSDmitry Osipenko tRAS-min = <42000>; 1699e17f71eSDmitry Osipenko tRRD = <10000>; 1709e17f71eSDmitry Osipenko tWTR = <7500>; 1719e17f71eSDmitry Osipenko tXP = <7500>; 1729e17f71eSDmitry Osipenko tRTP = <7500>; 1739e17f71eSDmitry Osipenko tCKESR = <15000>; 1749e17f71eSDmitry Osipenko tDQSCK-max = <5500>; 1759e17f71eSDmitry Osipenko tFAW = <50000>; 1769e17f71eSDmitry Osipenko tZQCS = <90000>; 1779e17f71eSDmitry Osipenko tZQCL = <360000>; 1789e17f71eSDmitry Osipenko tZQinit = <1000000>; 1799e17f71eSDmitry Osipenko tRAS-max-ns = <70000>; 1809e17f71eSDmitry Osipenko }; 1819e17f71eSDmitry Osipenko 1829e17f71eSDmitry Osipenko timings_elpida_ECB240ABACN_200mhz: lpddr2-timings1 { 1839e17f71eSDmitry Osipenko compatible = "jedec,lpddr2-timings"; 1849e17f71eSDmitry Osipenko min-freq = <10000000>; 1859e17f71eSDmitry Osipenko max-freq = <200000000>; 1869e17f71eSDmitry Osipenko tRPab = <21000>; 1879e17f71eSDmitry Osipenko tRCD = <18000>; 1889e17f71eSDmitry Osipenko tWR = <15000>; 1899e17f71eSDmitry Osipenko tRAS-min = <42000>; 1909e17f71eSDmitry Osipenko tRRD = <10000>; 1919e17f71eSDmitry Osipenko tWTR = <10000>; 1929e17f71eSDmitry Osipenko tXP = <7500>; 1939e17f71eSDmitry Osipenko tRTP = <7500>; 1949e17f71eSDmitry Osipenko tCKESR = <15000>; 1959e17f71eSDmitry Osipenko tDQSCK-max = <5500>; 1969e17f71eSDmitry Osipenko tFAW = <50000>; 1979e17f71eSDmitry Osipenko tZQCS = <90000>; 1989e17f71eSDmitry Osipenko tZQCL = <360000>; 1999e17f71eSDmitry Osipenko tZQinit = <1000000>; 2009e17f71eSDmitry Osipenko tRAS-max-ns = <70000>; 2019e17f71eSDmitry Osipenko }; 2029e17f71eSDmitry Osipenko }; 203