xref: /OK3568_Linux_fs/u-boot/doc/device-tree-bindings/misc/intel,baytrail-fsp.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunIntel Bay Trail FSP UPD Binding
2*4882a593Smuzhiyun===============================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunThe device tree node which describes the overriding of the Intel Bay Trail FSP
5*4882a593SmuzhiyunUPD data for configuring the SoC.
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunAll properties can be found within the `upd-region` struct in
8*4882a593Smuzhiyunarch/x86/include/asm/arch-baytrail/fsp/fsp_vpd.h, under the same names, and in
9*4882a593SmuzhiyunIntel's FSP Binary Configuration Tool for Bay Trail.  This list of properties
10*4882a593Smuzhiyunis matched up to Intel's E3800 FSPv4 release.
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun# Boolean properties:
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun- fsp,enable-sdio
15*4882a593Smuzhiyun- fsp,enable-sdcard
16*4882a593Smuzhiyun- fsp,enable-hsuart0
17*4882a593Smuzhiyun- fsp,enable-hsuart1
18*4882a593Smuzhiyun- fsp,enable-spi
19*4882a593Smuzhiyun- fsp,enable-sata
20*4882a593Smuzhiyun- fsp,enable-azalia
21*4882a593Smuzhiyun- fsp,enable-xhci
22*4882a593Smuzhiyun- fsp,enable-dma0
23*4882a593Smuzhiyun- fsp,enable-dma1
24*4882a593Smuzhiyun- fsp,enable-i2-c0
25*4882a593Smuzhiyun- fsp,enable-i2-c1
26*4882a593Smuzhiyun- fsp,enable-i2-c2
27*4882a593Smuzhiyun- fsp,enable-i2-c3
28*4882a593Smuzhiyun- fsp,enable-i2-c4
29*4882a593Smuzhiyun- fsp,enable-i2-c5
30*4882a593Smuzhiyun- fsp,enable-i2-c6
31*4882a593Smuzhiyun- fsp,enable-pwm0
32*4882a593Smuzhiyun- fsp,enable-pwm1
33*4882a593Smuzhiyun- fsp,enable-hsi
34*4882a593Smuzhiyun- fsp,mrc-debug-msg
35*4882a593Smuzhiyun- fsp,isp-enable
36*4882a593Smuzhiyun- fsp,igd-render-standby
37*4882a593Smuzhiyun- fsp,txe-uma-enable
38*4882a593Smuzhiyun- fsp,emmc45-ddr50-enabled
39*4882a593Smuzhiyun- fsp,emmc45-hs200-enabled
40*4882a593Smuzhiyun- fsp,enable-igd
41*4882a593Smuzhiyun- fsp,enable-memory-down
42*4882a593Smuzhiyun
43*4882a593SmuzhiyunIf you set "fsp,enable-memory-down" you are strongly encouraged to provide an
44*4882a593Smuzhiyun"fsp,memory-down-params{};" to specify how your memory is configured.  If you
45*4882a593Smuzhiyundo not set "fsp,enable-memory-down", then the DIMM SPD information will be
46*4882a593Smuzhiyundiscovered by the FSP and used to setup main memory.
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun# Integer properties:
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun- fsp,mrc-init-tseg-size
52*4882a593Smuzhiyun- fsp,mrc-init-mmio-size
53*4882a593Smuzhiyun- fsp,mrc-init-spd-addr1
54*4882a593Smuzhiyun- fsp,mrc-init-spd-addr2
55*4882a593Smuzhiyun- fsp,emmc-boot-mode
56*4882a593Smuzhiyun- fsp,sata-mode
57*4882a593Smuzhiyun- fsp,lpe-mode
58*4882a593Smuzhiyun- fsp,lpss-sio-mode
59*4882a593Smuzhiyun- fsp,igd-dvmt50-pre-alloc
60*4882a593Smuzhiyun- fsp,aperture-size
61*4882a593Smuzhiyun- fsp,gtt-size
62*4882a593Smuzhiyun- fsp,scc-mode
63*4882a593Smuzhiyun- fsp,os-selection
64*4882a593Smuzhiyun- fsp,emmc45-retune-timer-value
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun- fsp,memory-down-params {
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	# Boolean properties:
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun	- fsp,dimm-0-enable
71*4882a593Smuzhiyun	- fsp,dimm-1-enable
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	# Integer properties:
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun	- fsp,dram-speed
76*4882a593Smuzhiyun	- fsp,dram-type
77*4882a593Smuzhiyun	- fsp,dimm-width
78*4882a593Smuzhiyun	- fsp,dimm-density
79*4882a593Smuzhiyun	- fsp,dimm-bus-width
80*4882a593Smuzhiyun	- fsp,dimm-sides
81*4882a593Smuzhiyun	- fsp,dimm-tcl
82*4882a593Smuzhiyun	- fsp,dimm-trpt-rcd
83*4882a593Smuzhiyun	- fsp,dimm-twr
84*4882a593Smuzhiyun	- fsp,dimm-twtr
85*4882a593Smuzhiyun	- fsp,dimm-trrd
86*4882a593Smuzhiyun	- fsp,dimm-trtp
87*4882a593Smuzhiyun	- fsp,dimm-tfaw
88*4882a593Smuzhiyun};
89*4882a593Smuzhiyun
90*4882a593SmuzhiyunFor all integer properties, available options are listed in fsp_configs.h in
91*4882a593Smuzhiyunarch/x86/include/asm/arch-baytrail/fsp directory (eg: MRC_INIT_TSEG_SIZE_1MB).
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun
94*4882a593SmuzhiyunExample (from MinnowMax Dual Core):
95*4882a593Smuzhiyun-----------------------------------
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun/ {
98*4882a593Smuzhiyun	...
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun	fsp {
101*4882a593Smuzhiyun		compatible = "intel,baytrail-fsp";
102*4882a593Smuzhiyun		fsp,mrc-init-tseg-size = <MRC_INIT_TSEG_SIZE_1MB>;
103*4882a593Smuzhiyun		fsp,mrc-init-mmio-size = <MRC_INIT_MMIO_SIZE_2048MB>;
104*4882a593Smuzhiyun		fsp,mrc-init-spd-addr1 = <0xa0>;
105*4882a593Smuzhiyun		fsp,mrc-init-spd-addr2 = <0xa2>;
106*4882a593Smuzhiyun		fsp,emmc-boot-mode = <EMMC_BOOT_MODE_AUTO>;
107*4882a593Smuzhiyun		fsp,enable-sdio;
108*4882a593Smuzhiyun		fsp,enable-sdcard;
109*4882a593Smuzhiyun		fsp,enable-hsuart1;
110*4882a593Smuzhiyun		fsp,enable-spi;
111*4882a593Smuzhiyun		fsp,enable-sata;
112*4882a593Smuzhiyun		fsp,sata-mode = <SATA_MODE_AHCI>;
113*4882a593Smuzhiyun		fsp,lpe-mode = <LPE_MODE_PCI>;
114*4882a593Smuzhiyun		fsp,lpss-sio-mode = <LPSS_SIO_MODE_PCI>;
115*4882a593Smuzhiyun		fsp,enable-dma0;
116*4882a593Smuzhiyun		fsp,enable-dma1;
117*4882a593Smuzhiyun		fsp,enable-i2c0;
118*4882a593Smuzhiyun		fsp,enable-i2c1;
119*4882a593Smuzhiyun		fsp,enable-i2c2;
120*4882a593Smuzhiyun		fsp,enable-i2c3;
121*4882a593Smuzhiyun		fsp,enable-i2c4;
122*4882a593Smuzhiyun		fsp,enable-i2c5;
123*4882a593Smuzhiyun		fsp,enable-i2c6;
124*4882a593Smuzhiyun		fsp,enable-pwm0;
125*4882a593Smuzhiyun		fsp,enable-pwm1;
126*4882a593Smuzhiyun		fsp,igd-dvmt50-pre-alloc = <IGD_DVMT50_PRE_ALLOC_64MB>;
127*4882a593Smuzhiyun		fsp,aperture-size = <APERTURE_SIZE_256MB>;
128*4882a593Smuzhiyun		fsp,gtt-size = <GTT_SIZE_2MB>;
129*4882a593Smuzhiyun		fsp,scc-mode = <SCC_MODE_PCI>;
130*4882a593Smuzhiyun		fsp,os-selection = <OS_SELECTION_LINUX>;
131*4882a593Smuzhiyun		fsp,emmc45-ddr50-enabled;
132*4882a593Smuzhiyun		fsp,emmc45-retune-timer-value = <8>;
133*4882a593Smuzhiyun		fsp,enable-igd;
134*4882a593Smuzhiyun		fsp,enable-memory-down;
135*4882a593Smuzhiyun		fsp,memory-down-params {
136*4882a593Smuzhiyun			compatible = "intel,baytrail-fsp-mdp";
137*4882a593Smuzhiyun			fsp,dram-speed = <DRAM_SPEED_1066MTS>;
138*4882a593Smuzhiyun			fsp,dram-type = <DRAM_TYPE_DDR3L>;
139*4882a593Smuzhiyun			fsp,dimm-0-enable;
140*4882a593Smuzhiyun			fsp,dimm-width = <DIMM_WIDTH_X16>;
141*4882a593Smuzhiyun			fsp,dimm-density = <DIMM_DENSITY_4GBIT>;
142*4882a593Smuzhiyun			fsp,dimm-bus-width = <DIMM_BUS_WIDTH_64BITS>;
143*4882a593Smuzhiyun			fsp,dimm-sides = <DIMM_SIDES_1RANKS>;
144*4882a593Smuzhiyun			fsp,dimm-tcl = <0xb>;
145*4882a593Smuzhiyun			fsp,dimm-trpt-rcd = <0xb>;
146*4882a593Smuzhiyun			fsp,dimm-twr = <0xc>;
147*4882a593Smuzhiyun			fsp,dimm-twtr = <6>;
148*4882a593Smuzhiyun			fsp,dimm-trrd = <6>;
149*4882a593Smuzhiyun			fsp,dimm-trtp = <6>;
150*4882a593Smuzhiyun			fsp,dimm-tfaw = <0x14>;
151*4882a593Smuzhiyun		};
152*4882a593Smuzhiyun	};
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun	...
155*4882a593Smuzhiyun};
156