blob: faf0f5924432adda7b3f42fd02dc537ea60ac50f [file] [log] [blame]
wdenk87249ba2004-01-06 22:38:14 +00001#ifndef __EXPORTS_H__
2#define __EXPORTS_H__
wdenk874ac262003-07-24 23:38:38 +00003
Simon Glass9b61c7c2019-11-14 12:57:41 -07004#include <irq_func.h>
Simon Glassdbd79542020-05-10 11:40:11 -06005#include <linux/delay.h>
Simon Glass9b61c7c2019-11-14 12:57:41 -07006
wdenk874ac262003-07-24 23:38:38 +00007#ifndef __ASSEMBLY__
Prabhakar Kushwaha7b3a6bc2015-06-28 11:03:59 +05308#ifdef CONFIG_PHY_AQUANTIA
Simon Glass5e6201b2019-08-01 09:46:51 -06009#include <env.h>
Joe Hershbergerf5581fb2018-07-17 15:02:30 -050010#include <phy_interface.h>
Prabhakar Kushwaha7b3a6bc2015-06-28 11:03:59 +053011#endif
wdenk874ac262003-07-24 23:38:38 +000012
Simon Glass8f3f7612019-11-14 12:57:42 -070013#include <irq_func.h>
14
Simon Glassed38aef2020-05-10 11:40:03 -060015struct cmd_tbl;
Martin Dorwigcb2c2862015-01-26 15:22:54 -070016struct spi_slave;
17
Ovidiu Panait036f0f12020-11-28 10:43:15 +020018/**
19 * jumptable_init() - Set up the jump table for use by the API
20 *
21 * It is called during the generic post-relocation init sequence.
22 *
23 * Return: 0 if OK
24 */
25int jumptable_init(void);
Simon Glass6ba03922019-12-28 10:44:46 -070026
wdenk874ac262003-07-24 23:38:38 +000027/* These are declarations of exported functions available in C code */
28unsigned long get_version(void);
29int getc(void);
30int tstc(void);
31void putc(const char);
32void puts(const char*);
Wolfgang Denk318ef5c2010-06-20 17:14:14 +020033int printf(const char* fmt, ...);
Martin Dorwigcb2c2862015-01-26 15:22:54 -070034void install_hdlr(int, interrupt_handler_t, void*);
wdenk874ac262003-07-24 23:38:38 +000035void free_hdlr(int);
36void *malloc(size_t);
Hans de Goede9f9df6f2015-09-13 14:45:15 +020037#if !CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE)
wdenk874ac262003-07-24 23:38:38 +000038void free(void*);
Simon Glassf5f2b0e2015-03-03 08:03:01 -070039#endif
Ingo van Lilf0f778a2009-11-24 14:09:21 +010040void __udelay(unsigned long);
wdenk874ac262003-07-24 23:38:38 +000041unsigned long get_timer(unsigned long);
Wolfgang Denk318ef5c2010-06-20 17:14:14 +020042int vprintf(const char *, va_list);
Martin Dorwigcb2c2862015-01-26 15:22:54 -070043unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base);
Heiko Schocher8d4f35a2011-05-02 21:33:49 +000044int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
Simon Glass64b723f2017-08-03 12:22:12 -060045char *env_get(const char *name);
Simon Glass6a38e412017-08-03 12:22:09 -060046int env_set(const char *varname, const char *value);
Martin Dorwigcb2c2862015-01-26 15:22:54 -070047long simple_strtol(const char *cp, char **endp, unsigned int base);
48int strcmp(const char *cs, const char *ct);
Lukasz Majewski99180d62012-12-11 11:09:42 +010049unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
Piotr Wilczek219ad3c2013-01-27 22:59:24 +000050unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base);
Bartosz Golaszewski1e4450c2019-07-29 08:58:00 +020051#if defined(CONFIG_CMD_I2C) && !defined(CONFIG_DM_I2C)
wdenk4cc02a82003-09-11 23:06:34 +000052int i2c_write (uchar, uint, int , uchar* , int);
53int i2c_read (uchar, uint, int , uchar* , int);
Jon Loeliger07efe2a2007-07-10 10:27:39 -050054#endif
Prabhakar Kushwaha7b3a6bc2015-06-28 11:03:59 +053055#ifdef CONFIG_PHY_AQUANTIA
56struct mii_dev *mdio_get_current_dev(void);
57struct phy_device *phy_find_by_mask(struct mii_dev *bus, unsigned phy_mask,
58 phy_interface_t interface);
59struct phy_device *mdio_phydev_for_ethname(const char *ethname);
60int miiphy_set_current_dev(const char *devname);
61#endif
wdenk874ac262003-07-24 23:38:38 +000062
Wolfgang Denk6262d0212010-06-28 22:00:46 +020063void app_startup(char * const *);
wdenk874ac262003-07-24 23:38:38 +000064
65#endif /* ifndef __ASSEMBLY__ */
66
Martin Dorwigcb2c2862015-01-26 15:22:54 -070067struct jt_funcs {
68#define EXPORT_FUNC(impl, res, func, ...) res(*func)(__VA_ARGS__);
wdenk874ac262003-07-24 23:38:38 +000069#include <_exports.h>
70#undef EXPORT_FUNC
wdenk874ac262003-07-24 23:38:38 +000071};
72
Martin Dorwigcb2c2862015-01-26 15:22:54 -070073
Shaohui Xiefd4d7bb2016-09-07 17:56:07 +080074#define XF_VERSION 9
wdenk874ac262003-07-24 23:38:38 +000075
Graeme Russcbfce1d2011-04-13 19:43:28 +100076#if defined(CONFIG_X86)
wdenkb8463562003-07-26 08:08:08 +000077extern gd_t *global_data;
78#endif
79
wdenk87249ba2004-01-06 22:38:14 +000080#endif /* __EXPORTS_H__ */