Commit Graph

41347 Commits

Author SHA1 Message Date
Arthur Heymans
0602ce67a6 nb/intel/x4x: Add the option for stacked channel map settings
There seems to be a hardware bug where the combination of non-stacked
channel settings, both channels populated and 533MHz dram speed cause
the display to be unusable.

The code to actually select stacked mode based on hardware
configuration will be add in a followup patch.

This patch does the following:
* Add option to the sysinfo struct for stacked mode
* Fix programming channel 1 DRB which needs special care for the last
  populated rank in stacked mode

TESTED on Intel dg41wv (with stacked mode hardcoded and dram at 533MHz)

Change-Id: I95965bfea129b37f64163159fefa1c8f16331b62
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/26563
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2018-06-14 09:35:30 +00:00
Elyes HAOUAS
b0f1988f89 src: Get rid of unneeded whitespace
Change-Id: I630d49ab504d9f6e052806b516a600fa41b9a8da
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/26991
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2018-06-14 09:32:34 +00:00
Elyes HAOUAS
68c851bcd7 src: Get rid of device_t
Use of device_t is deprecated.

Change-Id: I6adc0429ae9ecc8f726d6167a6458d9333dc515f
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/27036
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2018-06-14 09:30:24 +00:00
Elyes HAOUAS
c8a649c08f src: Use of device_t is deprecated
Change-Id: I9cebfc5c77187bd81094031c43ff6df094908417
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/27010
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2018-06-14 09:29:31 +00:00
Raul E Rangel
846b4941fe stoneyridge: Increase SMM stack size to 2K
GSMI Set Event Log is taking more than 1K in stack. This causes the
stack to overflow into the adjacent stack. This has the side effect of
causing any CPU waiting for the SMI handler to complete to crash when
the lock is unlocked because the return pointer has been smashed.

BUG=b:80539294
TEST=built on grunt and tested by running `halt` from the OS.

Change-Id: Ib170c7d03909ef3d20831726b285178a75007b06
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Reviewed-on: https://review.coreboot.org/27033
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-06-14 09:29:04 +00:00
Raul E Rangel
d3b8393310 cpu/x86: Make SMM stack size configurable
Stoneyridge is running into a stack overflow in the SMM handler.

BUG=b:80539294
TEST=built on grunt

Change-Id: I94e385497bd93c3638c69fb08d9b843c3bbb55ce
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Reviewed-on: https://review.coreboot.org/27034
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-06-14 09:28:45 +00:00
Nick Vaccaro
f0afb3e335 mb/google/poppy/variants/nocturne: config GPP_E2 for BT_DISABLE_L
GPP_E2 will be used as a BT reset line, so configure GPP_E2 as an
output and initialize it high (high = out of reset).

BUG=b:80089559
BRANCH=none
TEST=none

Change-Id: If45ef3a592c389a0b80298c59eea849d07d9671e
Signed-off-by: Nick Vaccaro <nvaccaro@google.com>
Reviewed-on: https://review.coreboot.org/27023
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Naresh Solanki <naresh.solanki@intel.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2018-06-14 09:27:48 +00:00
Nick Vaccaro
fc7cc42813 mb/google/poppy/variants/nocturne: config GPP_B4 for FCAM_PWR_EN
FCAM_PWR_EN signal is changing to connect to GPP_B4 instead of
GPP_D8 as it needs a 3.3v gpio to provide enough power to also
directly power the camera LED.

BUG=b:79667559,b:78122599
BRANCH=none
TEST=none

Change-Id: Ie875ced45dfa2aa7069851004edde8f77329df34
Signed-off-by: Nick Vaccaro <nvaccaro@google.com>
Reviewed-on: https://review.coreboot.org/27022
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Naresh Solanki <naresh.solanki@intel.com>
2018-06-14 09:27:39 +00:00
Daniel Boulby
9bd5a4ce1e Correct ordering of log levels in documentation
Changed the ordering of the log levels in the documentation to
mate the code

Change-Id: Ief1930b73d833fdf675b039c98046591c0c264c1
Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
2018-06-14 10:27:03 +01:00
Cole Nelson
9d0950f154 soc/intel/{glk,apl}: ensure C1E is disabled after S3 resume
C1E is disabled by the kernel driver intel_idle at boot.  This does not
address the S3 resume case, so we lose state and C1E is enabled after S3
resume.

Disable C1E for GLK as it is for APL.  This gives a coherent state before
and after S3 resume.

