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