/* * Copyright (C) Marvell International Ltd. and its affiliates * * SPDX-License-Identifier: GPL-2.0 */ #ifndef _DDR3_A38X_MC_STATIC_H #define _DDR3_A38X_MC_STATIC_H #include "ddr3_a38x.h" #ifdef SUPPORT_STATIC_DUNIT_CONFIG #ifdef CONFIG_CUSTOMER_BOARD_SUPPORT static struct reg_data ddr3_customer_800[] = { /* parameters for customer board (based on 800MHZ) */ {0x1400, 0x7b00cc30, 0xffffffff}, {0x1404, 0x36301820, 0xffffffff}, {0x1408, 0x5415baab, 0xffffffff}, {0x140c, 0x38411def, 0xffffffff}, {0x1410, 0x18300000, 0xffffffff}, {0x1414, 0x00000700, 0xffffffff}, {0x1424, 0x0060f3ff, 0xffffffff}, {0x1428, 0x0011a940, 0xffffffff}, {0x142c, 0x28c5134, 0xffffffff}, {0x1474, 0x00000000, 0xffffffff}, {0x147c, 0x0000d771, 0xffffffff}, {0x1494, 0x00030000, 0xffffffff}, {0x149c, 0x00000300, 0xffffffff}, {0x14a8, 0x00000000, 0xffffffff}, {0x14cc, 0xbd09000d, 0xffffffff}, {0x1504, 0xfffffff1, 0xffffffff}, {0x150c, 0xffffffe5, 0xffffffff}, {0x1514, 0x00000000, 0xffffffff}, {0x151c, 0x00000000, 0xffffffff}, {0x1538, 0x00000b0b, 0xffffffff}, {0x153c, 0x00000c0c, 0xffffffff}, {0x15d0, 0x00000670, 0xffffffff}, {0x15d4, 0x00000046, 0xffffffff}, {0x15d8, 0x00000010, 0xffffffff}, {0x15dc, 0x00000000, 0xffffffff}, {0x15e0, 0x00000023, 0xffffffff}, {0x15e4, 0x00203c18, 0xffffffff}, {0x15ec, 0xf8000019, 0xffffffff}, {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */ {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */ {0, 0, 0} }; #else /* CONFIG_CUSTOMER_BOARD_SUPPORT */ struct reg_data ddr3_a38x_933[MV_MAX_DDR3_STATIC_SIZE] = { /* parameters for 933MHZ */ {0x1400, 0x7b00ce3a, 0xffffffff}, {0x1404, 0x36301820, 0xffffffff}, {0x1408, 0x7417eccf, 0xffffffff}, {0x140c, 0x3e421f98, 0xffffffff}, {0x1410, 0x1a300000, 0xffffffff}, {0x1414, 0x00000700, 0xffffffff}, {0x1424, 0x0060f3ff, 0xffffffff}, {0x1428, 0x0013ca50, 0xffffffff}, {0x142c, 0x028c5165, 0xffffffff}, {0x1474, 0x00000000, 0xffffffff}, {0x147c, 0x0000e871, 0xffffffff}, {0x1494, 0x00010000, 0xffffffff}, {0x149c, 0x00000001, 0xffffffff}, {0x14a8, 0x00000000, 0xffffffff}, {0x14cc, 0xbd09000d, 0xffffffff}, {0x1504, 0xffffffe1, 0xffffffff}, {0x150c, 0xffffffe5, 0xffffffff}, {0x1514, 0x00000000, 0xffffffff}, {0x151c, 0x00000000, 0xffffffff}, {0x1538, 0x00000d0d, 0xffffffff}, {0x153c, 0x00000d0d, 0xffffffff}, {0x15d0, 0x00000608, 0xffffffff}, {0x15d4, 0x00000044, 0xffffffff}, {0x15d8, 0x00000020, 0xffffffff}, {0x15dc, 0x00000000, 0xffffffff}, {0x15e0, 0x00000021, 0xffffffff}, {0x15e4, 0x00203c18, 0xffffffff}, {0x15ec, 0xf8000019, 0xffffffff}, {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */ {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */ {0, 0, 0} }; static struct reg_data ddr3_a38x_800[] = { /* parameters for 800MHZ */ {0x1400, 0x7b00cc30, 0xffffffff}, {0x1404, 0x36301820, 0xffffffff}, {0x1408, 0x5415baab, 0xffffffff}, {0x140c, 0x38411def, 0xffffffff}, {0x1410, 0x18300000, 0xffffffff}, {0x1414, 0x00000700, 0xffffffff}, {0x1424, 0x0060f3ff, 0xffffffff}, {0x1428, 0x0011a940, 0xffffffff}, {0x142c, 0x28c5134, 0xffffffff}, {0x1474, 0x00000000, 0xffffffff}, {0x147c, 0x0000d771, 0xffffffff}, {0x1494, 0x00030000, 0xffffffff}, {0x149c, 0x00000300, 0xffffffff}, {0x14a8, 0x00000000, 0xffffffff}, {0x14cc, 0xbd09000d, 0xffffffff}, {0x1504, 0xfffffff1, 0xffffffff}, {0x150c, 0xffffffe5, 0xffffffff}, {0x1514, 0x00000000, 0xffffffff}, {0x151c, 0x00000000, 0xffffffff}, {0x1538, 0x00000b0b, 0xffffffff}, {0x153c, 0x00000c0c, 0xffffffff}, {0x15d0, 0x00000670, 0xffffffff}, {0x15d4, 0x00000046, 0xffffffff}, {0x15d8, 0x00000010, 0xffffffff}, {0x15dc, 0x00000000, 0xffffffff}, {0x15e0, 0x00000023, 0xffffffff}, {0x15e4, 0x00203c18, 0xffffffff}, {0x15ec, 0xf8000019, 0xffffffff}, {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */ {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */ {0, 0, 0} }; static struct reg_data ddr3_a38x_667[] = { /* parameters for 667MHZ */ /* DDR SDRAM Configuration Register */ {0x1400, 0x7b00ca28, 0xffffffff}, /* Dunit Control Low Register - kw28 bit12 low (disable CLK1) */ {0x1404, 0x36301820, 0xffffffff}, /* DDR SDRAM Timing (Low) Register */ {0x1408, 0x43149997, 0xffffffff}, /* DDR SDRAM Timing (High) Register */ {0x140c, 0x38411bc7, 0xffffffff}, /* DDR SDRAM Address Control Register */ {0x1410, 0x14330000, 0xffffffff}, /* DDR SDRAM Open Pages Control Register */ {0x1414, 0x00000700, 0xffffffff}, /* Dunit Control High Register (2 :1 - bits 15:12 = 0xd) */ {0x1424, 0x0060f3ff, 0xffffffff}, /* Dunit Control High Register */ {0x1428, 0x000f8830, 0xffffffff}, /* Dunit Control High Register (2:1 - bit 29 = '1') */ {0x142c, 0x28c50f8, 0xffffffff}, {0x147c, 0x0000c671, 0xffffffff}, /* DDR SDRAM ODT Control (Low) Register */ {0x1494, 0x00030000, 0xffffffff}, /* DDR SDRAM ODT Control (High) Register, will be configured at WL */ {0x1498, 0x00000000, 0xffffffff}, /* DDR Dunit ODT Control Register */ {0x149c, 0x00000300, 0xffffffff}, {0x14a8, 0x00000000, 0xffffffff}, /* */ {0x14cc, 0xbd09000d, 0xffffffff}, /* */ {0x1474, 0x00000000, 0xffffffff}, /* Read Data Sample Delays Register */ {0x1538, 0x00000009, 0xffffffff}, /* Read Data Ready Delay Register */ {0x153c, 0x0000000c, 0xffffffff}, {0x1504, 0xfffffff1, 0xffffffff}, /* */ {0x150c, 0xffffffe5, 0xffffffff}, /* */ {0x1514, 0x00000000, 0xffffffff}, /* */ {0x151c, 0x0, 0xffffffff}, /* */ {0x15d0, 0x00000650, 0xffffffff}, /* MR0 */ {0x15d4, 0x00000046, 0xffffffff}, /* MR1 */ {0x15d8, 0x00000010, 0xffffffff}, /* MR2 */ {0x15dc, 0x00000000, 0xffffffff}, /* MR3 */ {0x15e0, 0x23, 0xffffffff}, /* */ {0x15e4, 0x00203c18, 0xffffffff}, /* ZQC Configuration Register */ {0x15ec, 0xf8000019, 0xffffffff}, /* DDR PHY */ {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */ {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */ {0, 0, 0} }; static struct reg_data ddr3_a38x_533[] = { /* parameters for 533MHZ */ /* DDR SDRAM Configuration Register */ {0x1400, 0x7b00d040, 0xffffffff}, /* Dunit Control Low Register - kw28 bit12 low (disable CLK1) */ {0x1404, 0x36301820, 0xffffffff}, /* DDR SDRAM Timing (Low) Register */ {0x1408, 0x33137772, 0xffffffff}, /* DDR SDRAM Timing (High) Register */ {0x140c, 0x3841199f, 0xffffffff}, /* DDR SDRAM Address Control Register */ {0x1410, 0x10330000, 0xffffffff}, /* DDR SDRAM Open Pages Control Register */ {0x1414, 0x00000700, 0xffffffff}, /* Dunit Control High Register (2 :1 - bits 15:12 = 0xd) */ {0x1424, 0x0060f3ff, 0xffffffff}, /* Dunit Control High Register */ {0x1428, 0x000d6720, 0xffffffff}, /* Dunit Control High Register (2:1 - bit 29 = '1') */ {0x142c, 0x028c50c3, 0xffffffff}, {0x147c, 0x0000b571, 0xffffffff}, /* DDR SDRAM ODT Control (Low) Register */ {0x1494, 0x00030000, 0xffffffff}, /* DDR SDRAM ODT Control (High) Register, will be configured at WL */ {0x1498, 0x00000000, 0xffffffff}, /* DDR Dunit ODT Control Register */ {0x149c, 0x00000003, 0xffffffff}, {0x14a8, 0x00000000, 0xffffffff}, /* */ {0x14cc, 0xbd09000d, 0xffffffff}, /* */ {0x1474, 0x00000000, 0xffffffff}, /* Read Data Sample Delays Register */ {0x1538, 0x00000707, 0xffffffff}, /* Read Data Ready Delay Register */ {0x153c, 0x00000707, 0xffffffff}, {0x1504, 0xffffffe1, 0xffffffff}, /* */ {0x150c, 0xffffffe5, 0xffffffff}, /* */ {0x1514, 0x00000000, 0xffffffff}, /* */ {0x151c, 0x00000000, 0xffffffff}, /* */ {0x15d0, 0x00000630, 0xffffffff}, /* MR0 */ {0x15d4, 0x00000046, 0xffffffff}, /* MR1 */ {0x15d8, 0x00000008, 0xffffffff}, /* MR2 */ {0x15dc, 0x00000000, 0xffffffff}, /* MR3 */ {0x15e0, 0x00000023, 0xffffffff}, /* */ {0x15e4, 0x00203c18, 0xffffffff}, /* ZQC Configuration Register */ {0x15ec, 0xf8000019, 0xffffffff}, /* DDR PHY */ {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */ {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */ {0, 0, 0} }; #endif /* CONFIG_CUSTOMER_BOARD_SUPPORT */ #endif /* SUPPORT_STATIC_DUNIT_CONFIG */ #endif /* _DDR3_A38X_MC_STATIC_H */