// Global list of ddr4 memory part attributes.
// These attributes match the part specifications and are independent
// of any SoC expectations.
{
    "parts": [
        {
            "name": "H5AN8G6NDJR-XNC",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            "name": "MT40A512M16TB-062E:J",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            "name": "H5ANAG6NCMR-XNC",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 8,
                "diesPerPackage": 2,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. 1.1 / Sep.2017
            "name": "HMA851S6CJR6N-VK",
            "attribs": {
                "speedMTps": 2666,
                "CL_nRCD_nRP": 19,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. 1.5, Apr. 2017
            "name": "K4A8G165WC-BCTD",
            "attribs": {
                "speedMTps": 2666,
                "CL_nRCD_nRP": 19,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. 1.3 / Jun.2018
            "name": "H5AN8G6NCJR-VKC",
            "attribs": {
                "speedMTps": 2666,
                "CL_nRCD_nRP": 19,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision:  Rev. F 10/17 EN
            "name": "MT40A1G16KNR-075:E",
            "attribs": {
                "speedMTps": 2666,
                "CL_nRCD_nRP": 18,
                "capacityPerDieGb": 8,
                "diesPerPackage": 2,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. 1.4, Jul. 2017
            "name": "K4AAG165WB-MCTD",
            "attribs": {
                "speedMTps": 2666,
                "CL_nRCD_nRP": 19,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 8,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. 1.0 / Aug.2018
            "name": "H5ANAG6NCMR-VKC",
            "attribs": {
                "speedMTps": 2666,
                "CL_nRCD_nRP": 19,
                "capacityPerDieGb": 8,
                "diesPerPackage": 2,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. 0.5, Jun. 2019
            "name": "K4A8G165WC-BCWE",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. G 08/2020 EN
            "name": "MT40A1G16KD-062E:E",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 16,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1,
                // Table 158 - Refersh Timing - 16Gb
                "TRFC1MinPs": 350000,
                "TRFC2MinPs": 260000,
                "TRFC4MinPs": 160000
            }
        },
        {
            // Datasheet Revision: Rev. 0.5, Feb. 2019
            "name": "K4AAG165WA-BCWE",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 16,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1,
                // Table 57 - 16Gb
                "TRFC1MinPs": 350000,
                "TRFC2MinPs": 260000,
                "TRFC4MinPs": 160000
            }
        },
        {
            // Datasheet Revision: Rev. 1.5 / Mar.2019
            "name": "H5AN8G6NCJR-XNC",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. 1.0, Dec. 2019
            "name": "K4AAG165WA-BCTD",
            "attribs": {
                "speedMTps": 2666,
                "CL_nRCD_nRP": 19,
                "capacityPerDieGb": 16,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1,
                // Table 41 - Note: Both 550ns and 350ns tRFC1 is supported
                "TRFC1MinPs": 350000,
                "TRFC2MinPs": 260000,
                "TRFC4MinPs": 160000
            }
        },
        {
            // Datasheet Revision: Rev. 1.0, Feb. 2020
            "name": "H5ANAG6NDMR-XNC",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 8,
                "diesPerPackage": 2,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. 1.4, May. 2020
            "name": "H5ANAG6NCJR-XNC",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 16,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
	{
            // Datasheet Revision: Rev. 1.0 Dec. 2021
            "name": "H5AG36EXNDX017",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. 0.0, Apr. 2020
            "name": "K4AAG165WB-BCWE",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 16,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            // Datasheet Revision: Rev. A 03/2021 EN
            "name": "MT40A1G16RC-062E:B",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 16,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            "name": "MT40A512M16TB-062E:R",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        },
        {
            "name": "4JQA-0622AD",
            "attribs": {
                "speedMTps": 3200,
                "CL_nRCD_nRP": 22,
                "capacityPerDieGb": 8,
                "diesPerPackage": 1,
                "packageBusWidth": 16,
                "ranksPerPackage": 1
            }
        }
    ]
}
