Commit graph

20087 commits

Author SHA1 Message Date
Matt DeVillier
ff4d234494 UPSTREAM: lynxpoint/broadwell: fix PCH power optimizer
Setting both bits 27 and 7 of PCH register PMSYNC_CFG (PMSYNC
Configuration; offset 0x33c8) causes pre-OS display init to fail
on HSW-U/Lynxpoint and BDW-U ChromeOS devices when the VBIOS/GOP
driver is run after the register is set. A re-examination of
Intel's reference code reveals that bit 7 should be set for the
LP PCH, and bit 27 for non-LP, but not both simultaneously.

The previous workaround was to disable the entire power optimizer
section via a Kconfig option, which isn't ideal.

Test: unset bit 27 of PMSYNC_CFG and boot google/lulu,
observe functional pre-OS video output

BUG=none
BRANCH=none
TEST=none

Change-Id: Ie0cc1b294a4f8722bdd3a79faef1516f503d2e03
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: c97e042a9b
Original-Change-Id: I446e169d23dd446710a1648f0a9b9599568b80aa
Original-Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/18385
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/445153
2017-02-21 06:44:28 -08:00
Matt DeVillier
08460d7a14 UPSTREAM: Revert "intel/lynxpoint,broadwell: Fix eDP display in Windows, SeaBios & Tiano"
We've been able to narrow down the problem to a single register/
single bit, so revert this commit and address the problem in a
follow-on commit.

This reverts commit 0f2025da0f.

BUG=none
BRANCH=none
TEST=none

Change-Id: I0e986e2be69c6e74eb57c70b13cf625b0317c44d
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: ee6a612eb2
Original-Change-Id: I780f9ea2976dd223aaa3e060aef6e1af8012c346
Original-Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/18384
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://chromium-review.googlesource.com/445152
2017-02-21 06:44:28 -08:00
Denis 'GNUtoo' Carikli
84431edea7 UPSTREAM: board-status: Add README
It explains the prerequisites to run the script, some
background on how to setup the computer running the script,
and the board it gathers the information from.

That information is too long to fit inside the script's
help.

BUG=none
BRANCH=none
TEST=none

Change-Id: I140c19404433fbeb457a349f39ce26efbb312d13
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: efd9dee646
Original-Change-Id: Iecba7310ff1583149c02728e955716775bcbbdc4
Original-Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Original-Reviewed-on: https://review.coreboot.org/6660
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://chromium-review.googlesource.com/445151
2017-02-21 06:44:27 -08:00
Elyes HAOUAS
c1ad3c90e2 UPSTREAM: nb/i945/raminit: sdram_set_channel_mode Test if DIMM slot 3 is populated
Add a test in case we have a DIMM2 not populated but DIMM3 is.

BUG=none
BRANCH=none
TEST=none

Change-Id: I80508fd652795593aef7e202891b494d60d4d6a9
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 75da1fb2ba
Original-Change-Id: I14f82afe03884740570838e7b2771233356c518d
Original-Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Original-Reviewed-on: https://review.coreboot.org/18386
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://chromium-review.googlesource.com/445150
2017-02-21 06:44:27 -08:00
Martin Roth
243af848bc UPSTREAM: riscv: Suppress invalid coverity errors
Coverity is detecting 'sp' as a variable which has not been initialized.
This is obviously not correct, so this patch *TRIES* to mark it as false

I'm not positive that this will work because the annotation needs to go
on the line above the error, but this error is inside of a # define.

Does the whole #define count as one line?  Can it go on the line
above the #define in the .h file?  Does it have to precede every line
where the #define is used?  The documentation doesn't make this clear.

Should suppress coverity issues: 1368525 & 1368527
uninit_use: Using uninitialized value sp.

BUG=none
BRANCH=none
TEST=none

Change-Id: I8fa056af3e829218d8139f3899b7291e62ea6796
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: f797a1ac6a
Original-Change-Id: Ibae5e206c4ff47991ea8a11b6b59972b24b71796
Original-Signed-off-by: Martin Roth <martinroth@google.com>
Original-Reviewed-on: https://review.coreboot.org/18247
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Jonathan Neuschfer <j.neuschaefer@gmx.net>
Reviewed-on: https://chromium-review.googlesource.com/445149
2017-02-21 06:44:26 -08:00
Martin Roth
ed5d162c37 UPSTREAM: src/drivers/pc80: Update vga_font_8x16.c to be non-binary
Previously, the file -i command identified vga_font_8x16.c as
application/octet-stream; charset=binary

Now it identifies as:
text/x-c; charset=us-ascii

- Remove non-ascii characters

BUG=none
BRANCH=none
TEST=none

Change-Id: I9ef13a37ce18c42bdf4cf0daf6f796861028eb50
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 98641b92e7
Original-Change-Id: I6b513e6457a31828a6e94c954a7e2e7ee18fd4d6
Original-Signed-off-by: Martin Roth <martinroth@google.com>
Original-Reviewed-on: https://review.coreboot.org/18372
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Jonathan Neuschfer <j.neuschaefer@gmx.net>
Reviewed-on: https://chromium-review.googlesource.com/445148
2017-02-21 06:44:26 -08:00
Arthur Heymans
c061d99a73 UPSTREAM: mb/lenovo/t400: Implement hybrid graphic in romstage
The hybrid driver select by DRIVERS_LENOVO_HYBRID_GRAPHICS doesn't work
for t400/t500.
Replace it with a custom romstage implementation.

