1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3 * Sandbox driver for the SOC uclass
4 *
5 * (C) Copyright 2020 - Texas Instruments Incorporated - http://www.ti.com/
6 * Dave Gerlach <d-gerlach@ti.com>
7 */
8
9 #include <common.h>
10 #include <dm.h>
11 #include <soc.h>
12
soc_sandbox_get_family(struct udevice * dev,char * buf,int size)13 int soc_sandbox_get_family(struct udevice *dev, char *buf, int size)
14 {
15 snprintf(buf, size, "SANDBOX1xx");
16
17 return 0;
18 }
19
soc_sandbox_get_machine(struct udevice * dev,char * buf,int size)20 int soc_sandbox_get_machine(struct udevice *dev, char *buf, int size)
21 {
22 snprintf(buf, size, "SANDBOX123");
23
24 return 0;
25 }
26
soc_sandbox_get_revision(struct udevice * dev,char * buf,int size)27 int soc_sandbox_get_revision(struct udevice *dev, char *buf, int size)
28 {
29 snprintf(buf, size, "1.0");
30
31 return 0;
32 }
33
34 static const struct soc_ops soc_sandbox_ops = {
35 .get_family = soc_sandbox_get_family,
36 .get_revision = soc_sandbox_get_revision,
37 .get_machine = soc_sandbox_get_machine,
38 };
39
soc_sandbox_probe(struct udevice * dev)40 int soc_sandbox_probe(struct udevice *dev)
41 {
42 return 0;
43 }
44
45 static const struct udevice_id soc_sandbox_ids[] = {
46 { .compatible = "sandbox,soc" },
47 { }
48 };
49
50 U_BOOT_DRIVER(soc_sandbox) = {
51 .name = "soc_sandbox",
52 .id = UCLASS_SOC,
53 .ops = &soc_sandbox_ops,
54 .of_match = soc_sandbox_ids,
55 .probe = soc_sandbox_probe,
56 };
57