Commit graph

174 commits

Author SHA1 Message Date
Martin Roth
ddb2a77511 mainboard/google/kahlee: move SPDs to variants/baseboard/spd
The SPD files will be common to many of the mainboards, so move them out
of grunt and into the variants/baseboard directory.

BUG=b:80106042
TEST=Build grunt, make sure spd.bin is the same.

Change-Id: I53975a46a8c7d7e519bb6f7ef6ccd0b817ac4c92
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/26523
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-05-30 14:29:19 +00:00
Raul E Rangel
8173ad1ed7 grunt: Wire up the EC SMI handler
This won't actually get called yet since the GPIO pin has not been
configured as SMI.

BUG=b:80295434
TEST=grunt: Made sure events could be processed.

Change-Id: I189e26196e4543b3e34bff5d9df8566eff07d585
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Reviewed-on: https://review.coreboot.org/26546
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2018-05-27 01:04:39 +00:00
Richard Spiegel
2db06bba0f stoneyridge GPIO: Create and use PAD_INT for interrupt pins
The default interrupt control for GPIO pins within stoneyridge is for
edge triggered, high. However, sometimes these need to change, or maybe
the interrupt needs to be reported or delivered. This was the case of
platform grunt, where the interrupt related bits were being changed
afterwards. Ideally all the bits should be programmed through the same
procedure. Create several PAD_INT definitions (for general configuration,
for trigger configuration and for interrupt type configuration) and change
function sb_program_gpios() to accept the output from PAD_INT_XX and
program all the necessary bits while keeping compatibility with other
PAD_XX definitions.

BUG=b:72875858
TEST=Add code to report GPIO and interrupt configuration, build grunt and
record a baseline. Add new code, rebuild grunt and record a test output.
Compare baseline against test, there should be no change in GPIO or
interrupt programming.
Remove code that reports GPIO/interrupt configuration.

Change-Id: I3457543bdf64ec757fd82df53c83fdc1d03c1f22
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25758
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-05-27 01:03:28 +00:00
Daniel Kurtz
c3e7416b1b mb/google/kahlee: Init APU_BIOS_FLASH_WP_L GPIO to reset stage
GPIO APU_BIOS_FLASH_WP_L is first read in ROM stage to determine the
state of the BIOS FLASH Write Protect signal at boot.
The result of this read accumulated in the vboot state that's passed on
to the upper layers of the stack.

Therefore this GPIO must be configured as a "reset stage" GPIO, not
a "RAM" stage GPIO.

BUG=b:79866233
TEST=firmware_WriteProtect

Change-Id: I1d96ab4bbfeaf9db9f74cf0c58cbab2104079bf7
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-on: https://review.coreboot.org/26498
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-05-25 08:18:13 +00:00
Richard Spiegel
17da4f423a mb/google/kahlee/dsdt.asl: Add method _SWS
_SWS is the recommended method of wake source retrieval. Now that PM1I and
GPEI are available at NVS, add the method _SWS to kahlee/grunt ACPI code.

BUG=b:76020953
TEST=Build grunt

Change-Id: I5930438af40e6f9177462582cafb65401d9c60f4
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/26217
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-05-23 17:54:12 +00:00
Martin Roth
3dee6d1555 mainboard/google/kahlee: Update RW_LEGACY size in fmap
Add the unused space to the RW_LEGACY area.

BUG=b:79433466
TEST=None

Change-Id: I897d1dcf75466fe9bdb814c8a9db0fecb5c42af6
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/26221
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-05-22 03:29:10 +00:00
Daniel Kurtz
e153101b9a google/kahlee: Swap UNIFIED_MRC_CACHE and RW_SECTION_A in fwmap
The firmware_Mosys FAFT test does not allow RW_SECTION_A, RW_SECTION_B or
RW_SHARED to be 0-sized, nor located at offset 0x00000000.

Swap UNIFIED_MRC_CACHE and RW_SECTION_A to pass this test.

