summaryrefslogtreecommitdiffstats
path: root/galileo-platform-data.ini
blob: ae1625eea158bac8283c286228e7e7b7d4895806 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# 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