/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2024 PHYTEC Messtechnik GmbH * Author: Wadim Egorov */ #ifndef PHYCORE_DDR_DATA #define PHYCORE_DDR_DATA #include "../common/k3/k3_ddrss_patch.h" /* 1 GB variant delta */ struct ddr_reg ddr_1gb_ctl_regs[] = { { 55, 0x0400DB60 }, { 58, 0x0400DB60 }, { 61, 0x0400DB60 }, { 73, 0x00001860 }, { 75, 0x00001860 }, { 77, 0x00001860 }, { 119, 0x00061800 }, { 120, 0x00061800 }, { 121, 0x00061800 }, { 122, 0x00061800 }, { 123, 0x00061800 }, { 125, 0x0000AAA0 }, { 126, 0x00061800 }, { 127, 0x00061800 }, { 128, 0x00061800 }, { 129, 0x00061800 }, { 130, 0x00061800 }, { 132, 0x0000AAA0 }, { 133, 0x00061800 }, { 134, 0x00061800 }, { 135, 0x00061800 }, { 136, 0x00061800 }, { 137, 0x00061800 }, { 139, 0x0000AAA0 }, { 206, 0x00000000 }, { 209, 0x00000000 }, { 212, 0x00000000 }, { 215, 0x00000000 }, { 218, 0x00000000 }, { 221, 0x00000000 }, { 230, 0x00000000 }, { 231, 0x00000000 }, { 232, 0x00000000 }, { 233, 0x00000000 }, { 234, 0x00000000 }, { 235, 0x00000000 }, { 316, 0x01010000 }, { 318, 0x3FFF0000 }, { 327, 0x00000C01 }, { 328, 0x00000000 }, { 385, 0x000030C0 }, { 390, 0x0000DB60 }, { 391, 0x0001E780 }, { 394, 0x000030C0 }, { 399, 0x0000DB60 }, { 400, 0x0001E780 }, { 403, 0x000030C0 }, { 408, 0x0000DB60 }, { 409, 0x0001E780 } }; struct ddr_reg ddr_1gb_pi_regs[] = { { 77, 0x04000100 }, { 176, 0x00001860 }, { 178, 0x00001860 }, { 180, 0x04001860 }, { 233, 0x0000C570 }, { 238, 0x0000C570 }, { 243, 0x0000C570 }, { 247, 0x000030C0 }, { 248, 0x0001E780 }, { 249, 0x000030C0 }, { 250, 0x0001E780 }, { 251, 0x000030C0 }, { 252, 0x0001E780 }, { 299, 0x00000000 }, { 301, 0x00000000 }, { 307, 0x00000000 }, { 309, 0x00000000 }, { 315, 0x00000000 }, { 317, 0x00000000 }, { 323, 0x00000000 }, { 325, 0x00000000 }, { 331, 0x00000000 }, { 333, 0x00000000 }, { 339, 0x00000000 }, { 341, 0x00000000 } }; struct ddr_reg ddr_1gb_phy_regs[] = { { 1371, 0x0001F7C2 }, }; /* 4 GB variant delta */ struct ddr_reg ddr_4gb_ctl_regs[] = { { 55, 0x0400DB60 }, { 58, 0x0400DB60 }, { 61, 0x0400DB60 }, { 73, 0x00001860 }, { 75, 0x00001860 }, { 77, 0x00001860 }, { 119, 0x00061800 }, { 120, 0x00061800 }, { 121, 0x00061800 }, { 122, 0x00061800 }, { 123, 0x00061800 }, { 125, 0x0000AAA0 }, { 126, 0x00061800 }, { 127, 0x00061800 }, { 128, 0x00061800 }, { 129, 0x00061800 }, { 130, 0x00061800 }, { 132, 0x0000AAA0 }, { 133, 0x00061800 }, { 134, 0x00061800 }, { 135, 0x00061800 }, { 136, 0x00061800 }, { 137, 0x00061800 }, { 139, 0x0000AAA0 }, { 206, 0x00000000 }, { 209, 0x00000000 }, { 212, 0x00000000 }, { 215, 0x00000000 }, { 218, 0x00000000 }, { 221, 0x00000000 }, { 230, 0x00000000 }, { 231, 0x00000000 }, { 232, 0x00000000 }, { 233, 0x00000000 }, { 234, 0x00000000 }, { 235, 0x00000000 }, { 316, 0x00000000 }, { 318, 0x7FFF0000 }, { 327, 0x01000C01 }, { 328, 0x00000001 }, { 385, 0x000030C0 }, { 390, 0x0000DB60 }, { 391, 0x0001E780 }, { 394, 0x000030C0 }, { 399, 0x0000DB60 }, { 400, 0x0001E780 }, { 403, 0x000030C0 }, { 408, 0x0000DB60 }, { 409, 0x0001E780 } }; struct ddr_reg ddr_4gb_pi_regs[] = { { 77, 0x04000000 }, { 176, 0x00001860 }, { 178, 0x00001860 }, { 180, 0x04001860 }, { 233, 0x0000C570 }, { 238, 0x0000C570 }, { 243, 0x0000C570 }, { 247, 0x000030C0 }, { 248, 0x0001E780 }, { 249, 0x000030C0 }, { 250, 0x0001E780 }, { 251, 0x000030C0 }, { 252, 0x0001E780 }, { 299, 0x00000000 }, { 301, 0x00000000 }, { 307, 0x00000000 }, { 309, 0x00000000 }, { 315, 0x00000000 }, { 317, 0x00000000 }, { 323, 0x00000000 }, { 325, 0x00000000 }, { 331, 0x00000000 }, { 333, 0x00000000 }, { 339, 0x00000000 }, { 341, 0x00000000 } }; struct ddr_reg ddr_4gb_phy_regs[] = { { 1371, 0x0001F7C2 }, }; enum { PHYCORE_1GB, PHYCORE_4GB, }; struct ddrss phycore_ddrss_data[] = { [PHYCORE_1GB] = { .ctl_regs = &ddr_1gb_ctl_regs[0], .ctl_regs_num = ARRAY_SIZE(ddr_1gb_ctl_regs), .pi_regs = &ddr_1gb_pi_regs[0], .pi_regs_num = ARRAY_SIZE(ddr_1gb_pi_regs), .phy_regs = &ddr_1gb_phy_regs[0], .phy_regs_num = ARRAY_SIZE(ddr_1gb_phy_regs), }, [PHYCORE_4GB] = { .ctl_regs = &ddr_4gb_ctl_regs[0], .ctl_regs_num = ARRAY_SIZE(ddr_4gb_ctl_regs), .pi_regs = &ddr_4gb_pi_regs[0], .pi_regs_num = ARRAY_SIZE(ddr_4gb_pi_regs), .phy_regs = &ddr_4gb_phy_regs[0], .phy_regs_num = ARRAY_SIZE(ddr_4gb_phy_regs), }, }; #endif /* PHYCORE_DDR_DATA */