TEST='iotools rdmsr cpu 0x1fc'. Returns the same value after boot and S3
resume with bit [1] set to zero (0x20005d).

Change-Id: I437cbaca75c539c2bc5cd801ab8df907e7447d10
Signed-off-by: Cole Nelson <colex.nelson@intel.com>
Reviewed-on: https://review.coreboot.org/27019
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-06-14 09:26:27 +00:00
Cole Nelson
2b69b21c2d soc/intel/common: defines constant for C1E enable mask
Register 0x1fc (MSR_POWER_CTL) deserves a proper mask for the C1E
enable bit.  Define POWER_CTL_C1E_MASK to be used subsequently.

Change-Id: I7a5408f6678f56540929b7811764845b6dad1149
Signed-off-by: Cole Nelson <colex.nelson@intel.com>
Reviewed-on: https://review.coreboot.org/27035
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-06-14 09:25:57 +00:00
Patrick Rudolph
c38960d7f3 lib/device_tree: Add method to get phandle
Add a method to retrieve a node's phandle.
Useful for board specific devicetree manipulations.

Change-Id: I966151ad7e82fc678ab4f56cf9b5868ef39398e0
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/26191
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2018-06-14 09:25:41 +00:00
Patrick Georgi
79d26c7a83 util/docker/coreboot.org-status: collect report generators
Move generators for the board status report and the kconfig options
report into a common directory and wrap them in a docker container.

Also rework to emit HTML not wiki syntax.

Change-Id: If42e1dd312c5fa4e32f519865e3b551bc471bc72
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: https://review.coreboot.org/26977
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-06-14 08:45:24 +00:00
Martin Roth
31e0d42a1d util/lint: Run lint-extended-007-final-newlines checks in parallel
Instead of checking each directory in series, kick off the checks
in parallel and then wait for them to finish.  Failures print out with
file information, so mixing output isn't a problem.  This reduces
the time it takes to run on lumberingbuilder by 60%.

This could probably be sped up even more by splitting up src/mainboard
into smaller sections.

This method does skip a few control files at the top level - .gitignore,
.checkpatch.conf, gnat.adc, etc.  These could be added to the list of
files to check, but I didn't think it was needed.

Change-Id: I171977e713a9956cf4142cfc0a199e10040abb35
Signed-off-by: Martin Roth <gaumless@gmail.com>
Reviewed-on: https://review.coreboot.org/27011
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2018-06-14 08:42:30 +00:00
Daisuke Nojiri
2b0918db5c Fizz: Add Wukong for BJ configuration
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>

BUG=b:71524814
BRANCH=none
TEST=None

Change-Id: I70deadb6f8c01c36d13f186e95244dc7a317fcbb
Reviewed-on: https://chromium-review.googlesource.com/1090326
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
(cherry picked from commit 77997e8422b1ef5d511019a8a1e38fa743eab082)
Reviewed-on: https://chromium-review.googlesource.com/1098716
Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
2018-06-14 01:31:53 -07:00
Patrick Georgi
e299988d46 Makefile.rules: Have buildall list boards with lowest space remaining
On successful build reports something like the following:

    Tightest boards' RW images, bytes left:
    zinger    :   1580
    minimuffin:   1584
    wheatley  :   2644

BUG=b:110043829
BRANCH=none
TEST=make buildall emits a list of boards like shown above

Change-Id: I36723cfdc9ae33e5861c1e0dfca322433520dce8
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1096042
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
2018-06-14 01:31:52 -07:00
Justin TerAvest
27fb3c44b1 Revert "nds32: make code build with gcc 8.1"
This reverts commit 194c7a7e0a.

Reason for revert: Breaks build for octopus-release.

Original change's description:
> nds32: make code build with gcc 8.1
>
>   *** 21744 bytes still available in flash on reef_it8320 ****
>
> BUG=b:65441143
> BRANCH=none
> TEST=make BOARD=reef_it8320 builds with gcc 8.1. not tested at all
>
> Change-Id: Ie79ee23452574fd883c7f9425b8614346e46fdd7
> Signed-off-by: Patrick Georgi <pgeorgi@google.com>
> Reviewed-on: https://chromium-review.googlesource.com/1077207
> Commit-Ready: Patrick Georgi <pgeorgi@chromium.org>
> Tested-by: Patrick Georgi <pgeorgi@chromium.org>
> Reviewed-by: Stefan Reinauer <reinauer@google.com>

