xref: /openbmc/linux/arch/powerpc/boot/of.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
22e601613SDavid Gibson #ifndef _PPC_BOOT_OF_H_
32e601613SDavid Gibson #define _PPC_BOOT_OF_H_
42e601613SDavid Gibson 
598fd433aSCédric Le Goater #include "swab.h"
698fd433aSCédric Le Goater 
72e601613SDavid Gibson typedef void *phandle;
864130109SCédric Le Goater typedef u32 ihandle;
92e601613SDavid Gibson 
102e601613SDavid Gibson void of_init(void *promptr);
112e601613SDavid Gibson int of_call_prom(const char *service, int nargs, int nret, ...);
12034e55e6SCédric Le Goater unsigned int of_claim(unsigned long virt, unsigned long size,
13034e55e6SCédric Le Goater 	unsigned long align);
1408464712SDavid Gibson void *of_vmlinux_alloc(unsigned long size);
152e601613SDavid Gibson void of_exit(void);
1608464712SDavid Gibson void *of_finddevice(const char *name);
1708464712SDavid Gibson int of_getprop(const void *phandle, const char *name, void *buf,
1808464712SDavid Gibson 	       const int buflen);
1908464712SDavid Gibson int of_setprop(const void *phandle, const char *name, const void *buf,
2008464712SDavid Gibson 	       const int buflen);
212e601613SDavid Gibson 
222e601613SDavid Gibson /* Console functions */
232e601613SDavid Gibson void of_console_init(void);
242e601613SDavid Gibson 
25f1ec7187SRob Herring typedef u16			__be16;
26fed23ed7SCédric Le Goater typedef u32			__be32;
27f1ec7187SRob Herring typedef u64			__be64;
28fed23ed7SCédric Le Goater 
2998fd433aSCédric Le Goater #ifdef __LITTLE_ENDIAN__
306c87b220SJeremy Kerr #define cpu_to_be16(x) swab16(x)
316c87b220SJeremy Kerr #define be16_to_cpu(x) swab16(x)
3298fd433aSCédric Le Goater #define cpu_to_be32(x) swab32(x)
3398fd433aSCédric Le Goater #define be32_to_cpu(x) swab32(x)
346c87b220SJeremy Kerr #define cpu_to_be64(x) swab64(x)
356c87b220SJeremy Kerr #define be64_to_cpu(x) swab64(x)
3698fd433aSCédric Le Goater #else
376c87b220SJeremy Kerr #define cpu_to_be16(x) (x)
386c87b220SJeremy Kerr #define be16_to_cpu(x) (x)
39926e6940SCédric Le Goater #define cpu_to_be32(x) (x)
40926e6940SCédric Le Goater #define be32_to_cpu(x) (x)
416c87b220SJeremy Kerr #define cpu_to_be64(x) (x)
426c87b220SJeremy Kerr #define be64_to_cpu(x) (x)
4398fd433aSCédric Le Goater #endif
44926e6940SCédric Le Goater 
459cc36bb0SCédric Le Goater #define PROM_ERROR (-1u)
469cc36bb0SCédric Le Goater 
472e601613SDavid Gibson #endif /* _PPC_BOOT_OF_H_ */
48