Tested on Lenovo T500 with dual graphics:
* Intel Native GFX init
* AMD VBios
* GNU Linux 4.8.13
* SeaBios as payload
* Discrete is working (44 W)
* Integrated is working (24 W)
* Switchable is working (34 W)
** Both GPUs are enabled, with Intel being connected to the panel
** DRI_PRIME allows to use AMD GPU
** ACPI doesn't seem to work (no vgaswitcheroo)

Depends on Change-Id: I4dc00005270240c048272b2e4f52ae46ba1c9422
Depends on Change-Id: If389016f3bb0c4c2fd0b826914997a87a9137201

BUG=none
BRANCH=none
TEST=none

Change-Id: I8319fb3c52c32b548820f49dea0aee53b8e509d3
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: f9d5308690
Original-Change-Id: I7496876e9b434d4a2388e1ede27ac604670339b7
Original-Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Original-Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Original-Reviewed-on: https://review.coreboot.org/18010
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Alexander Couzens <lynxis@fe80.eu>
Reviewed-on: https://chromium-review.googlesource.com/445147
2017-02-21 06:44:26 -08:00
Paul Menzel
f255895263 UPSTREAM: apple/macbook21: Remove unused include smbios.h
BUG=none
BRANCH=none
TEST=none

Change-Id: I3c6c7daab1e3081391c64880c35b6a83f638e220
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 3fee215a3e
Original-Change-Id: I4ed7a164323a71d95a37ea754ec923ca0c5e6219
Original-Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Reviewed-on: https://review.coreboot.org/18388
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Original-Reviewed-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Reviewed-on: https://chromium-review.googlesource.com/445146
2017-02-21 06:44:25 -08:00
Denis 'GNUtoo' Carikli
7bfea0cbfd UPSTREAM: boardstatus: wiki: Update XiVO's coreboot fork source address
This company doesn't do custom hardware anymore and doesn't
host the sources anymore. We therefore point to the archived
sources instead.

BUG=none
BRANCH=none
TEST=none

Change-Id: I666ce3aafcaa82e64b7945f1489097b04e0a6b98
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 418e808fa6
Original-Change-Id: I5ce4f6a468b852fc1d0947fe2b28a5297f14c437
Original-Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Original-Reviewed-on: https://review.coreboot.org/11889
Original-Reviewed-by: Jonathan Neuschfer <j.neuschaefer@gmx.net>
Original-Tested-by: build bot (Jenkins)
Reviewed-on: https://chromium-review.googlesource.com/445145
2017-02-21 06:44:25 -08:00
Arthur Heymans
a54bfc066d UPSTREAM: nb/intel/x4x: Implement resume from S3 suspend
It rewrites the results of receive enable stored in the upper nvram
region, to avoid running receive enable again.

Some debug info is also printed about the self-refresh registers.
(Not enforcing a reset here, since 0 does not necessarily mean it's
not in self-refresh).

BUG=none
BRANCH=none
TEST=none

Change-Id: Ie8a85069cc613706c1405e150bece11bc6ba43c1
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: ef7e98a2ac
Original-Change-Id: Ib54bc5c7b0fed6d975ffc31f037b5179d9e5600b
Original-Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Original-Reviewed-on: https://review.coreboot.org/17998
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/445144
2017-02-21 06:44:24 -08:00
Arthur Heymans
7fc65a855a UPSTREAM: nb/intel/x4x: Fix raminit on reset path
Previously the raminit failed on hot reset and to work around this
issue it unconditionally did a cold reset.

This has the following issues:
* it's slow;
* when the OS issues a hot reset some disk drives expect their 5V
  power supply to remain on, which gets cut off by a cold reset,
  causing data corruption.

To fix this some steps in raminit must be ommited on the reset path.
This includes receive enable calibration.
To achieve this it stores receive enable results in RTC nvram for them
to be rewritten on the resume path.
Note: The same thing needs to be done on the S3 resume path.

Calling a hot reset after raminit "outb(0x6, 0cf9)" works.

BUG=none
BRANCH=none
TEST=none

Change-Id: I7abad55524ecea8bbd828aba6dd3ce7708f1a7bd
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 97e13d84c3
Original-Change-Id: I6601dd90aebd071a0de7cec070487b0f9845bc30
Original-Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Original-Reviewed-on: https://review.coreboot.org/18009
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://chromium-review.googlesource.com/445143
2017-02-21 06:44:24 -08:00
Paul Menzel
c5a415acb6 UPSTREAM: grub: Build module boottime
Configure GRUB to build with boot time statistics. That allows users
to add that module to GRUB by adding `boottime` to the list of extra
modules.

BUG=none
BRANCH=none
TEST=none

Change-Id: Iab5d114c243119bd539ef2aec1efacd2eacd2f58
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 7c7b176169
Original-Change-Id: I76a07e49aecb37652fe8c7d6a9421fd464424287
Original-Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Original-Reviewed-on: https://review.coreboot.org/18367
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://chromium-review.googlesource.com/445142
2017-02-21 06:44:23 -08:00
Mathias Krause
d7c1cc2efe UPSTREAM: libpayload: multiboot - support meminfo flag
Some simple implementation of the MultiBoot protocol may not pass a
memory map (MULTIBOOT_FLAGS_MMAP missing in the flags) but just the two
values for low and high memory, indicated by the MULTIBOOT_FLAGS_MEMINFO
flag.

