sconfig: Allow chipset to provide a base devicetree

This change extends the devicetree override one more layer and allows
the chipset to provide the base devicetree.  This allows the chipset to
assign alias names to devices as well as set default register values.
This works for both the baseboard devicetree.cb as well as variant
overridetree.cb.

chipset.cb:
device pci 15.0 alias i2c0 off end

devicetree.cb:
device ref i2c0 on end

BUG=b:156957424

Change-Id: Ia7500a62f6211243b519424ef3834b9e7615e2fd
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44037
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Duncan Laurie
2020-07-29 16:28:43 -07:00
committed by Furquan Shaikh
parent b9a7d779b3
commit e335c2e02f
9 changed files with 677 additions and 722 deletions

View File

@@ -175,10 +175,14 @@ struct device {
extern struct bus *root_parent;
struct device *new_device(struct bus *parent,
struct chip_instance *chip_instance,
const int bustype, const char *devnum,
char *alias, int status);
struct device *new_device_raw(struct bus *parent,
struct chip_instance *chip_instance,
const int bustype, const char *devnum,
char *alias, int status);
struct device *new_device_reference(struct bus *parent,
struct chip_instance *chip_instance,
const char *reference, int status);
void add_resource(struct bus *bus, int type, int index, int base);