1/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Copyright (c) 2016 Google, Inc
4 */
5
6#ifndef __DT_STRUCTS
7#define __DT_STRUCTS
8
9/* These structures may only be used in SPL */
10#if CONFIG_IS_ENABLED(OF_PLATDATA)
11struct driver_info;
12
13/**
14 * struct phandle_0_arg - hold a phandle record with no arguments
15 *
16 * This holds a phandle pointing to another device. See 'Indexes' in the
17 * of-plat-rst documentation.
18 *
19 * @idx: udevice index (or driver_info index if !OF_PLATDATA_INST)
20 * @arg: arguments
21 */
22struct phandle_0_arg {
23	uint idx;
24	int arg[0];
25};
26
27/**
28 * struct phandle_2_arg - hold a phandle record with up to one argument
29 *
30 * This holds a phandle pointing to another device. See 'Indexes' in the
31 * of-plat-rst documentation.
32 *
33 * @idx: udevice index (or driver_info index if !OF_PLATDATA_INST)
34 * @arg: arguments
35 */
36struct phandle_1_arg {
37	uint idx;
38	int arg[1];
39};
40
41/**
42 * struct phandle_2_arg - hold a phandle record with up to two arguments
43 *
44 * This holds a phandle pointing to another device. See 'Indexes' in the
45 * of-plat-rst documentation.
46 *
47 * @idx: udevice index (or driver_info index if !OF_PLATDATA_INST)
48 * @arg: arguments
49 */
50struct phandle_2_arg {
51	uint idx;
52	int arg[2];
53};
54
55#include <generated/dt-structs-gen.h>
56#include <generated/dt-decl.h>
57#endif
58
59#endif
60