xref: /openbmc/linux/arch/powerpc/boot/of.h (revision 98fd433a)
12e601613SDavid Gibson #ifndef _PPC_BOOT_OF_H_
22e601613SDavid Gibson #define _PPC_BOOT_OF_H_
32e601613SDavid Gibson 
498fd433aSCédric Le Goater #include "swab.h"
598fd433aSCédric Le Goater 
62e601613SDavid Gibson typedef void *phandle;
764130109SCédric Le Goater typedef u32 ihandle;
82e601613SDavid Gibson 
92e601613SDavid Gibson void of_init(void *promptr);
102e601613SDavid Gibson int of_call_prom(const char *service, int nargs, int nret, ...);
11034e55e6SCédric Le Goater unsigned int of_claim(unsigned long virt, unsigned long size,
12034e55e6SCédric Le Goater 	unsigned long align);
1308464712SDavid Gibson void *of_vmlinux_alloc(unsigned long size);
142e601613SDavid Gibson void of_exit(void);
1508464712SDavid Gibson void *of_finddevice(const char *name);
1608464712SDavid Gibson int of_getprop(const void *phandle, const char *name, void *buf,
1708464712SDavid Gibson 	       const int buflen);
1808464712SDavid Gibson int of_setprop(const void *phandle, const char *name, const void *buf,
1908464712SDavid Gibson 	       const int buflen);
202e601613SDavid Gibson 
212e601613SDavid Gibson /* Console functions */
222e601613SDavid Gibson void of_console_init(void);
232e601613SDavid Gibson 
24fed23ed7SCédric Le Goater typedef u32			__be32;
25fed23ed7SCédric Le Goater 
2698fd433aSCédric Le Goater #ifdef __LITTLE_ENDIAN__
2798fd433aSCédric Le Goater #define cpu_to_be32(x) swab32(x)
2898fd433aSCédric Le Goater #define be32_to_cpu(x) swab32(x)
2998fd433aSCédric Le Goater #else
30926e6940SCédric Le Goater #define cpu_to_be32(x) (x)
31926e6940SCédric Le Goater #define be32_to_cpu(x) (x)
3298fd433aSCédric Le Goater #endif
33926e6940SCédric Le Goater 
349cc36bb0SCédric Le Goater #define PROM_ERROR (-1u)
359cc36bb0SCédric Le Goater 
362e601613SDavid Gibson #endif /* _PPC_BOOT_OF_H_ */
37