Support those kind of boot loaders too, instead of falling back to the
hard-coded values in lib_get_sysinfo().

Tested with a multiboot enhanced version of FILO.

BUG=none
BRANCH=none
TEST=none

Change-Id: I4c1d95a8f4aa8735538dad85d5f856ce36a5f72e
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 898de6111a
Original-Change-Id: I22cf9e3ec0075aff040390bd177c5cd22d439b81
Original-Signed-off-by: Mathias Krause <minipli@googlemail.com>
Original-Reviewed-on: https://review.coreboot.org/18350
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://chromium-review.googlesource.com/445141
2017-02-21 06:44:23 -08:00
Rizwan Qureshi
d9aa8dd735 UPSTREAM: driver/i2c/max98927: add i2c driver for Maxim 98927 codec
Maxim 98927 kernel driver requires entries in the ACPI SSDT table,
add a SSDT generator as part of this driver.

BUG=chrome-os-partner:62051
BRANCH=None
TEST=After boot, dump and verify that the generated SSDT ACPI table has the
required entries.

Change-Id: I9043f9f0b66b45d04e8b8cbe8c99b77686fd5666
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 4979d7610e
Original-Change-Id: Ic2d4d8449288bc00d085852220b2e1e7a208e9ef
Original-Signed-off-by: Naresh G Solanki <naresh.solanki@intel.com>
Original-Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Original-Signed-off-by: M Naveen <naveen.m@intel.com>
Original-Signed-off-by: Dylan Reid <dgreid@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18211
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/445127
2017-02-20 14:28:02 -08:00
Rizwan Qureshi
c46a682f84 UPSTREAM: mainboard/eve: select SOC_INTEL_KABYLAKE
eve is based on Kabylake SoC hence select the appropriate
config.

BUG=none
BRANCH=none
TEST=none

Change-Id: I590ffa81451da4e7920ec53e5019efe8f136a6c8
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: ceccb6ba53
Original-Change-Id: I756dda5a1924e83a02ac1cebb1907884f436a13f
Original-Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Original-Reviewed-on: https://review.coreboot.org/18314
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Subrata Banik <subrata.banik@intel.com>
Original-Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/445126
2017-02-20 14:28:01 -08:00
Rizwan Qureshi
0b6968219b UPSTREAM: mainboard/poppy: select SOC_INTEL_KABYLAKE
poppy is based on Kabylake SoC hence select the appropriate
config.

BUG=none
BRANCH=none
TEST=none

Change-Id: I39b16d1fe76745ac7fbe0e3e153d1de46e5d52bf
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: b2b98f7ae1
Original-Change-Id: Ie339a3991eeccb8a7dba983a2b5ab5d1c996ce9d
Original-Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Original-Reviewed-on: https://review.coreboot.org/18313
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/445125
2017-02-20 14:28:01 -08:00
Rizwan Qureshi
81baa0e803 UPSTREAM: soc/intel/skylake: Add config option for Kabylake
Currently there is no distinction between mainboards using
Skylake or Kabylake SoC, Add a config option for Kabylake
SoC to allow mainboards to explicitly select if they are
using it.

BUG=none
BRANCH=none
TEST=none

Change-Id: I1c0e5acebce9db7e06e2e320dbdf67d6c63061b7
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 0700dca969
Original-Change-Id: Ie7960bd81f88a223894afe3115ddc0bc637e4be4
Original-Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Original-Reviewed-on: https://review.coreboot.org/18312
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Furquan Shaikh <furquan@google.com>
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://chromium-review.googlesource.com/445124
2017-02-20 14:28:00 -08:00
Robbie Zhang
ad05f78d59 UPSTREAM: intel/skylake: add function is_secondary_thread()
There are MSRs that are programmable per-core not per-thread, so add
a function to check whether current executing CPU is a primary core
or a "hyperthreaded"/secondary core. For instance when trying to
program Core PRMRR MSRs(per-core) with mp_init, cpu exception is thrown
from the secondary thread. This function was used to avoid that.

Potentially this function can be put to common code or arch/x86 or cpu/x86.

BUG=chrome-os-partner:62438
BRANCH=NONE
TEST=Tested on Eve, verified core PRMRR MSRs get programmed only on primary
thread avoiding exeception.

Change-Id: I6d837f50db404f35606f1f975b05456946605c10
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 2b194d9741
Original-Change-Id: Ic9648351fadf912164a39206788859baf3e5c173
Original-Signed-off-by: Robbie Zhang <robbie.zhang@intel.com>
Original-Reviewed-on: https://review.coreboot.org/18366
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444818
2017-02-18 03:10:59 -08:00
Mathias Krause
c958bb42a0 UPSTREAM: libpayload: x86/head - implement argc/argv handling
Implement the argc/argv passing as described in coreboots payload API:
http://www.coreboot.org/Payload_API

While at it, give the code some love by not needlessly trashing register
values.

BUG=none
BRANCH=none
TEST=none

