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