blob: ff184c2bc1977f6770ccdfbdf768591401340bc2 [file] [log] [blame]
Johann Neuhauser7e967d92022-02-16 17:12:34 +01001// SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause
2/*
3 * Copyright (C) 2020, DH electronics - All Rights Reserved
4 *
5 * STM32MP15xx DHSOM configuration
6 * 2x DDR3L 4Gb each, 16-bit, 533MHz, Single Die Package in flyby topology.
7 * Reference used W634GU6NB15I from Winbond
8 *
9 * DDR type / Platform DDR3/3L
10 * freq 533MHz
11 * width 32
12 * datasheet 0 = W634GU6NB15I / DDR3-1333
13 * DDR density 8
14 * timing mode optimized
15 * address mapping : RBC
16 * Tc > + 85C : J
17 */
18
19#define DDR_MEM_NAME "DDR3L 32bits 2x4Gb 533MHz"
20#define DDR_MEM_SPEED 533000
21#define DDR_MEM_SIZE 0x40000000
22
23#define DDR_MSTR 0x00040401
24#define DDR_MRCTRL0 0x00000010
25#define DDR_MRCTRL1 0x00000000
26#define DDR_DERATEEN 0x00000000
27#define DDR_DERATEINT 0x00800000
28#define DDR_PWRCTL 0x00000000
29#define DDR_PWRTMG 0x00400010
30#define DDR_HWLPCTL 0x00000000
31#define DDR_RFSHCTL0 0x00210000
32#define DDR_RFSHCTL3 0x00000000
33#define DDR_RFSHTMG 0x0040008B
34#define DDR_CRCPARCTL0 0x00000000
35#define DDR_DRAMTMG0 0x121B1214
36#define DDR_DRAMTMG1 0x000A041C
37#define DDR_DRAMTMG2 0x0608090F
38#define DDR_DRAMTMG3 0x0050400C
39#define DDR_DRAMTMG4 0x08040608
40#define DDR_DRAMTMG5 0x06060403
41#define DDR_DRAMTMG6 0x02020002
42#define DDR_DRAMTMG7 0x00000202
43#define DDR_DRAMTMG8 0x00001005
44#define DDR_DRAMTMG14 0x000000A0
45#define DDR_ZQCTL0 0xC2000040
46#define DDR_DFITMG0 0x02060105
47#define DDR_DFITMG1 0x00000202
48#define DDR_DFILPCFG0 0x07000000
49#define DDR_DFIUPD0 0xC0400003
50#define DDR_DFIUPD1 0x00000000
51#define DDR_DFIUPD2 0x00000000
52#define DDR_DFIPHYMSTR 0x00000000
53#define DDR_ODTCFG 0x06000600
54#define DDR_ODTMAP 0x00000001
55#define DDR_SCHED 0x00000C01
56#define DDR_SCHED1 0x00000000
57#define DDR_PERFHPR1 0x01000001
58#define DDR_PERFLPR1 0x08000200
59#define DDR_PERFWR1 0x08000400
60#define DDR_DBG0 0x00000000
61#define DDR_DBG1 0x00000000
62#define DDR_DBGCMD 0x00000000
63#define DDR_POISONCFG 0x00000000
64#define DDR_PCCFG 0x00000010
65#define DDR_PCFGR_0 0x00010000
66#define DDR_PCFGW_0 0x00000000
67#define DDR_PCFGQOS0_0 0x02100C03
68#define DDR_PCFGQOS1_0 0x00800100
69#define DDR_PCFGWQOS0_0 0x01100C03
70#define DDR_PCFGWQOS1_0 0x01000200
71#define DDR_PCFGR_1 0x00010000
72#define DDR_PCFGW_1 0x00000000
73#define DDR_PCFGQOS0_1 0x02100C03
74#define DDR_PCFGQOS1_1 0x00800040
75#define DDR_PCFGWQOS0_1 0x01100C03
76#define DDR_PCFGWQOS1_1 0x01000200
77#define DDR_ADDRMAP1 0x00080808
78#define DDR_ADDRMAP2 0x00000000
79#define DDR_ADDRMAP3 0x00000000
80#define DDR_ADDRMAP4 0x00001F1F
81#define DDR_ADDRMAP5 0x07070707
82#define DDR_ADDRMAP6 0x0F070707
83#define DDR_ADDRMAP9 0x00000000
84#define DDR_ADDRMAP10 0x00000000
85#define DDR_ADDRMAP11 0x00000000
86#define DDR_PGCR 0x01442E02
87#define DDR_PTR0 0x0022AA5B
88#define DDR_PTR1 0x04841104
89#define DDR_PTR2 0x042DA068
90#define DDR_ACIOCR 0x10400812
91#define DDR_DXCCR 0x00000C40
92#define DDR_DSGCR 0xF200011F
93#define DDR_DCR 0x0000000B
94#define DDR_DTPR0 0x38D488D0
95#define DDR_DTPR1 0x098B00D8
96#define DDR_DTPR2 0x10023600
97#define DDR_MR0 0x00000840
98#define DDR_MR1 0x00000000
99#define DDR_MR2 0x00000248
100#define DDR_MR3 0x00000000
101#define DDR_ODTCR 0x00010000
102#define DDR_ZQ0CR1 0x00000038
103#define DDR_DX0GCR 0x0000CE81
Johann Neuhauser7e967d92022-02-16 17:12:34 +0100104#define DDR_DX1GCR 0x0000CE81
Johann Neuhauser7e967d92022-02-16 17:12:34 +0100105#define DDR_DX2GCR 0x0000CE81
Johann Neuhauser7e967d92022-02-16 17:12:34 +0100106#define DDR_DX3GCR 0x0000CE81
Johann Neuhauser7e967d92022-02-16 17:12:34 +0100107
108#include "stm32mp15-ddr.dtsi"