1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _PPC_BOOT_OF_H_
3 #define _PPC_BOOT_OF_H_
4 
5 #include "swab.h"
6 
7 typedef void *phandle;
8 typedef u32 ihandle;
9 
10 void of_init(void *promptr);
11 int of_call_prom(const char *service, int nargs, int nret, ...);
12 unsigned int of_claim(unsigned long virt, unsigned long size,
13 	unsigned long align);
14 void *of_vmlinux_alloc(unsigned long size);
15 void of_exit(void);
16 void *of_finddevice(const char *name);
17 int of_getprop(const void *phandle, const char *name, void *buf,
18 	       const int buflen);
19 int of_setprop(const void *phandle, const char *name, const void *buf,
20 	       const int buflen);
21 
22 /* Console functions */
23 void of_console_init(void);
24 
25 typedef u16			__be16;
26 typedef u32			__be32;
27 typedef u64			__be64;
28 
29 #ifdef __LITTLE_ENDIAN__
30 #define cpu_to_be16(x) swab16(x)
31 #define be16_to_cpu(x) swab16(x)
32 #define cpu_to_be32(x) swab32(x)
33 #define be32_to_cpu(x) swab32(x)
34 #define cpu_to_be64(x) swab64(x)
35 #define be64_to_cpu(x) swab64(x)
36 #else
37 #define cpu_to_be16(x) (x)
38 #define be16_to_cpu(x) (x)
39 #define cpu_to_be32(x) (x)
40 #define be32_to_cpu(x) (x)
41 #define cpu_to_be64(x) (x)
42 #define be64_to_cpu(x) (x)
43 #endif
44 
45 #define PROM_ERROR (-1u)
46 
47 #endif /* _PPC_BOOT_OF_H_ */
48