BUG=b:79865447
TEST=test_that -b grunt ${IP} firmware_Mosys

Change-Id: If60919fd998ac786d58a5a258d7b5ded727db64b
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-on: https://review.coreboot.org/26356
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-05-22 03:12:57 +00:00
Marshall Dawson
d5c4aa7a0a google/kahlee: Reduce UMA memory to 32MB
Lower the amount of UMA memory to 32MB at AMD's request.

TEST=none
BUG=b:79906569

Change-Id: Ib1365dc38850b4b92c944ff95534573addbe4362
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/26383
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-05-21 19:55:21 +00:00
Marshall Dawson
2c8bd0df63 google/grunt: Reduce UMA memory to 32MB
Lower the amount of UMA memory to 32MB at AMD's request.

TEST=boot Grunt, try S3
BUG=b:79906569

Change-Id: I5af038688b38b53c94b8265823eeee0f37980522
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/26382
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-05-21 19:55:12 +00:00
Elyes HAOUAS
d129d43ea7 mb/google: Get rid of device_t
Use of device_t has been abandoned in ramstage.

Change-Id: I8e549e4222ae2ed6b9c46f81c5b5253e8b227ee8
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/26086
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-05-08 18:31:26 +00:00
Martin Roth
283f1f364e src/mainboard: Set ACPI OEM ID values to 6 characters long
Change OEM ID values to 6 characters to fix error compiling with IASL
version 20180427.

Also update table creator to 8 characters from 7.

Change-Id: Id6c9a7b08dc4a9efeb69011393e29aa5a6bc54c4
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/26047
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2018-05-08 00:23:47 +00:00
Akshu Agrawal
8f1e03920f mainboard/google/kahlee: Pass oscout system clk to da7219
Using da7219 mclk-name property, oscout system clock is linked
to da7219 mclk. da7219 then handles enabling/disabling of the clk.

BUG=b:74570989
TEST=Tested clock enable/disable in kernel driver

Change-Id: I298b0ce5d2c40daadeb5d68f9cb595a965272021
Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Reviewed-on: https://review.coreboot.org/25920
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-05-04 10:04:59 +00:00
Martin Roth
0f1d45c33f google/kahlee: Revert "Resume on AC insertion"
This reverts commit edf2f59b1d.
(google/kahlee: Resume on AC insertion)

The requirement to wake on AC insert is just to wake enough to charge,
not to wake the entire system.

BUG=b:77602394
TEST=None

Change-Id: I0ee709183b1605c1efc0fce673db512fac66adfa
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/26014
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-05-04 01:04:30 +00:00
Martin Roth
59114579a2 mainboard/google: Comment variant names in Kconfig
It's very confusing trying to find the google platform names, because
they seem all unsorted in Kconfig.  They're actually sorted according
to the variant name, but previously, that was impossible to tell.

- Add a comment to the top of variants in Kconfig.name
- Inset each variant name.  If you start a prompt with whitespace,
it gets ignored, so after trying various ways to indent, the arrow
was the option I thought looked the best.

It now looks like this:
*** Beltino ***

->  Mccloud (Acer Chromebox CXI)

->  Monroe (LG Chromebase 22CV241 & 22CB25S)

->  Panther (ASUS Chromebox CN60)

->  Tricky (Dell Chromebox 3010)

->  Zako (HP Chromebox G1)

Butterfly (HP Pavilion Chromebook 14)

Chell (HP Chromebook 13 G1)

Cheza

*** Cyan ***

Change-Id: I35cb16b040651cd1bd0c4aef98494368ef5ca512
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/26020
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2018-05-04 01:03:49 +00:00
Martin Roth
2a8cc53620 mainboard/google/kahlee: Update grunt touchscreen in devicetree
- Add raydium controller
- Update elan controller with reset and enable GPIOs.
- Enable 'probed' so Linux will check which controller is being used.

BUG=b:78929054
TEST=Both elan and raydium touchscreen controllers work

