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) 11 struct 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 */ 22 struct 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 */ 36 struct 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 */ 50 struct 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