blob: 550cafdc7a143dd54f3eeb7512df21079551e9f4 [file] [log] [blame]
wdenkc83bf6a2004-01-06 22:38:14 +00001#ifndef __EXPORTS_H__
2#define __EXPORTS_H__
wdenk27b207f2003-07-24 23:38:38 +00003
Simon Glassc30b7ad2019-11-14 12:57:41 -07004#include <irq_func.h>
Simon Glass401d1c42020-10-30 21:38:53 -06005#include <asm/global_data.h>
Simon Glassc05ed002020-05-10 11:40:11 -06006#include <linux/delay.h>
Simon Glassc30b7ad2019-11-14 12:57:41 -07007
wdenk27b207f2003-07-24 23:38:38 +00008#ifndef __ASSEMBLY__
Prabhakar Kushwaha95279312015-06-28 11:03:59 +05309#ifdef CONFIG_PHY_AQUANTIA
Simon Glass9fb625c2019-08-01 09:46:51 -060010#include <env.h>
Joe Hershbergerf070b1a2018-07-17 15:02:30 -050011#include <phy_interface.h>
Prabhakar Kushwaha95279312015-06-28 11:03:59 +053012#endif
wdenk27b207f2003-07-24 23:38:38 +000013
Simon Glass36bf4462019-11-14 12:57:42 -070014#include <irq_func.h>
15
Simon Glass09140112020-05-10 11:40:03 -060016struct cmd_tbl;
Martin Dorwig49cad542015-01-26 15:22:54 -070017struct spi_slave;
18
Ovidiu Panait01548582020-11-28 10:43:15 +020019/**
20 * jumptable_init() - Set up the jump table for use by the API
21 *
22 * It is called during the generic post-relocation init sequence.
23 *
24 * Return: 0 if OK
25 */
26int jumptable_init(void);
Simon Glassa6f2aaf2019-12-28 10:44:46 -070027
wdenk27b207f2003-07-24 23:38:38 +000028/* These are declarations of exported functions available in C code */
29unsigned long get_version(void);
30int getc(void);
31int tstc(void);
32void putc(const char);
33void puts(const char*);
Wolfgang Denkd9c27252010-06-20 17:14:14 +020034int printf(const char* fmt, ...);
Martin Dorwig49cad542015-01-26 15:22:54 -070035void install_hdlr(int, interrupt_handler_t, void*);
wdenk27b207f2003-07-24 23:38:38 +000036void free_hdlr(int);
37void *malloc(size_t);
Hans de Goede1eb0c032015-09-13 14:45:15 +020038#if !CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE)
wdenk27b207f2003-07-24 23:38:38 +000039void free(void*);
Simon Glass90594912015-03-03 08:03:01 -070040#endif
Ingo van Lil3eb90ba2009-11-24 14:09:21 +010041void __udelay(unsigned long);
wdenk27b207f2003-07-24 23:38:38 +000042unsigned long get_timer(unsigned long);
Wolfgang Denkd9c27252010-06-20 17:14:14 +020043int vprintf(const char *, va_list);
Martin Dorwig49cad542015-01-26 15:22:54 -070044unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base);
Heiko Schochera7fd0d92011-05-02 21:33:49 +000045int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
Simon Glass00caae62017-08-03 12:22:12 -060046char *env_get(const char *name);
Simon Glass382bee52017-08-03 12:22:09 -060047int env_set(const char *varname, const char *value);
Martin Dorwig49cad542015-01-26 15:22:54 -070048long simple_strtol(const char *cp, char **endp, unsigned int base);
49int strcmp(const char *cs, const char *ct);
Lukasz Majewski3ec44112012-12-11 11:09:42 +010050unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
Piotr Wilczek7df54d32013-01-27 22:59:24 +000051unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base);
Igor Opaniuk2147a162021-02-09 13:52:45 +020052#if defined(CONFIG_CMD_I2C) && !CONFIG_IS_ENABLED(DM_I2C)
wdenk4f7cb082003-09-11 23:06:34 +000053int i2c_write (uchar, uint, int , uchar* , int);
54int i2c_read (uchar, uint, int , uchar* , int);
Jon Loeliger068b60a2007-07-10 10:27:39 -050055#endif
Prabhakar Kushwaha95279312015-06-28 11:03:59 +053056#ifdef CONFIG_PHY_AQUANTIA
57struct mii_dev *mdio_get_current_dev(void);
58struct phy_device *phy_find_by_mask(struct mii_dev *bus, unsigned phy_mask,
59 phy_interface_t interface);
60struct phy_device *mdio_phydev_for_ethname(const char *ethname);
61int miiphy_set_current_dev(const char *devname);
62#endif
wdenk27b207f2003-07-24 23:38:38 +000063
Wolfgang Denk54841ab2010-06-28 22:00:46 +020064void app_startup(char * const *);
wdenk27b207f2003-07-24 23:38:38 +000065
66#endif /* ifndef __ASSEMBLY__ */
67
Martin Dorwig49cad542015-01-26 15:22:54 -070068struct jt_funcs {
69#define EXPORT_FUNC(impl, res, func, ...) res(*func)(__VA_ARGS__);
wdenk27b207f2003-07-24 23:38:38 +000070#include <_exports.h>
71#undef EXPORT_FUNC
wdenk27b207f2003-07-24 23:38:38 +000072};
73
Martin Dorwig49cad542015-01-26 15:22:54 -070074
Shaohui Xie9578c422016-09-07 17:56:07 +080075#define XF_VERSION 9
wdenk27b207f2003-07-24 23:38:38 +000076
Graeme Russfea25722011-04-13 19:43:28 +100077#if defined(CONFIG_X86)
wdenk77846742003-07-26 08:08:08 +000078extern gd_t *global_data;
79#endif
80
wdenkc83bf6a2004-01-06 22:38:14 +000081#endif /* __EXPORTS_H__ */