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
7typedef void *phandle;
8typedef u32 ihandle;
9
10void of_init(void *promptr);
11int of_call_prom(const char *service, int nargs, int nret, ...);
12unsigned int of_claim(unsigned long virt, unsigned long size,
13	unsigned long align);
14void *of_vmlinux_alloc(unsigned long size);
15void of_exit(void);
16void *of_finddevice(const char *name);
17int of_getprop(const void *phandle, const char *name, void *buf,
18	       const int buflen);
19int of_setprop(const void *phandle, const char *name, const void *buf,
20	       const int buflen);
21
22/* Console functions */
23void of_console_init(void);
24
25typedef u16			__be16;
26typedef u32			__be32;
27typedef 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