Change-Id: I3bd9912a4b1edc7bf1075cb649afa3eab5dca458
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25998
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-05-03 19:58:50 +00:00
Marc Jones
a44900a24b google/kahlee: Set SPI 100 MHz and SPI Dual Read IO mode
Set SPI Fast Read to 100MHz and Dual Read IO mode to speed up
the boot process by over a half second. Also, increase the Normal
Read speed to 33MHz as supported by the W25Q128FW.

BUG=b:70558952
TEST=Run cbmem -t to get boot times.

Change-Id: I616a96526ed90bb4ab0c9c6b78787799faa02633
Signed-off-by: Marc Jones <marc.jones@scarletltd.com>
Reviewed-on: https://review.coreboot.org/25970
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-05-02 20:49:20 +00:00
Simon Glass
fe588985f2 mb/google/kahlee/variants/grunt: Enable BayHub720 driver
Enable this driver along with power saving.

BUG=b:73726008
BRANCH=none
TEST=boot and see this message:
BayHub BH720: Power-saving enabled 110103
From linux:
$ iotools pci_read32 2 0 0 0x90
0x00110103

Change-Id: I850e923f73e01fe629d66ad61b65afa58035845c
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://review.coreboot.org/25967
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-05-02 20:48:41 +00:00
Marc Jones
f7caa67ebc google/kahlee: Remove VBOOT_VBNV_CMOS
Remove VBOOT_VBNV_CMOS from the mainboard. It is selected in the
stoneyridge Kconfig.

BUG=b:77347873
TEST=Manually clear CMOS and check coreboot restores VBNV from flash.

Change-Id: I30e517e06ab9d8f7d4a93bf82f12726756c44966
Signed-off-by: Marc Jones <marc.jones@scarletltd.com>
Reviewed-on: https://review.coreboot.org/25844
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-04-27 09:15:34 +00:00
Marc Jones
e6280918fd google/kahlee: Add RW_NVRAM to FMAP
Add RW_NVRAM area to FMAP for VBOOT_VBNV_CMOS_BACKUP_TO_FLASH support.

BUG=b:77347873
TEST=Manually clear CMOS and check coreboot restores VBNV from flash.

Change-Id: Id8c6f54634b94bf6ae3755a827e80d0862a42dd2
Signed-off-by: Marc Jones <marc.jones@scarletltd.com>
Reviewed-on: https://review.coreboot.org/25843
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-04-27 09:14:25 +00:00
Marc Jones
557b9bbdf2 mainboard/google/kahlee: Set SPI speed in bootblock
Set the SPI speed for Normal, Fast, AltIO, and TPM in bootblock.
This setup is needed when moving AGESA out of the bootblock. It sets the
SPI bus speed of the TPM access in verstage.

BUG=b:70558952
TEST=Boot with AGESA moved out of the bootblock.

Change-Id: Ida77d78eb1f290e46b57a46298400ed6c8015e2c
Signed-off-by: Marc Jones <marc.jones@scarletltd.com>
Reviewed-on: https://review.coreboot.org/25756
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-04-26 22:01:50 +00:00
Daniel Kurtz
43c211bee3 mb/google/grunt: Add grunt touchpad wake GPE to devicestree
The grunt touchpad interrupt can be used as a wake source.  For grunt,
the touchpad interrupt uses GPIO5 which corresponds to GEVENT7.

BUG=b:77602771
TEST=In OS: # cat /proc/acpi/wakeup
 => D015	  S3	*enabled   i2c:i2c-ELAN0000:00
TEST=powerd_dbus_suspend, touching touchpad (> 1 sec) wakes from S3.

Change-Id: I510642108a1257f6601f18c77cf3107573427f39
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-on: https://review.coreboot.org/25827
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-04-26 21:17:53 +00:00
Daniel Kurtz
d648730fe8 mainboard/google/kahlee: Enable EC wake on GPIO24
The grunt EC uses GPIO24 (EC_PCH_WAKE_L) to signal wake-up events to the AP.
On Stoney, GPIO24 maps to GEVENT (GPE) 15.