Bug: b:65441143
Change-Id: I1c37701be9c40d3a4b5a77e2e04e96c37150ca30
Reviewed-on: https://chromium-review.googlesource.com/1098717
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Justin TerAvest <teravest@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
2018-06-14 01:31:52 -07:00
scott worley
ed30a9ea11 ec_chip_mchp: Fix LPC bugs configuring logical devices
LPC and eSPI logical device configuration is mostly common.
Create common subroutines for LD configuration. Fix bugs
in LPC LD configuration for ACPI, EMI, Port80. Add work-
around for APL LRESET# changing when LPC clock is not
running.

BRANCH=none
BUG=None
TEST=Build all boards using chip mchp. Test LPC and eSPI
communication with host chipset via EC/Host UART logs.
CQ-DEPEND=CL:1053576,CL:1053827,CL:1053880,CL:1053949

Change-Id: Ie40245c20627178a0e518eafc028d194c1f176a6
Signed-off-by: scott worley <scott.worley@microchip.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/1053884
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-06-14 01:31:51 -07:00
scott worley
fe921e8ea1 board: Add reef_mchp board.
Create a new board reef_mchp based on production reef board
with original EC replaced with MEC1701 on interposer board.

BRANCH=none
BUG=none
TEST=Build and flash into board. Requires CoreBoot and
ChromiumOS rebuilt with cros_mec USE flag.

Change-Id: Ib93063586ca3b71f98d19c91d974138f880e5fd0
Signed-off-by: scott worley <scott.worley@microchip.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/1054729
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-06-14 01:31:51 -07:00
Vadim Bendebury
532f93a432 cr50 signer: fix file name variable
There is no need to add hardcoded .test suffix when determining the
base RMA key file name.

BRANCH=none
BUG=none
TEST=succeeded signing both prod and pre-pvt images.

Change-Id: I59a5eb4ff8c093110c4d29969974148c99bd62a0
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1099731
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-06-14 01:31:49 -07:00
Vadim Bendebury
951c05ad73 cr50: add p256 public RMA key
The blob includes 65 bytes of the public key and one byte of the key
ID, 66 bytes total.

BRANCH=cr50, cr50-mp
BUG=b:73296606, b:73647182
TEST=none

Change-Id: I0adf844a487776b0a93eae404f7bc74566d003fc
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1099730
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-06-14 01:31:49 -07:00
Kyösti Mälkki
1dc5ce31ce coreinfo: Skip unpopulated PCI functions
Per PCI specification, function 0 must be present,
so functions 1 to 7 can be skipped in this case.

For a device that is not multi-function, it may not
decode function number in the hardware at all. To
avoid registering such a device eight times, skip
scanning functions 1 to 7.

Without the latter fix, a single-function PCI bridge
may call pci_scan_bus() second time and secondary
side devices would get appended second time in the
array devices[]. At that point, quicksort() apparently
hits an infinite recursion loop.

Since pci_scan_bus() is called in part of the early
modules->init() sequence early in main(), the errors
here left coreinfo payload completely silent when
PCI module was built-in on affected system.

Terminal screen was cleared, though.

Change-Id: Ifc6622f050b98afb7196de0cc3a863c4cdfa6c94
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/26990
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2018-06-14 07:59:05 +00:00
Kyösti Mälkki
3414f6035b AGESA binaryPI: Drop RAMBASE and RAMTOP
With platforms moved to RELOCATABLE_RAMSTAGE, these
overrides no longer have a meaning.

Overrides existed because AGESA ramstage did not fit within
the default 1 MiB of RAMTOP - RAMBASE, when placed low.

Change-Id: I0185875dc550de74877c94f36128d5979e5553d6
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/26813
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-06-14 07:25:29 +00:00
Kyösti Mälkki
58175c7010 AGESA binaryPI: Drop tests for LATE_CBMEM_INIT
Change-Id: I4571e8b560559b3d7afe429eca8caa1512e244a8
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/26811
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-06-14 07:24:35 +00:00
Marshall Dawson
c4be175bdc amd/stoneyridge: Add early MTRR setup for new callouts
Enable the two ranges to be used for the new callouts, AgesaHeapRebase
and AgesaGetHeapBaseInDram.

TEST=Boot grunt w/experimental blob, try different addresses
BUG=b:74518368

Change-Id: Ic7716794dc7d75f849e6e062865d6efbeb4292df
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/26147
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-06-13 21:21:19 +00:00
Marshall Dawson
c150a57d29 amd/pi: Add AgesaHeapRebase callout
Implement an optional callout for AgesaHeapRebase which allows AGESA
to override any internal hardcoded heap addresses.

