blob: ae1625eea158bac8283c286228e7e7b7d4895806 [file] [log] [blame]
# Every module contains:
# [unique name]
# id=decimal integer, data type identifier
# desc=string, short description of a data; max 10 characters
# data.value=[ABC | CAFEBEBA | xyz abc | /path/to/file ]
# data.type=[hex.uint[8/16/32/64] | hex.string | utf8.string | file]
# ver=decimal integer, version number; if not specified defaults to 0
# WARNING: the platform type data.value MUST match the MRC data.value below
[Platform Type]
id=1
desc=PlatformID
data.type=hex.uint16
# ClantonPeak 2, KipsBay 3, CrossHill 4, ClantonHill 5, KipsBay-fabD 6, GalileoGen2 8
data.value=6
# WARNING: the MRC data.value MUST match the platform type data.value above
[Mrc Params]
id=6
ver=1
desc=MrcParams
data.type=file
#data.value=MRC/clantonpeak.v1.bin
#data.value=MRC/kipsbay.v1.bin
#data.value=MRC/crosshill.v1.bin
#data.value=MRC/clantonhill.v1.bin
data.value=MRC/kipsbay-fabD.v1.bin
#data.value=MRC/GalileoGen2.bin
# If you are developing MRC for a new system you can alternatively
# inline the value like this:
# data.type=hex.string
# data.value=00000000000000010101000300000100010101017C9200001027000010270000409C000006
# The unique MAC address(es) owned by each device are typically found
# on a sticker. You must find it(them) and change the bogus values
# below.
[MAC address 0]
id=3
desc=1st MAC
data.type=hex.string
data.value=001320FDF6F0
[MAC address 1]
id=4
desc=2nd MAC
data.type=hex.string
data.value=001320FDF6F1
#
# MRC Params data byte explanation.
# u32, u16 vales read with least significant byte first, little endian.
#
# data[00-01] - platform_id u16 - should match value of platform type/id record as sanity check.
# data[02-05] - flags u32 - bit[0] ECC_EN, bit[1] SCRAMBLE_EN, others=RESERVED
# data[06] - dram_width u8 - 0=x8, 1=x16, others=RESERVED.
# data[07] - dram_speed u8 - 0=DDRFREQ_800, 1=DDRFREQ_1066, others=RESERVED. Only 533MHz SKU support 1066 memory.
# data[08] - dram_type u8 - 0=DDR3, 1=DDR3L, others=RESERVED.
# data[09] - rank_mask u8 - bit[0] RANK0_EN, bit[1] RANK1_EN, others=RESERVED.
# data[0A] - chan_mask u8 - bit[0] CHAN0_EN, others=RESERVED..
# data[0B] - chan_width u8 - 1=x16, others=RESERVED.
# data[0C] - addr_mode u8 - 0, 1, 2 (mode 2 forced if ecc enabled), others=RESERVED
# data[0D] - sr_int u8 - 1=1.95us, 2=3.9us, 3=7.8us, others=RESERVED. REFRESH_RATE.
# data[0E] - sr_temp u8 - 0=normal, 1=extended, others=RESERVED. SR_TEMP_RANGE.
# data[0F] - dram_ron_val u8 - 0=34ohm, 1=40ohm, others=RESERVED. RON_VALUE Select MRS1.DIC driver impedance control.
# data[10] - dram_rtt_nom_val u8 - 0=40ohm, 1=60ohm, 2=120ohm, others=RESERVED. RTT_NOM_VALUE.
# data[11] - dram_rtt_wr_val u8 - 0=off, others=RESERVED
# data[12] - soc_rd_odt_val u8 - 0=off, 1=60ohm, 2=120ohm, 3=180ohm, others=RESERVED. RD_ODT_VALUE.
# data[13] - soc_wr_ron_val u8 - 0=27ohm, 1=32ohm, 2=40ohm, others=RESERVED. (WR_RON_VALUE select Vref code for DQ DRV PU evaluation using external resistor).
# data[14] - soc_wr_slew u8 - 0=2.5V/ns, 1=4V/ns, others=RESERVED. (WR_SLEW_RATE).
# data[15] - dram_density u8 - 0=512Mb, 1=Gb, 2=2Gb, 3=4Gb, others=RESERVED.
# data[16-19] - tRAS u32 - ACT to PRE command period in picoseconds.
# data[1A-1D] - tWTR u32 - Delay from start of internal write transaction to internal read command in picoseconds.
# data[1E-21] - tRRD u32 - ACT to ACT command period (JESD79 specific to page size 1K/2K) in picoseconds.
# data[22-25] - tFAW u32 - Four activate window (JESD79 specific to page size 1K/2K) in picoseconds.
# data[26] - tCL u8 - DRAM CAS Latency in clocks.
#
# Example DDR3-800, Single Rank, 1gbit devices.
# byte index FFFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324
# byte values FFFF00000000000000010101000300000100020100017C9200001027000010270000409C000006
#
# Example DDR3-800, Single Rank, 2gbit devices.
# byte index FFFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324
# byte values FFFF00000000000000010101000300000100020100027C9200001027000010270000409C000006
#
# Example DDR3-800, Single Rank, 4gbit devices.
# byte index FFFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324
# byte values FFFF00000000000000010101000300000100020100037C9200001027000010270000409C000006
#
# Example DDR3-800, Dual Rank, 4gbit devices
# byte index FFFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324
# byte values FFFF00000000000000030101000300000100020100037C9200001027000010270000409C000006
#
# byte idx 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526