Change-Id: If49874b1ac1c7359816f4ec02c5380c32101fa1a
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: d2f16cac74
Original-Change-Id: Ib830f2c67b631b7216843203cefd55d9bb780d83
Original-Signed-off-by: Mathias Krause <minipli@googlemail.com>
Original-Reviewed-on: https://review.coreboot.org/18336
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: build bot (Jenkins)
Reviewed-on: https://chromium-review.googlesource.com/444817
2017-02-18 03:10:59 -08:00
Mathias Krause
98efca1d93 UPSTREAM: libpayload: x86/exec - simplify and robustify the code
Simplify the code by directly using the arguments on the stack as base
pointer relative memory references, instead of loading them into
intermediate registers first.

Make it more robust by preserving all callee saved registers mandated by
the C calling convention (and only those), namely EBP, EBX, ESI and EDI.

Don't assume anything about the register state when the called function
returns -- beside the segment registers and the stack pointer to be
still the same as before the call.

BUG=none
BRANCH=none
TEST=none

Change-Id: I231828bb9a65a6b1077b17024c0c59fed8546284
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 57dc93c967
Original-Change-Id: I383d6ccefc5b3d5cca37a1c9b638c231bbc48aa8
Original-Signed-off-by: Mathias Krause <minipli@googlemail.com>
Original-Reviewed-on: https://review.coreboot.org/18335
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: build bot (Jenkins)
Reviewed-on: https://chromium-review.googlesource.com/444816
2017-02-18 03:10:58 -08:00
Mathias Krause
f8e37efbcf UPSTREAM: libpayload: x86/main - propagate return value of main()
According to coreboots payload API [1], the called payload should be
able to return a value via %eax. Support this by changing the prototype
of start_main() and pass on the return value of main() to the caller
instead of discarding it.

[1] https://www.coreboot.org/Payload_API

BUG=none
BRANCH=none
TEST=none

Change-Id: I1782c45b615d431de8be5a533d5890ed53ddb9d8
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 7b681c5926
Original-Change-Id: I8442faea19cc8e04487092f8e61aa4e5cba3ba76
Original-Signed-off-by: Mathias Krause <minipli@googlemail.com>
Original-Reviewed-on: https://review.coreboot.org/18334
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444815
2017-02-18 03:10:58 -08:00
Mathias Krause
d808757641 UPSTREAM: libpayload: x86/exec - fix argc/argv value passing
According to coreboots payload API [1] the argc value should be passed
at stack offset 0x10, so we need to push a dummy value to comply to the
API.

[1] https://www.coreboot.org/Payload_API

BUG=none
BRANCH=none
TEST=none

Change-Id: I2acc66d20fcc4e313d1ddbc4a7bc1772548981c5
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 9fa78c136d
Original-Change-Id: Id20424185a5bf7e4d94de1886a2cece3f3968371
Original-Signed-off-by: Mathias Krause <minipli@googlemail.com>
Original-Reviewed-on: https://review.coreboot.org/18333
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444814
2017-02-18 03:10:58 -08:00
Furquan Shaikh
3206879edd UPSTREAM: mainboard/google/poppy: Generate digitizer node in SSDT
Add support for generating digitizer node in SSDT using wacom i2c
driver.

BUG=None
BRANCH=None
TEST=Verified that the node shows up in SSDT.

Change-Id: Ib4bdb4f2cceb4dd581515a3cf721f61d644075f4
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: c57c48bd36
Original-Change-Id: If7e1e2463778c2ff7263eff995def149457edcde
Original-Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18373
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444813
2017-02-18 03:10:57 -08:00
Furquan Shaikh
17d376d920 UPSTREAM: mainboard/google/eve: Generate FPC device using SPI SSDT generator
Use the newly added SPI SSDT generator for adding FPC device.

BUG=chrome-os-partner:59832
BRANCH=None
TEST=Compiles successfully. Verified that the SSDT entry matches the
entry in mainboard.asl

Change-Id: Ieec31e6f489ac40c4f6c3e31ae949c967bbadf83
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 231c198e2c
Original-Change-Id: I1b3c33f2b4337735a9725dd4eb6193b2455962d7
Original-Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18343
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444812
2017-02-18 03:10:57 -08:00
Furquan Shaikh
c777b9c1cf UPSTREAM: drivers/spi: Add support for generating SPI device in SSDT
Similar to I2C driver, add support for generating SPI device and
required properties in SSDT for ACPI.

BUG=chrome-os-partner:59832
BRANCH=None
TEST=Compiles succesfully. Verified SPI device generated in SSDT on
poppy.

Change-Id: I963cfeb38cfb5da095f89cb67f1c4f6724768b81
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 20a91c9830
Original-Change-Id: Ic4da79c823131d54d9eb3652b86f6e40fe643ab5
Original-Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18342
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444811
2017-02-18 03:10:56 -08:00
Furquan Shaikh
216a0e4699 UPSTREAM: soc/intel/skylake: Add support for SPI device
Add a new PCI driver for SPI devices with supported PCI ids. Also,
provide a translation table to convert struct device structure into SPI
bus number.

BUG=chrome-os-partner:59832
BRANCH=None
TEST=Compiles successfully

