Intel Bay Trail FSP UPD Binding
===============================

The device tree node which describes the overriding of the Intel Bay Trail FSP
UPD data for configuring the SoC.

All properties can be found within the `upd-region` struct in
arch/x86/include/asm/arch-baytrail/fsp/fsp_vpd.h, under the same names, and in
Intel's FSP Binary Configuration Tool for Bay Trail.  This list of properties is
matched up to Intel's E3800 FSPv4 release.

# Boolean properties:

- fsp,enable-sdio
- fsp,enable-sdcard
- fsp,enable-hsuart0
- fsp,enable-hsuart1
- fsp,enable-spi
- fsp,enable-sata
- fsp,enable-azalia
- fsp,enable-xhci
- fsp,enable-lpe
- fsp,lpss-sio-enable-pci-mode
- fsp,enable-dma0
- fsp,enable-dma1
- fsp,enable-i2-c0
- fsp,enable-i2-c1
- fsp,enable-i2-c2
- fsp,enable-i2-c3
- fsp,enable-i2-c4
- fsp,enable-i2-c5
- fsp,enable-i2-c6
- fsp,enable-pwm0
- fsp,enable-pwm1
- fsp,enable-hsi
- fsp,mrc-debug-msg
- fsp,isp-enable
- fsp,scc-enable-pci-mode
- fsp,igd-render-standby
- fsp,txe-uma-enable
- fsp,emmc45-ddr50-enabled
- fsp,emmc45-hs200-enabled
- fsp,enable-igd
- fsp,enable-memory-down

If you set "fsp,enable-memory-down" you are strongly encouraged to provide an
"fsp,memory-down-params{};" to specify how your memory is configured.  If you do
not set "fsp,enable-memory-down", then the DIMM SPD information will be
discovered by the FSP and used to setup main memory.


# Integer properties:

- fsp,mrc-init-tseg-size
- fsp,mrc-init-mmio-size
- fsp,mrc-init-spd-addr1
- fsp,mrc-init-spd-addr2
- fsp,emmc-boot-mode
- fsp,sata-mode
- fsp,igd-dvmt50-pre-alloc
- fsp,aperture-size
- fsp,gtt-size
- fsp,serial-debug-port-address
- fsp,serial-debug-port-type
- fsp,os-selection
- fsp,emmc45-retune-timer-value

- fsp,memory-down-params {

	# Boolean properties:

	- fsp,dimm-0-enable
	- fsp,dimm-1-enable

	# Integer properties:

	- fsp,dram-speed:
	  0x0: "800 MHz"
	  0x1: "1066 MHz"
	  0x2: "1333 MHz"
	  0x3: "1600 MHz"

	- fsp,dram-type
	  0x0: "DDR3"
	  0x1: "DDR3L"
	  0x2: "DDR3U"
	  0x4: "LPDDR2"
	  0x5: "LPDDR3"
	  0x6: "DDR4"

	- fsp,dimm-width
	  0x0: "x8"
	  0x1: "x16"
	  0x2: "x32"

	- fsp,dimm-density
	  0x0: "1 Gbit"
	  0x1: "2 Gbit"
	  0x2: "4 Gbit"
	  0x3: "8 Gbit"

	- fsp,dimm-bus-width
	  0x0: "8 bits"
	  0x1: "16 bits"
	  0x2: "32 bits"
	  0x3: "64 bits"

	- fsp,dimm-sides
	  0x0: "1 rank"
	  0x1: "2 ranks"

	- fsp,dimm-tcl
	- fsp,dimm-trpt-rcd
	- fsp,dimm-twr
	- fsp,dimm-twtr
	- fsp,dimm-trrd
	- fsp,dimm-trtp
	- fsp,dimm-tfaw
};


Example (from MinnowMax Dual Core):
-----------------------------------

/ {
	...

	fsp {
		compatible = "intel,baytrail-fsp";
		fsp,mrc-init-tseg-size = <0>;
		fsp,mrc-init-mmio-size = <0x800>;
		fsp,mrc-init-spd-addr1 = <0xa0>;
		fsp,mrc-init-spd-addr2 = <0xa2>;
		fsp,emmc-boot-mode = <2>;
		fsp,enable-sdio;
		fsp,enable-sdcard;
		fsp,enable-hsuart1;
		fsp,enable-spi;
		fsp,enable-sata;
		fsp,sata-mode = <1>;
		fsp,enable-xhci;
		fsp,enable-lpe;
		fsp,lpss-sio-enable-pci-mode;
		fsp,enable-dma0;
		fsp,enable-dma1;
		fsp,enable-i2c0;
		fsp,enable-i2c1;
		fsp,enable-i2c2;
		fsp,enable-i2c3;
		fsp,enable-i2c4;
		fsp,enable-i2c5;
		fsp,enable-i2c6;
		fsp,enable-pwm0;
		fsp,enable-pwm1;
		fsp,igd-dvmt50-pre-alloc = <2>;
		fsp,aperture-size = <2>;
		fsp,gtt-size = <2>;
		fsp,serial-debug-port-address = <0x3f8>;
		fsp,serial-debug-port-type = <1>;
		fsp,mrc-debug-msg;
		fsp,scc-enable-pci-mode;
		fsp,os-selection = <4>;
		fsp,emmc45-ddr50-enabled;
		fsp,emmc45-retune-timer-value = <8>;
		fsp,enable-igd;
		fsp,enable-memory-down;
		fsp,memory-down-params {
			compatible = "intel,baytrail-fsp-mdp";
			fsp,dram-speed = <1>;
			fsp,dram-type = <1>;
			fsp,dimm-0-enable;
			fsp,dimm-width = <1>;
			fsp,dimm-density = <2>;
			fsp,dimm-bus-width = <3>;
			fsp,dimm-sides = <0>;
			fsp,dimm-tcl = <0xb>;
			fsp,dimm-trpt-rcd = <0xb>;
			fsp,dimm-twr = <0xc>;
			fsp,dimm-twtr = <6>;
			fsp,dimm-trrd = <6>;
			fsp,dimm-trtp = <6>;
			fsp,dimm-tfaw = <0x14>;
		};
	};

	...
};
