skylake: Do FspTempRamInit only for FSP1.1 & tidy up PCH early init
commitcf73c1317dd1ab62a96eb17ed6d9c8590fb4c514
authorRizwan Qureshi <rizwan.qureshi@intel.com>
Thu, 4 Aug 2016 14:31:12 +0000 (4 20:01 +0530)
committerMartin Roth <martinroth@google.com>
Thu, 18 Aug 2016 04:26:40 +0000 (18 06:26 +0200)
treee8b463fb1fed894b6d432b37028c549bf5829202
parent4a36c4e9fc66bf442f46e1e6d742b2d6c50a2ae1
skylake: Do FspTempRamInit only for FSP1.1 & tidy up PCH early init

Prepare Skylake for FSP2.0 support.

We do not use FSP-T in FSP2.0 driver, hence guard the
FspTempRamInit call under a switch.

In addition to the current early PCH configuration
program few more register, so all in all we do the following,
* Program and enable ACPI Base.
* Program and enable PWRM Base.
* Program TCO Base.
* Program Interrupt configuration registers.
* Program LPC IO decode range.
* Program SMBUS Base address and enable it.
* Enable upper 128 bytes of CMOS.
And split the above programming into into smaller functions.

Also, as part of bootblock_pch_early_init we enable decoding
for HPET range. This is needed for FspMemoryInit to store and
retrieve a global data pointer.

And also move P2SB related definitions to a new header file.

TEST=Build and boot Kunimitsu

Change-Id: Ia201e03b745836ebb43b8d7cfc77550105c71d16
Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Signed-off-by: Barnali Sarkar <barnali.sarkar@intel.com>
Reviewed-on: https://review.coreboot.org/16113
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
src/soc/intel/skylake/bootblock/bootblock.c
src/soc/intel/skylake/bootblock/pch.c
src/soc/intel/skylake/finalize.c
src/soc/intel/skylake/include/soc/bootblock.h
src/soc/intel/skylake/include/soc/p2sb.h [copied from src/soc/intel/skylake/include/soc/bootblock.h with 58% similarity]
src/soc/intel/skylake/include/soc/pcr.h
src/soc/intel/skylake/include/soc/smbus.h
src/soc/intel/skylake/romstage/pch.c