Designate a region in CAR that may be used for pre-mem heap and return
that address before DRAM is configured.  After DRAM is up, the address
in cbmem is returned.

TEST=Boot grunt with patchstack and experimental blob
BUG=b:74518368

Change-Id: Ieda202a6064302b21707bd7ddfabc132cd85ed45
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/25458
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-06-13 21:21:09 +00:00
Marshall Dawson
10b52e0f22 amd/pi: Add GetTempHeapBase callout
Implement a new AGESA callout that may be used to find the correct
temporary location in DRAM to store heap data.

Near the end of AmdInitPost, AGESA migrates its heap from a CAR-based
location to a temporary region.  Once cbmem has been established, the
heap will be relocated again in AmdInitEnv from the temp location to
the final one.

This patch does not materially affect the behavior of AGESA's heap
management.  It only puts coreboot in control of the location.  Future
work may refactor the copying.

TEST=Boot grunt with patchstack and experimental blob
BUG=b:74518368

Change-Id: Ibc5cc988e3e80d78f50cf0195e952b657141e570
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/26146
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-06-13 21:20:41 +00:00
Marshall Dawson
669ba23710 vc/amd/00670F00: Sync AGESA.h with PI blob
Add a new callout definition for AgesaGetTempHeapBase and displace
AgesaHeapRebase (which was merged too soon) in the ordering.  Also
add its structure.

AGESA will be modified to ask coreboot for the location for temporary
storage of heap data at the end of InitPost.  The old methodology is
to use 0xb0000 but the change will allow coreboot to determine the
location.

BUG=b:74518368

Change-Id: I0bc894d7842cf4b3eb728a90704277b17f4bf7be
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/26145
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-06-13 21:20:32 +00:00
Diana Z
6abd7f161d yorp: board does not boot without battery plugged in
When a battery isn't plugged in, the current implementation of the
baseboard_tcpc_init() funciton waits a full second for the battery to be
connected.  This one second is unnecessary when the battery isn't plugged
in, and results in the power button state machine going into idle before
the system can boot.

BRANCH=none
BUG=b:109944712
TEST=booted yorp without battery plugged in, also verified it still
boots with a good battery plugged in

Change-Id: I31df13207c13a523c1112be9c82c63767c1cd299
Signed-off-by: Diana Z <dzigterman@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1097234
Commit-Ready: Diana Z <dzigterman@google.com>
Tested-by: Diana Z <dzigterman@google.com>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
2018-06-13 12:59:35 -07:00
Paul Kocialkowski
fb83888b61 rockchip: Move stdint header to the offending header file
The stdint header was introduced to rk3399's plat_sip_calls.c in order
to fix missing stdint definitions. However, ordering headers
alphabetically caused the fix to be ineffective, as stint was then
included after the offending header file (dfs.h).

Move the stdint include to that header to properly fix the issue.

Change-Id: Ieaad37a7932786971488ab58fc5b169bfa79e197
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2018-06-13 20:37:50 +02:00
Patrick Rudolph
7a2a29d0e1 Documentation: Add rules for writing Documentation
Change-Id: Ic3808a0a10ddc8064d185e0920dcd9f60c435419
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/26602
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-06-13 17:43:20 +00:00
Nico Huber
865f1fa7e4 gfx: Introduce Size_Type for framebuffer size in bytes
Change-Id: I8809a887b12124e5331f188dfa1674cbcca7152e
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/26865
Tested-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2018-06-13 17:31:54 +00:00
Nico Huber
c5c767ace8 Use (Width|Height)_Type for modeline sizes
Saves us a lot of conversions and explicit contracts.

Change-Id: I32c06ca87b18c25e3c519fa608c4b9b36dbc0449
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/26849
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2018-06-13 17:31:27 +00:00
Vincent Palatin
61e6d7cb50 stm32: move UART wake-up to uart code
Move the low-power mode UART register settings out of the STM32F0 low
power mode code into the UART driver as a preparation for adding STM32H7
low power mode code.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>

BRANCH=poppy
BUG=b:75105319
TEST=make buildall

Change-Id: Iecac8c387edd80c15fc3a211cf7969bbc6b8a15e
Reviewed-on: https://chromium-review.googlesource.com/1096766
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
2018-06-13 09:19:52 -07:00
Wei-Han Chen
cbccb79691 touchpad_st: Power off when USB is suspended without wake
When USB is suspended and disable remote wakeup (SUS0), we can stop
touchpad scanning to save some power.