Change-Id: I7c1fb564b27c2e457b607c53ab2cd2d127f9a4a0
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 0de80da24c
Original-Change-Id: If860eb819f2ce5ae5443f808b356af57f86c52be
Original-Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18341
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444810
2017-02-18 03:10:56 -08:00
Furquan Shaikh
f5ee28d3a6 UPSTREAM: device: Add scan_generic_bus support
scan_smbus routine does not perform any smbus specific operation. Thus,
rename the routine to scan_generic_bus so that it can be used by other
buses like SPI. Add a wrapper scan_smbus to allow other users of smbus
scan to continue working as before.

BUG=chrome-os-partner:59832
BRANCH=None
TEST=Compiles successfully

Change-Id: Id2b6342d96915e47c265c7984f651680632a3903
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 4e08479688
Original-Change-Id: I8ca1a2b7f2906d186ec39e9223ce18b8a1f27196
Original-Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18363
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://chromium-review.googlesource.com/444809
2017-02-18 03:10:56 -08:00
Furquan Shaikh
c135ff2abc UPSTREAM: device: Add a new "SPI" device type
Add support for a new "SPI" device type in the devicetree to bind a
device on the SPI bus. Allow device to provide chip select number for
the device as a parameter.

Add spi_bus_operations with operation dev_to_bus which allows SoCs to
define a translation method for converting "struct device" into a unique
SPI bus number.

BUG=chrome-os-partner:59832
BRANCH=None
TEST=Compiles successfully.

Change-Id: Id5ef64e11a862f4075afa06a7eca25bfc84fc9aa
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 7606c377f5
Original-Change-Id: I86f09516d3cddd619fef23a4659c9e4eadbcf3fa
Original-Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18340
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Original-Tested-by: build bot (Jenkins)
Reviewed-on: https://chromium-review.googlesource.com/444808
2017-02-18 03:10:55 -08:00
Furquan Shaikh
59327ae02e UPSTREAM: sconfig: Add a new "SPI" device type
Update sconfig lex and yacc files to add support for a new "SPI" device
type in the devicetree. SPI device takes only parameter i.e. chip select
number for the device on the SPI bus.

Re-generate the shipped files for sconfig using flex 2.6.0 and bison
3.0.4 (make CONFIG_SCONFIG_GENPARSER=1). Clean up local paths that leak
into generated files.

BUG=chrome-os-partner:59832
BRANCH=None
TEST=Compiles successfully.

Change-Id: If1595a4b6c5a3902f04dd0270a927c3dd418db48
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: e67002968b
Original-Change-Id: If0831e25b3e4ed87827ad92356d7bf47b6387884
Original-Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18339
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444807
2017-02-18 03:10:55 -08:00
Furquan Shaikh
bbe6e147e2 UPSTREAM: soc/intel/skylake: Add GSPI controller get_config support
Provide implementation of get_config routine for GSPI controller on
skylake platforms.

BUG=chrome-os-partner:59832
BRANCH=None
TEST=Compiles successfully.

Change-Id: If788103522a6c1a2a1f59e3939eb89ff6cfe62d0
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: dc1b294bfb
Original-Change-Id: I5170076c15d72a7f29acd0989acef5b9149e2ba0
Original-Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18338
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444806
2017-02-18 03:10:54 -08:00
Furquan Shaikh
6c31bd60ae UPSTREAM: spi: Add function callback to get configuration of SPI bus
Add a new callback to spi_ctrlr structure - get_config - to obtain
configuration of SPI bus from the controller driver. Also, move common
config definitions from acpi_device.h to spi-generic.h

BUG=chrome-os-partner:59832
BRANCH=None
TEST=Compiles successfully

Change-Id: I65605a03c4368f1bb4cea38d5b88e0aa4f600249
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 3e01b633d6
Original-Change-Id: I412c8c70167d18058a32041c2310bc1c884043ce
Original-Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18337
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/444805
2017-02-18 03:10:54 -08:00
Sooi, Li Cheng
ac5e55604a UPSTREAM: soc/intel/skylake: Add CPU, PCH, MCH, IGD, XHCI and UART IDs for SKL/KBL HALO SOC
Add CPU, PCH, MCH, IGD, XHCI and UART IDs for SKL/KBL HALO SOC

BUG=none
BRANCH=none
TEST=none

Change-Id: Ib9887fc4f251b80b53c4ed0c0a2518b8c06eef75
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: c76e9982b2
Original-Change-Id: I6a44d55d1588d2620bd1179ea7dc327922f49fd7
Original-Signed-off-by: Sooi, Li Cheng <li.cheng.sooi@intel.com>
Original-Reviewed-on: https://review.coreboot.org/18028
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: build bot (Jenkins)
Reviewed-on: https://chromium-review.googlesource.com/443928
2017-02-17 04:09:23 -08:00
Mathias Krause
6b19c3fe38 UPSTREAM: libpayload: x86/exec - fix return value passing
The pointer to write the return value to is in %ecx, not %eax. Writing
to (%eax) leads to memory corruptions as %eax holds the return value,
e.g. would write zero to address zero for a "successful" returning
payload.

BUG=none
BRANCH=none
TEST=none

