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