The kahlee EC uses GPIO2 (EC_PCH_WAKE_L) to signal wake-up events to the AP.
On Stoney, GPIO2 maps to GEVENT (GPE) 8.

BUG=b:78461678
TEST=powerd_dbus_suspend, tap any key on keyboard wakes from S3.
TEST=sign in, EC: lidclose, EC: lidopen => system wakes from S3.

Change-Id: Ib1809740837e686992ff70b81933159a5dff7595
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-on: https://review.coreboot.org/25816
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
2018-04-26 21:17:33 +00:00
Daniel Kurtz
75ed7781cc mainboard/google/kahlee: Fix EC_SMI_GPI
On the kahlee variant, EC_SMI_ODL is connected to GPIO6, which uses
GEVENT 10 (GPE10).  Fix this up, and also clean up the EC_*_GPI
definition format a bit to match the format in the baseboard/gpio.h.

BUG=b:78461678
TEST=build coreboot for kahlee

Change-Id: I9445efbc02559c2a7c90f67bcb0154b04b03a1aa
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-on: https://review.coreboot.org/25826
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
2018-04-26 21:16:57 +00:00
Richard Spiegel
e07e4f3961 mb/google/kahlee/variants/baseboard/gpio.c: move all non-critical gpios
When GPIO tables were created, there was no study on which pins had to be
programmed ASAP and which could be programmed later. Execute such study and
move all non-critical gpios from reset to late.

BUG=b:76097508
TEST=Build and boot grunt to OS, test OS for lost functionality (WIFI, video
playback, track pad, keyboard).

Change-Id: Icbc9370050d619800026035caaac3e89536a460a
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25395
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-04-24 17:13:06 +00:00
Aaron Durbin
6403167d29 compiler.h: add __weak macro
Instead of writing out '__attribute__((weak))' use a shorter form.

Change-Id: If418a1d55052780077febd2d8f2089021f414b91
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/25767
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
2018-04-24 14:37:59 +00:00
Richard Spiegel
6fcb9b00c8 soc/amd/stoneyridge/include/soc/southbridge.c: Rename gpio structure
The GPIO definition structure has evolved to a point where it's no longer
specific to stoneyridge, though probably still specific to AMD. Therefore,
rename the GPIO declaration structure removing stoneyridge from it.

BUG=b:72875858
TEST=Build kahlee, grunt, gardenia.

Change-Id: Ib034d3f7840c36ee8f5c5384241d7326d3fe5543
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25726
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-04-20 13:03:14 +00:00
Richard Spiegel
08c4ce851e soc/amd/stoneyridge/include/soc/gpio.h: Remove vendor code reference
With the exception of code that deals directly or indirectly with AGESA,
all other code should be independent of vendor code reference. Therefore,
remove vendor code reference from any GPIO code.

BUG=b:77999987
TEST=Build and boot grunt.

Change-Id: I9ba78767a269ad6b9b06fa11993d8a12350e4bad
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25695
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Marc Jones <marc@marcjonesconsulting.com>
Reviewed-by: Garrett Kirkendall <garrett.kirkendall@amd.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-04-18 09:54:45 +00:00
Richard Spiegel
4d25212346 mb/google/kahlee/variants/kahlee/gpio.c: Convert GPIO to new format
As part of preparing to make GPIO code independent of vendor code references,
convert GPIO table format using newly defined macros.

BUG=b:77999987
TEST=Build and boot kahlee.

Change-Id: I0af768bb4dbcbfef0d2d08ffe869c1dfb6827974
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25694
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Garrett Kirkendall <garrett.kirkendall@amd.corp-partner.google.com>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2018-04-18 09:54:28 +00:00
Martin Roth
7fb2ab6d43 mainboard/google/kahlee: Add EC back into grunt devicetree
The EC code should not have been removed from devicetree when moving
over from grunt.  This was causing various bewildering issues that
would happen on the first boot but not on subsequent reboots.