Change-Id: I92d9ceec19d236e756c4eaf2ecf9c0534a3ad482
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 901efea8ab
Original-Change-Id: I82df27ae89a9e3d25f479ebdda2b50ea57565459
Original-Signed-off-by: Mathias Krause <minipli@googlemail.com>
Original-Reviewed-on: https://review.coreboot.org/18332
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/443927
2017-02-17 04:09:23 -08:00
Mathias Krause
cd09feca23 UPSTREAM: libpayload: x86/exec - fix libpayload API magic value
According to coreboots payload API [1] the magic value passed to the
payload should be 0x12345678, not 12345678. Fix that.

[1] https://www.coreboot.org/Payload_API

BUG=none
BRANCH=none
TEST=none

Change-Id: I54fb70bca7ede3343de93b15fff58e9df1673793
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: d42c38b93c
Original-Change-Id: I10a7f7b1a4aec100416c5e7e4ba7f8add10ef5c5
Original-Signed-off-by: Mathias Krause <minipli@googlemail.com>
Original-Reviewed-on: https://review.coreboot.org/18331
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/443926
2017-02-17 04:09:22 -08:00
Mario Scheithauer
9163185dda UPSTREAM: siemens/mc_apl1: Make basic settings for booting the mainboard
This commit makes a basic adjustment for GPIOs, device tree, flash map and
MRC settings. With these basic settings the mainboard boots into
Linux lubuntu 4.8.0-22-generic using SeaBIOS. More adjustments will follow.

BUG=none
BRANCH=none
TEST=none

Change-Id: Ic79be51b2d99ebbc2629e19f6110ad10f12028ab
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 6abdbcd4dc
Original-Change-Id: Ia920d236814f2e6a9b777dd1e4b4feef0ddf7721
Original-Signed-off-by: Mario Scheithauer <mario.scheithauer@siemens.com>
Original-Reviewed-on: https://review.coreboot.org/18292
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://chromium-review.googlesource.com/443925
2017-02-17 04:09:22 -08:00
YH Lin
60e78ce60c UPSTREAM: mainboard/google/reef: add sand variant
Create the initial Sand variant which refers to the Reef.
Sand is APL board that derives from reference board Reef.

BRANCH=master
BUG=chrome-os-partner:62200
TEST=Build (as initial setup)
Signed-off-by: YH Lin <yueherngl@chromium.org>

Change-Id: I11fa47accc9a28833ac17e1af0fe6a3d745a930f
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: d0966d86d6
Original-Change-Id: Iba8c5653b6176676c759d2b48063f0c0c6cde625
Original-Reviewed-on: https://review.coreboot.org/18324
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/443924
Reviewed-by: YH Lin <yueherngl@chromium.org>
2017-02-17 04:09:21 -08:00
Subrata Banik
ca2611ec1b UPSTREAM: soc/intel/skylake: Perform CPU MP Init before FSP-S Init
As per BWG, CPU MP Init (loading ucode) should be done prior
to BIOS_RESET_CPL. Hence, pull MP Init to BS_DEV_INIT_CHIPS Entry
(before FSP-S call).

BUG=chrome-os-partner:62438
BRANCH=NONE
TEST=Boot to OS with all threads enabled.

Change-Id: If994c73c410aadc434a456b21de122ed7dea57a5
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: a4b11e5c90
Original-Change-Id: Ia6f83d466fb27e1290da84abe7832dc814b5273a
Original-Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Original-Reviewed-on: https://review.coreboot.org/18287
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/443683
2017-02-17 04:09:21 -08:00
Martin Roth
eb30332c1d UPSTREAM: src/Kconfig: Move bootblock behavior to arch/x86 as TODO suggested
The four options are only used in X86:
- BOOTBLOCK_SIMPLE
- BOOTBLOCK_NORMAL
- BOOTBLOCK_SOURCE
- SKIP_MAX_REBOOT_CNT_CLEAR

Move them all into src/arch/x86/Kconfig - this puts them in the chipset
menu instead of general setup.

Verified that this makes no significant changes to any config file.

BUG=none
BRANCH=none
TEST=none

Change-Id: If9a61ed8a0b9add3b4f70dfb15ea0213c452f584
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 408fda799a
Original-Change-Id: I2798ef67a8c6aed5afac34322be15fdf0c794059
Original-Signed-off-by: Martin Roth <martinroth@google.com>
Original-Reviewed-on: https://review.coreboot.org/17909
Original-Reviewed-by: Kysti Mlkki <kyosti.malkki@gmail.com>
Original-Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Tested-by: build bot (Jenkins)
Reviewed-on: https://chromium-review.googlesource.com/443682
2017-02-17 04:09:21 -08:00
Martin Roth
c3b8dee35a UPSTREAM: src/Kconfig: Remove 'default n' statements from early in Kconfig
For boolean types, 'n' is the default default value - it doesn't
NEED to be set.  If it IS set, it prevents a later default from
being set.  So by removing the 'default n' statements from the
early symbols, they can be overridden other places in the tree.

Verified that this makes no significant changes to any config file.

BUG=none
BRANCH=none
TEST=none

Change-Id: If1d6e0be8feb731f073b7b3815504e6cd1957976
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: c8d16f4933
Original-Change-Id: I1b5b66bd8a3df8154a348b5272c56c88829b3ab4
Original-Signed-off-by: Martin Roth <martinroth@google.com>
Original-Reviewed-on: https://review.coreboot.org/17908
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://chromium-review.googlesource.com/443681
2017-02-17 04:09:20 -08:00
Tobias Diedrich
ac8261ce3b UPSTREAM: drivers/pc80/tpm: Update default acpi path
The existing default path of PCI0.LPCB is missing the \_SB prefix and prevents Linux from detecting the TPM.
This is assuming that normally the LPCB device is most commonly on \_SB.PCI0.LPCB.

