google/snow: enable GPIO entries and CHROMEOS in building

These were not separable or it would have been two CLs.

Enable CHROMEOS configure option on snow. Write gpio support code for
the mainboard.  Right now the GPIO just returns hard-wired values for
"virtual" GPIOs.

Add a chromeos.c file for snow, needed to build.

This is tested and creates gpio table entries that our hardware can use.

Lots still missing but we can now start to fill in the blanks, since
we have enabled CHROMEOS for this board. We are getting further into
the process of actually booting a real kernel.

Change-Id: I5fdc68b0b76f9b2172271e991e11bef16f5adb27
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-on: http://review.coreboot.org/2467
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Ronald G. Minnich
2013-02-20 15:46:46 -08:00
committed by Stefan Reinauer
parent 5f20b35222
commit 3faa2c77ed
7 changed files with 110 additions and 10 deletions

View File

@@ -23,7 +23,6 @@
#include <console/console.h>
#include <ip_checksum.h>
#include <boot/tables.h>
#include <boot/coreboot_tables.h>
#include <arch/coreboot_tables.h>
#include <string.h>
#include <version.h>
@@ -35,7 +34,7 @@
#include <option_table.h>
#endif
#if CONFIG_CHROMEOS
#include <arch/acpi.h>
//#include <arch/acpi.h>
#include <vendorcode/google/chromeos/gnvs.h>
#endif
@@ -183,11 +182,10 @@ static void lb_gpios(struct lb_header *header)
struct lb_gpios *gpios;
gpios = (struct lb_gpios *)lb_new_record(header);
gpios->tag = LB_TAG_GPIO;
gpios->size = sizeof(*gpios);
gpios->count = 0;
fill_lb_gpios(gpios);
}
#if 0
static void lb_vdat(struct lb_header *header)
{
struct lb_vdat* vdat;
@@ -209,6 +207,7 @@ static void lb_vbnv(struct lb_header *header)
vbnv->vbnv_size = CONFIG_VBNV_SIZE;
}
#endif
#endif
static void add_cbmem_pointers(struct lb_header *header)
{
@@ -656,12 +655,11 @@ unsigned long write_coreboot_table(
lb_strings(head);
/* Record our framebuffer */
lb_framebuffer(head);
#if 0
#if CONFIG_CHROMEOS
/* Record our GPIO settings (ChromeOS specific) */
lb_gpios(head);
#if 0
/* pass along the VDAT buffer adress */
lb_vdat(head);

View File

@@ -12,6 +12,8 @@ unsigned long write_coreboot_table(
void lb_memory_range(struct lb_memory *mem,
uint32_t type, uint64_t start, uint64_t size);
void fill_lb_gpios(struct lb_gpios *gpios);
/* Routines to extract part so the coreboot table or information
* from the coreboot table.
*/