BUG=b:73235377
TEST=Grunt powers off and stays powered off at dev screen.

Change-Id: I225138fede66c6e189e0e79d1261d0d579f7cbdc
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25690
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Marc Jones <marc@marcjonesconsulting.com>
2018-04-17 19:10:46 +00:00
Martin Roth
f93e63cfaf mainboard/google/kahlee: Update EC pins from GPIOs to GPEs
The EC pin definitions are GPEs, not the GPIO numbers.

BUG=b:74022675
TEST=Power status updates immediately when power is inserted.

Change-Id: Icc8330a606f7a85e72b65094462a684927986829
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25689
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-04-17 19:10:29 +00:00
Marshall Dawson
edf2f59b1d google/kahlee: Resume on AC insertion
The EC should wake the system from S3 when the AC connector is plugged.

BUG=b:77602394
TEST=verify resume on insert with Grunt

Change-Id: I4bcaef2fe75283aaa6260b5b9efd408ff4b05f4c
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/25647
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2018-04-16 08:35:33 +00:00
Akshu Agrawal
0e9aa2623a mb/google/kahlee: Select BT I2S PAD on ACP_BT_UART mux
bt-pad-enable property is used by kernel driver to set
BT I2S PAD on ACP_BT_UART_PAD_SEL mux, for those platforms which
use these pins for BT I2S. By default the pins are set for UART.

BUG=b:72360151
TEST=Tested playback and capture on audio device connected to BT I2S

Change-Id: Id76bfa1fa1dde904f02a03b0c15986ecb1bbcc97
Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Reviewed-on: https://review.coreboot.org/25653
Reviewed-by: Daniel Kurtz <djkurtz@google.com>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-04-16 08:34:12 +00:00
Martin Roth
70df5d6e43 src/mainboard/kahlee: Turn on keyboard backlight on grunt
Turn on keyboard backlight in romstage to indicate that the system is
booting.

BUG=b:77921345
TEST=Boot grunt, keyboard backlight comes on.

Change-Id: Ib215b19ebdee2f8c4f431af775905eca42436d1c
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25636
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-04-13 16:50:52 +00:00
Richard Spiegel
48e074975d mb/google/kahlee: Fix IRQ routing
ACPI interrupt routing file routing.asl is not reflecting AGESA settings to
the NB Interrupt Routing Registers. The AGESA settings are:
Device  self    INTA    INTB    INTC    INTD
GPP 0	23	0	1	2	3
GPP 1	24	8	9	10	11
GPP 2	25	16	17	18	19
GPP 3	26	24	25	26	27
GPP 4	23	3	0	1	2
HDA	none	22	23	20	21
GBIF	none	6	7	4	5

Fix the routing table, considering that NB IOAPIC starts at interrupt 24.

BUG=b:74104946
TEST=Build and boot to a modified grunt board to enable the emmc. Then used
"cat /proc/interrupts" to get active interrupts. Also checked IOAPIC
redirection registers, which are now being programmed.

Change-Id: I60847c46f3f938f9e97d7b323b27d20e36aa2d02
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25510
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-04-13 16:44:42 +00:00
Jonathan Neuschäfer
73cd7cf0f2 src/amd/stoneyridge: Fix a typo (EDGEL_TRIG -> EDGE_TRIG)
Fixes: 2269a3c328 ("soc/amd/stoneyridge: Add functions for GPIO interrupts")
Change-Id: I5730259bc6819defc482d31644e1f476679257b2
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-on: https://review.coreboot.org/25588
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Chris Ching <chingcodes@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-04-11 14:18:35 +00:00
Martin Roth
79efe52e7d mainboard/google/kahlee: Enable Keyboard backlight for Grunt
Grunt supports a keyboard backlight, so enable the ASL code.

BUG=b:77455525
Test=Boot Grunt, verify that the string 'KBLT' is in the DSDT.