SSDT excerpt without the patch:
"""
DefinitionBlock ("", "SSDT", 2, "CORE  ", "COREBOOT", 0x0000002A)
{
    External (_SB_.PCI0.GFX0, DeviceObj)
[...]
    External (_SB_.PCI0.SATA, DeviceObj)
    External (PCI0.LPCB, DeviceObj)
[...]
    Scope (PCI0.LPCB)
    {
        Device (TPM)
[...]
    Scope (\_SB.PCI0.GFX0)
    {
        Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
[...]
"""

SSDT excerpt with the patch:
"""
DefinitionBlock ("", "SSDT", 2, "CORE  ", "COREBOOT", 0x0000002A)
{
    External (_SB_.PCI0.GFX0, DeviceObj)
[...]
    External (_SB_.PCI0.LPCB, DeviceObj)
[...]
    External (_SB_.PCI0.SATA, DeviceObj)
[...]
    Scope (\_SB.PCI0.LPCB)
    {
        Device (TPM)
[...]
    Scope (\_SB.PCI0.GFX0)
    {
        Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
[...]
"""

After the patch the TPM shows up in /sys/bus/acpi/devices/PNP0C31:00.
Previously it was missing and not detected by the kernel.

BUG=none
BRANCH=none
TEST=none

Change-Id: I239b934fb5ec1f320cc02cafa20f8756e4c6bf68
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 36537f113c
Original-Change-Id: I615b4873ca829a859211403c84234d43d60f2243
Original-Signed-off-by: Tobias Diedrich <ranma+coreboot@tdiedrich.de>
Original-Reviewed-on: https://review.coreboot.org/18315
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Nicola Corna <nicola@corna.info>
Original-Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/443680
2017-02-17 04:09:20 -08:00
Martin Roth
527b3c1da5 UPSTREAM: util/lint: Don't check license text for files with under 5 lines
BUG=none
BRANCH=none
TEST=none

Change-Id: Ie3271826bc6a5094d3a376a0a44a7be5e3c696c9
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 03e9d6aa13
Original-Change-Id: I7c1e3cf558d447838819b4d6a63d93d48d5f13e0
Original-Signed-off-by: Martin Roth <martinroth@google.com>
Original-Reviewed-on: https://review.coreboot.org/18316
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Jonathan Neuschfer <j.neuschaefer@gmx.net>
Original-Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://chromium-review.googlesource.com/443679
2017-02-17 04:09:19 -08:00
Duncan Laurie
4f5557ecdd UPSTREAM: Revert: soc/intel/skylake: Set FSP-S UPD PchHdaIDispCodecDisconnect to 1
This reverts commit 32997fb0bc.

This change is breaking I2S audio on Kabylake platforms so
revert the change to fix audio.

BUG=chrome-os-partner:61548,chrome-os-partner:61009
TEST=manual testing on Eve P1 system

Change-Id: Iba1c9474b919dc1a1ef8c941bd483024fdd75645
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 7a0044bf98
Original-Change-Id: I3212c8be83078ed57e38501386605e67b87d5bd0
Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18360
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: build bot (Jenkins)
Reviewed-on: https://chromium-review.googlesource.com/443678
2017-02-17 04:09:19 -08:00
Wei-Ning Huang
0c1bf231c9 UPSTREAM: google/eve: change touchpad HID
Change touchpad HID to use with the Google Centroiding Touchpad driver.

BUG=chrome-os-partner:61088
TEST=`emerge-eve coreboot`

Change-Id: Ifb261bfd6ca4569021de36fa6b9f91df79ffe4d0
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: e9a22958f0
Original-Change-Id: I199ff46f1a93d3eccc8c694742585dcf37b2373f
Original-Signed-off-by: Wei-Ning Huang <wnhuang@google.com>
Original-Reviewed-on: https://review.coreboot.org/18359
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/443677
2017-02-17 04:09:18 -08:00
Matt DeVillier
037cc72e33 UPSTREAM: google/rambi: add explicit pull-down for ram-id
Some variants need the internal pull resistor on GPIO_SSUS_40
set explicitly to pull down rather than disabling the pull,
in order for the ram-id to be read correctly via GPIO.

Correct this by adding a function to enable and set the internal pull
and define its use as needed in the board's variant.h.

Chromium source:
branch: firmware-gnawty-5216.239.B
/src/soc/intel/baytrail/baytrail/gpio.h#418
/src/mainboard/google/gnawty/romstage.c#60

Test: boot 4GB Candy board and observe correct RAM id, amount detected

BUG=none
BRANCH=none
TEST=none

Change-Id: Ia648846f4cdf65908db9a310b201562f0ff72951
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 474a7c51ce
Original-Change-Id: I8823c27385f4422184b5afa57f6048f7ff2a25ab
Original-Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/18309
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://chromium-review.googlesource.com/443676
2017-02-17 04:09:18 -08:00
Arthur Heymans
b58d1197a4 UPSTREAM: nb/i945/gma.c: Remove writes to FIFO Watermark registers
Those are the result from tracing what linux or the option rom do
but are not needed here.