This CL also stops sending empty touchpad HID events when there is no
finger events nor button events.

BRANCH=whiskers
BUG=b:70482333
TEST=`st_tp_stop_scan` is called on USB suspend
Signed-off-by: Wei-Han Chen <stimim@chromium.org>

Change-Id: Iebf29d7371383b7493baa1059cfa8d56bbc2589c
Reviewed-on: https://chromium-review.googlesource.com/1095119
Commit-Ready: Wei-Han Chen <stimim@chromium.org>
Tested-by: Wei-Han Chen <stimim@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
2018-06-13 09:19:50 -07:00
Daisuke Nojiri
0678008d62 Fizz: Add Bleemo for BJ configuration
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>

BUG=b:80482240
BRANCH=none
TEST=None

Change-Id: I50187f58346fe4e6fa88d6a1e07e1dcf72214f07
Reviewed-on: https://chromium-review.googlesource.com/1089329
Reviewed-by: Daniel Johansson <dajo@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: Daniel Johansson <dajo@chromium.org>
Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
(cherry picked from commit eb92965cce47fe0acd95440a6cefaf07666bf98d)
Reviewed-on: https://chromium-review.googlesource.com/1093458
Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
2018-06-13 09:19:42 -07:00
Angel Pons
16c77f72ca src/mainboard/*: Remove empty vendor folders
After removing most geode_lx boards, some mainboard
directories are left empty. This patch cleans them up.

Change-Id: I2e99eba3d49dec90ceb2ce0c7f61612a9840ce59
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/27092
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-06-13 15:14:20 +00:00
Nicola Corna
364f2e10cb sb/intel/common/firmware: Use the -S flag of me_cleaner
The -S flag of me_cleaner, in addition to the standard code removal,
sets the the AltMeDisable bit (ME 6.x-10.x) or the HAP bit (ME 11.x),
which asks Intel ME to stop the execution after the hardware
initialization.

This should bring some advantages:
 * The state of Intel ME can be easily obtained by reading the Current
    Operation Mode register to trigger specific adjustments in the
    raminit (as already done in bd82x6x)
 * Intel ME falls into a more defined state, instead of being in a
    generic "Image Failure"
 * Hopefully, less code is run by Intel ME, as the execution should
    stop before even trying to load additional modules

Tested on:
 * Nehalem, Sandy Bridge and Ivy Bridge (Nicola Corna)
 * Broadwell, Skylake and Kabylake (Youness Alaoui)

If needed, the -S flag can be removed or integrated with other
board-specific options by overriding CONFIG_ME_CLEANER_ARGS.

Change-Id: I2c12d09124dcc39924d1dc4eaf53a2dc1f69a2ac
Signed-off-by: Nicola Corna <nicola@corna.info>
Reviewed-on: https://review.coreboot.org/25508
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Youness Alaoui <snifikino@gmail.com>
2018-06-13 14:49:00 +00:00
Furquan Shaikh
de39fc7160 util/sconfig: Prepare sconfig to allow parsing multiple trees
In preparation to allow devicetree overrides, it will be necessary to
use the same parsing functions to prepare two separate parse
trees. This change does the following things:
1. Updates root device and bus names to add base_ prefix.
2. Adds a function parse_devicetree that sets the root_parent and
linenum before calling yyparse().
3. Updates all uses of root_dev to refer to the next base_root_dev.

BUG=b:80081934
TEST=Verified that static.c generated for all boards built using
abuild is the same with and without this change.

Change-Id: I403a90c1ebf07ac66115ddfe137daf0980dc1a18
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/27017
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2018-06-13 14:48:12 +00:00
Richard Spiegel
93459d6278 soc/amd/stoneyridge/acpi.c: Create GPIO acpigen procedures
There are some acpigen functionality that have not been implemented. They
are defined as week within acpigen.c, in order to not break the build.
This adds stoneyridge specific versions.

BUG=b:79546790
TEST=Build grunt with added debug code to gpio_lib.asl. Boot to OS,
activate ACPI debug, activate S3 stress test. Interrupt stress test, do a
"cat /var/log/messages" saving the serial output. Examine the serial
output, see added debug code showing action taken. Confirm action by
reading proper register. Debug code removed.

Change-Id: I9062d889f828a3175b89e6f4a3659ebbf90eac68
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/26335
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-06-13 14:24:42 +00:00
Richard Spiegel
572f4988dd soc/amd/stoneyridge/southbridge.c: Fix saving _SWS parameters
PM1 and GPE0 are being stored directly to NVS, when actually what should
be saved is the index of the bit responsible for waking. Fix the procedures
and add definitions to the actual IO addresses to be read when recording
status and enable registers.

BUG=b:75996437
TEST=Build and boot grunt. Once in OS, execute a sleep and a wake. See the
message indicating which indexes are being save in NVS for _SWS. Try sleep
stress test, verify that the index is different from that of power button.

Change-Id: I8bafc7bb7dd66e7f0eb8499e748535bbdcac5f53
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/26547
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-06-13 14:24:31 +00:00
Dimitris Papastamos
ed4cf49020 Merge pull request #1402 from glneo/for-upstream-uart
drivers: ti: uart: Add TI specific 16550 initialization
2018-06-13 14:19:53 +01:00
Dimitris Papastamos
74a44dca29 Merge pull request #1399 from danielboulby-arm/db/MISRA
MISRA 5.1, 5.3 & 5.7 compliance changes
2018-06-13 13:32:14 +01:00
Nico Huber
da1185eea1 gfx, gma pipe_setup: Rewrite Scale_Keep_Aspect
Use Scaling_Type() to organize the different scaling cases. Looks better
and outlining the calculation helps GNATprove on bad days.

Change-Id: I14af765c6f17aeccff3f9274ccec3756493670d7
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/26848
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2018-06-13 09:15:50 +00:00
Nico Huber
db68441c97 gma skylake power/clocks: Refactor to allow proof without inlining
Change-Id: Ie660c69377d8624a3a6662c6ccb7b5e4efcd4629
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/26847
Tested-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2018-06-13 08:59:35 +00:00
Nico Huber
57bebc7110 gma panel: Refactor to allow proof without inlining
Change-Id: I8ed25efec5ee66d3dd47cec4433a4f634911232a
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/26846
Tested-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2018-06-13 08:59:02 +00:00
Nico Huber
8a5a3b5a0c gma: Add contract to Enable_Output() to rely less on proof inlining
Change-Id: I7bc066b33c969e528c7bcd9328178fac8a37ad21
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/26845
Tested-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2018-06-13 08:58:13 +00:00
Sandrine Bailleux
d801a1d035 SPM: Treat SP xlat tables the same as others
The translation tables allocated for the Secure Partition do not need
to be treated as a special case. They can be put amongst the other
tables mapping BL31's general purpose memory. They will be mapped with
the same attributes as them, which is fine.

The explicit alignment constraint in BL31's linker script to pad the
last page of memory allocated to the Secure Partition's translation
tables is useless too, as page tables are per se pages, thus their
end address is naturally aligned on a page-boundary.

In fact, this patch does not change the existing behaviour. Since
patch 22282bb68a ("SPM: Move all SP-related info to SP context
struct"), the secure_partition.c file has been renamed into sp_xlat.c
but the linker script has not been properly updated. As a result, the
SP translation tables are not specifically put at the start of the
xlat_table linker section, the __SP_IMAGE_XLAT_TABLES_START__/_END__
symbols have the same value, the size of the resulting mmap_region
covering these xlat tables is 0 and so it is ignored.

Change-Id: I4cf0a4cc090298811cca53fc9cee74df0f2b1512
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2018-06-13 09:19:41 +01:00
Antonio Nino Diaz
a0b9bb79a0 xlat v2: Introduce xlat granule size helpers
The function xlat_arch_is_granule_size_supported() can be used to check
if a specific granule size is supported. In Armv8, AArch32 only supports
4 KiB pages. AArch64 supports 4 KiB, 16 KiB or 64 KiB depending on the
implementation, which is detected at runtime.

The function xlat_arch_get_max_supported_granule_size() returns the max
granule size supported by the implementation.

Even though right now they are only used by SPM, they may be useful in
other places in the future. This patch moves the code currently in SPM
to the xlat tables lib so that it can be reused.

Change-Id: If54624a5ecf20b9b9b7f38861b56383a03bbc8a4
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-06-13 09:19:41 +01:00
Antonio Nino Diaz
83a393ba3e SPM: Initialize SP args as expected by cm library
In the context management library, cm_setup_context() takes the
information in ep_info to fill the registers x0-x7. This patch replaces
the current code that sets them manually by the correct initialization
code.

Change-Id: Id1fdf4681b154026c2e3af1f9b05b19582b7d16d
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-06-13 09:19:41 +01:00