Change-Id: Idf0f23581bcba0b035c126c68fb167274d7c698a
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/25470
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-04-11 14:08:52 +00:00
Richard Spiegel
e2f301d34b mainboard: Make OemCustomize.c available at romstage
As part of moving AGESA calls from bootblock to romstage, OemCustomize.c
of all boards using stoneyridge must be available at romstage.

BUG=b:74236170
TEST=Build grunt and kahlee, actual test will be performed at a later patch.

Change-Id: Ide9efdbff6a07c670034391c0d62e8b74fa5c02b
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25528
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-04-10 16:23:55 +00:00
Martin Roth
99519bc0aa mainboard/google/kahlee: Update WP to active low
The WP signal to the AP isn't inverted as it is on other platforms, so
it was reporting incorrectly.  Change the ACPI table to be active low,
and invert the signal when reporting it to everything else.

BUG=b:74946358
TEST=Boot grunt with battery inserted, WP signals both report 1.  Remove
battery, WP_CUR reports 0, WP_BOOT still reports 1.

Change-Id: Ic1369dbda609e34b308af308880449643be6af39
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/25469
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-04-05 15:50:07 +00:00
Martin Roth
d0bc79be47 mainboard/google/kahlee: Update GPIOs based on board ID
BUG=b:73078053
TEST=build & boot Grunt

Change-Id: I2d4ba197b19c4948b867a61575e858b2a826a286
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25287
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-03-21 18:23:07 +00:00
Akshu Agrawal
e11a11265b mb/google/kahlee: Add register address mapping for FCH MISC
Audio machine driver will enable/disable clock by making it as
a CCF clock in kernel.

BUG=b:74570989
TEST=cherry-picked https://patchwork.kernel.org/patch/10291875/
on 4.14 kernel
aplay -vv <file>
check register to see clock enabled
kill aplay
check register to see clock disabled

Change-Id: Ia553e55ffb358415067000d2d2d2744322d1c4db
Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Reviewed-on: https://review.coreboot.org/25263
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-03-21 03:55:11 +00:00
Martin Roth
bf7dea0028 mainboard/google/kahlee: Initialize EC earlier in the bootblock
Set up the EC communication a little earlier so we can read the board
ID before programming GPIOS.

BUG=b:73078053
TEST=Build & Boot grunt, board_id() now gets ID correctly

Change-Id: Icf3f598824cfed69fa03ba2bb86503bb3c3699a5
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25286
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-03-20 22:44:57 +00:00
Richard Spiegel
6dfbb59307 soc/amd/stoneyridge/southbridge.c: Remove configure_stoneyridge_uart
The GPIO programming of configure_stoneyridge_UART() can be done by the early
GPIO table, AOAC enabling was already removed. So  configure_stoneyridge_uart()
became redundant. Remove procedure  configure_stoneyridge_uart().

BUG=b:74258015
TEST=Build and boot kahlee, observing serial output does not changes from
previous serial output.

Change-Id: Ie67051d7b90fa294090f6bfc518c6c074d98cc98
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/25192
Reviewed-by: Garrett Kirkendall <garrett.kirkendall@amd.corp-partner.google.com>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-03-19 14:19:46 +00:00
Martin Roth
7b37668650 mainboard/google/kahlee: Set GPIO 40 to input
GPIO 40 isn't currently being used, so set it to be an input.

BUG=b:73387647
TEST=Build & boot grunt

Change-Id: I5a04cbab1276cd20e7f9c7576e8111089dd2b155
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25016
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-03-09 12:41:24 +00:00
Martin Roth
001848c415 mainboard/google/kahlee: Disable Bayhub part on board_id 0
The Bayhub part is not used on proto with board_id 0, so disable it.

BUG=b:74248569
TEST=Build & boot Grunt.  Bayhub part is disabled.

