diff options
author | David Hendricks <dhendrix@chromium.org> | 2014-09-29 13:37:51 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@google.com> | 2015-04-02 23:27:36 +0200 |
commit | 3b631615f6c382965e239704b1f417c6a67b6730 (patch) | |
tree | 7bceee3330a2667b489388f2e5c8b37416215344 /src/mainboard | |
parent | 7e9ffbcc826025fd6501feb700a9ff2b83bcd966 (diff) |
pinky: Move some init to mainboard bootblock
This patch moves init for I2C, SPI, ChromeOS GPIOs to the
board-specific bootblock init function on Pinky, the idea being
to isolate SoC code so that it's more readily adaptable for
different boards.
BUG=none
BRANCH=none
TEST=built and booted on Pinky
Original-Signed-off-by: David Hendricks <dhendrix@chromium.org>
Original-Change-Id: I75516bbd332915c1f61249844e18415b4e23c520
Original-Reviewed-on: https://chromium-review.googlesource.com/220410
Original-Reviewed-by: Julius Werner <jwerner@chromium.org>
(cherry picked from commit 0a7dec2fe70679c3457b0bfc7138b4a90b6217c8)
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Change-Id: Ib2c2e00b11c294a8d5bdd07a2cd59503179f0a84
Reviewed-on: http://review.coreboot.org/9243
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/mainboard')
-rw-r--r-- | src/mainboard/google/veyron_pinky/bootblock.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mainboard/google/veyron_pinky/bootblock.c b/src/mainboard/google/veyron_pinky/bootblock.c index d5bffea8f0..5e22d6e7d6 100644 --- a/src/mainboard/google/veyron_pinky/bootblock.c +++ b/src/mainboard/google/veyron_pinky/bootblock.c @@ -1,6 +1,7 @@ /* * This file is part of the coreboot project. * + * Copyright 2014 Rockchip Inc. * Copyright 2014 Google Inc. * * This program is free software; you can redistribute it and/or modify @@ -17,8 +18,25 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <arch/io.h> #include <bootblock_common.h> +#include <soc/rockchip/rk3288/grf.h> +#include <soc/rockchip/rk3288/spi.h> +#include <vendorcode/google/chromeos/chromeos.h> void bootblock_mainboard_init(void) { + /* i2c1 for tpm*/ + writel(IOMUX_I2C1, &rk3288_grf->iomux_i2c1); + + /* spi2 for firmware ROM */ + writel(IOMUX_SPI2_CSCLK, &rk3288_grf->iomux_spi2csclk); + writel(IOMUX_SPI2_TXRX, &rk3288_grf->iomux_spi2txrx); + rockchip_spi_init(CONFIG_BOOT_MEDIA_SPI_BUS); + + /* spi0 for chrome ec */ + writel(IOMUX_SPI0, &rk3288_grf->iomux_spi0); + rockchip_spi_init(CONFIG_EC_GOOGLE_CHROMEEC_SPI_BUS); + + setup_chromeos_gpios(); } |