TESTED on Thinkpad X60.

BUG=none
BRANCH=none
TEST=none

Change-Id: I4aa3ebf50bc772ff0baf0b6c685022ea40750234
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: d81078d944
Original-Change-Id: I4297a78c4ab6a19ef6161778c993fc3f3fb08c7e
Original-Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Original-Reviewed-on: https://review.coreboot.org/18294
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://chromium-review.googlesource.com/443675
2017-02-17 04:09:18 -08:00
Kyösti Mälkki
30cdd627ce UPSTREAM: AGESA: Remove nonexistent include path
BUG=none
BRANCH=none
TEST=none

Change-Id: Ie2da618d0fed541e190915570b84a07dc8eda9db
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: e2143cdf5a
Original-Change-Id: I3395e274e0ba43de7e7306daedeb26c75de65ee1
Original-Signed-off-by: Kysti Mlkki <kyosti.malkki@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/18327
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://chromium-review.googlesource.com/443674
2017-02-17 04:09:17 -08:00
Jenny TC
5f88ad813a UPSTREAM: google/poppy: select NO_FADT_8042
Poppy doesn't support 8042 keyboard. Select
NO_FADT_8042 to disable 8042 in FADT header.
Kernel will not try to access 8042 region
if 8042.FADT=0

BUG=chrome-os-partner:61858
TEST=Boot OS and verify FADT 8042 flag

Change-Id: Ic5990bd4558f2e13185d0af8fd602fe383e2db9b
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: b07d266042
Original-Change-Id: I00182eb4b059d4d9f0705d349dc98651e3955f0d
Original-Signed-off-by: Jenny TC <jenny.tc@intel.com>
Original-Reviewed-on: https://review.coreboot.org/18311
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/443673
Commit-Ready: Jenny Tc <jenny.tc@intel.com>
2017-02-17 04:09:17 -08:00
Jenny TC
ff0f7a7a9a UPSTREAM: intel/skylake: Disable FADT.8042 if NO_FADT_8042 is set
Kernel relies on FADT 8042 flag to enable/disable
8042 interface. If FADT reports 8042 capability and
8042 (/PS2) capability is actually disabled by coreboot,
kernel would assume the presence of 8042 based on the
FADT flag. This results in undesired system power off when
kernel tries to access the 8042 memory region. To address
this, CONFIG_NO_FADT_8042 was added to selectively
disable 8042 on FADT.

BUG=chrome-os-partner:61858
TEST=Boot OS and verify FADT 8042 flag

Change-Id: I45e667950850209b33531dbb7ed784f073648e69
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 2864f85725
Original-Change-Id: Ic80b3835cb5cccdde1203e24a58e28746b0196fc
Original-Signed-off-by: Jenny TC <jenny.tc@intel.com>
Original-Reviewed-on: https://review.coreboot.org/18307
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/443672
Commit-Ready: Jenny Tc <jenny.tc@intel.com>
2017-02-17 04:09:16 -08:00
Wisley Chen
c0ecc31093 UPSTREAM: mainboard/google/snappy: Update DPTF settings
Update DPTF parameters based on thermal team test result.

1. Update TSR2 trigger points.
   TSR2 passive point: 70, critical point: 90

2. Set PL2 Max to 15W.

BUG=chrome-os-partner:61383
BRANCH=reef
TEST=build, boot on snappy, and verified by thermal team

Change-Id: I3107905307f9dfa7a73cdfdff53e5b8ed1a759df
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: b3b453f93c
Original-Change-Id: I8d01d6c1d7eabd359ceb131f3cd10965d4ac2c42
Original-Signed-off-by: Wisley Chen <wisley.chen@quantatw.com>
Original-Reviewed-on: https://review.coreboot.org/18318
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/443671
2017-02-17 04:09:16 -08:00
William wu
7d74311c25 gru: Tuning USB 2.0 PHY0 and PHY1 squelch detection threshold
According to USB 2.0 Spec Table 7-7, the High-speed squelch
detection threshold Min 100mV and Max 150mV, and we set USB
2.0 PHY0 and PHY1 squelch detection threshold to 150mV by
default, so if the amplitude of differential voltage envelope
is < 150 mV, the USB 2.0 PHYs envelope detector will indicate
it as squelch.

On Kevin board, if we connect usb device with Samsung U2 cable,
we can see that the impedance of U2 cable is too big according
to the eye-diagram test report, and this cause serious signal
attenuation at the end of receiver, the amplitude of differential
voltage falls below 150mV.

This patch aims to reduce the PHY0 and PHY1 otg-ports squelch
detection threshold to 125mV (host-ports still use 150mV by
default), this is helpful to increase USB 2.0 PHY compatibility.

BRANCH=gru
BUG=chrome-os-partner:62320
TEST=Plug Samsung U2 cable + SEC P3 HDD 500GB/Galaxy S3 into
Type-C port, check if the USB device can be detected.

Change-Id: Ib20772f8fc2484d34c69f5938818aaa81ded7ed8
Signed-off-by: William wu <wulf@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/431015
Commit-Ready: Caesar Wang <wxt@rock-chips.com>
Tested-by: Inno Park <ih.yoo.park@samsung.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2017-02-15 02:46:24 -08:00