Change-Id: I635356d41bab637726594d403d66dde730f12256
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25015
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
2018-03-09 12:40:50 +00:00
Daniel Kurtz
8a6377ec24 mb/google/kahlee: Do not define SIO_EC_ENABLE_COM1
This #define tells superio.asl to add a "PNP0501" "Plug and Play
16550A-compatible COM port" entry to kahlee's ACPI tables.

The EC on kahlee boards do not provide a "Serial Port 1" that should
be exposed via ACPI to the OS.  In fact, this entry confuses the
kernel and in some cases can cause it to try to redirect output to a
non existing port.

BUG=b:74200887
TEST=Deploy to grunt.  Boot kernel with SERIAL_PORT_DFNS undefined and
 "earlycon=uart,mmio32,0xfedc6000,115200,48000000" on the kernel
 command line, and with an image with serial console enabled.
 => System boots with (kernel) serial console enabled, starting from
    0.00 (earlycon), with no gaps in its output, and serial console
    also allows logging in.

Change-Id: I0eaed9b4461bb6a6c1aa4ce97752f588d4322b35
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-on: https://review.coreboot.org/25021
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-03-08 19:04:03 +00:00
Simon Glass
b5c5177bc4 mb/google/kahlee: Add SKU support
We want to report the board SKU via the SMBIOS tables. Add support for
this, obtaining the ID itself from the EC.

BUG=b:74175244
BRANCH=none
TEST=manually on grunt with another CL:
mosys platform sku
0

Change-Id: I9e08d64df3f89d3703de047dd9ec8e1717e6b212
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://review.coreboot.org/25011
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2018-03-08 16:43:57 +00:00
Justin TerAvest
23cff8bf50 mb/{amd/gardenia,google/kahlee}: Initialize GPIOs earlier
The GPIOs for PCIe reset and power enable for WLAN must be set up before
amdinitearly for wlan to function.

BUG=b:73898539
TEST=Boot, see WLAN controller in lspci

Change-Id: I568a3240a54817ab6dcf15fe39f7f1336943852b
Signed-off-by: Justin TerAvest <teravest@chromium.org>
Reviewed-on: https://review.coreboot.org/24916
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-03-01 16:07:10 +00:00
Richard Spiegel
8f825e0cd0 mb/google/kahlee/mainboard.c: Fix mainboard_picr_data
While programming interrupts, a message "perhaps this device was defined
wrong?" shows up twice. This is caused because some devices have
interrupt programmed for APIC mode, but not for non-APIC mode. Fix
mainboard_picr_data table by identifying devices programmed with value
0x1F while programmed differently on mainboard_intr_data table. Do so
only for devices that are used by kahlee or interrupt required by old OS.

BUG=b:70788755
TEST=Build and run kahlee, Verify that message disappears from serial
output.

Change-Id: Ic285036290519ed3ee617dffa616bd26c61575c5
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/23716
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2018-02-22 20:27:09 +00:00
Justin TerAvest
f6106718a8 mb/google/kahlee: Use GPIO macros for baseboard
This commit uses newly defined macros to make it easier to read which
iomux function pads are being configured to use.

TEST=Booted grunt, confirmed display backlight came on.
BUG=b:72875858

Change-Id: I24e5091fc7ef696f8e9c932ce04664e6cc3ccb90
Signed-off-by: Justin TerAvest <teravest@chromium.org>
Reviewed-on: https://review.coreboot.org/23830
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-02-22 17:16:51 +00:00
Justin TerAvest
36b568ce7c mb/google/kahlee: Correct bad gpio entry
There's no need to set the output enable here; this is already handled
by the native function. I'm making this correction in this change to
prevent the GPIO pin descriptions from getting confusing.

BUG=b:72875858
TEST=Booted, confirmed S5_MUX_CTRL high with and without this change.

Change-Id: I9e047be7169586c59892ef2bdab915683feeebda
Signed-off-by: Justin TerAvest <teravest@chromium.org>
Reviewed-on: https://review.coreboot.org/23829
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-02-22 16:27:36 +00:00