xref: /rk3399_rockchip-uboot/drivers/core/simple-bus.c (revision da802b9e2726c7467e0b402efeb6ad3d975f1282)
1*da802b9eSSimon Glass /*
2*da802b9eSSimon Glass  * Copyright (c) 2014 Google, Inc
3*da802b9eSSimon Glass  *
4*da802b9eSSimon Glass  * SPDX-License-Identifier:	GPL-2.0+
5*da802b9eSSimon Glass  */
6*da802b9eSSimon Glass 
7*da802b9eSSimon Glass #include <common.h>
8*da802b9eSSimon Glass #include <dm.h>
9*da802b9eSSimon Glass #include <dm/root.h>
10*da802b9eSSimon Glass 
11*da802b9eSSimon Glass DECLARE_GLOBAL_DATA_PTR;
12*da802b9eSSimon Glass 
13*da802b9eSSimon Glass static int simple_bus_post_bind(struct udevice *dev)
14*da802b9eSSimon Glass {
15*da802b9eSSimon Glass 	return dm_scan_fdt_node(dev, gd->fdt_blob, dev->of_offset, false);
16*da802b9eSSimon Glass }
17*da802b9eSSimon Glass 
18*da802b9eSSimon Glass UCLASS_DRIVER(simple_bus) = {
19*da802b9eSSimon Glass 	.id		= UCLASS_SIMPLE_BUS,
20*da802b9eSSimon Glass 	.name		= "simple_bus",
21*da802b9eSSimon Glass 	.post_bind	= simple_bus_post_bind,
22*da802b9eSSimon Glass };
23*da802b9eSSimon Glass 
24*da802b9eSSimon Glass static const struct udevice_id generic_simple_bus_ids[] = {
25*da802b9eSSimon Glass 	{ .compatible = "simple-bus" },
26*da802b9eSSimon Glass 	{ }
27*da802b9eSSimon Glass };
28*da802b9eSSimon Glass 
29*da802b9eSSimon Glass U_BOOT_DRIVER(simple_bus_drv) = {
30*da802b9eSSimon Glass 	.name	= "generic_simple_bus",
31*da802b9eSSimon Glass 	.id	= UCLASS_SIMPLE_BUS,
32*da802b9eSSimon Glass 	.of_match = generic_simple_bus_ids,
33*da802b9eSSimon Glass };
34