mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 22:20:45 +00:00
dm: x86: Add a uclass for a Platform Controller Hub
Add a simple uclass for this chip which is often found in x86 systems where the CPU is a separate device. The device can have children, so make it scan the device tree for these. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
ba4575626e
commit
452f548753
3 changed files with 29 additions and 9 deletions
|
@ -157,12 +157,3 @@ U_BOOT_DRIVER(bd82x6x_drv) = {
|
||||||
.of_match = bd82x6x_ids,
|
.of_match = bd82x6x_ids,
|
||||||
.probe = bd82x6x_probe,
|
.probe = bd82x6x_probe,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* TODO(sjg@chromium.org): Move this to arch/x86/lib or similar when other
|
|
||||||
* boards also use a PCH
|
|
||||||
*/
|
|
||||||
UCLASS_DRIVER(pch) = {
|
|
||||||
.id = UCLASS_PCH,
|
|
||||||
.name = "pch",
|
|
||||||
};
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ obj-$(CONFIG_SYS_PCAT_TIMER) += pcat_timer.o
|
||||||
ifndef CONFIG_DM_PCI
|
ifndef CONFIG_DM_PCI
|
||||||
obj-$(CONFIG_PCI) += pci_type1.o
|
obj-$(CONFIG_PCI) += pci_type1.o
|
||||||
endif
|
endif
|
||||||
|
obj-y += pch-uclass.o
|
||||||
obj-y += relocate.o
|
obj-y += relocate.o
|
||||||
obj-y += physmem.o
|
obj-y += physmem.o
|
||||||
obj-$(CONFIG_X86_RAMTEST) += ramtest.o
|
obj-$(CONFIG_X86_RAMTEST) += ramtest.o
|
||||||
|
|
28
arch/x86/lib/pch-uclass.c
Normal file
28
arch/x86/lib/pch-uclass.c
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2015 Google, Inc
|
||||||
|
* Written by Simon Glass <sjg@chromium.org>
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <dm.h>
|
||||||
|
#include <dm/root.h>
|
||||||
|
|
||||||
|
static int pch_uclass_post_bind(struct udevice *bus)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Scan the device tree for devices
|
||||||
|
*
|
||||||
|
* Before relocation, only bind devices marked for pre-relocation
|
||||||
|
* use.
|
||||||
|
*/
|
||||||
|
return dm_scan_fdt_node(bus, gd->fdt_blob, bus->of_offset,
|
||||||
|
gd->flags & GD_FLG_RELOC ? false : true);
|
||||||
|
}
|
||||||
|
|
||||||
|
UCLASS_DRIVER(pch) = {
|
||||||
|
.id = UCLASS_PCH,
|
||||||
|
.name = "pch",
|
||||||
|
.post_bind = pch_uclass_post_bind,
|
||||||
|
};
|
Loading…
Reference in a new issue