2014-06-06 10:44:43 +00:00
|
|
|
#ifndef __BOARD_H__
|
|
|
|
#define __BOARD_H__
|
2015-06-17 08:38:52 +00:00
|
|
|
|
2014-06-06 10:44:43 +00:00
|
|
|
#include <linux/init.h>
|
|
|
|
#include <linux/of.h>
|
|
|
|
|
2015-06-17 08:38:54 +00:00
|
|
|
struct board_staging_clk {
|
|
|
|
const char *clk;
|
|
|
|
const char *con_id;
|
|
|
|
const char *dev_id;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct board_staging_dev {
|
|
|
|
/* Platform Device */
|
|
|
|
struct platform_device *pdev;
|
|
|
|
/* Clocks (optional) */
|
|
|
|
const struct board_staging_clk *clocks;
|
|
|
|
unsigned int nclocks;
|
|
|
|
/* Generic PM Domain (optional) */
|
|
|
|
const char *domain;
|
|
|
|
};
|
|
|
|
|
2015-06-17 08:38:52 +00:00
|
|
|
struct resource;
|
|
|
|
|
2014-06-06 10:44:43 +00:00
|
|
|
bool board_staging_dt_node_available(const struct resource *resource,
|
|
|
|
unsigned int num_resources);
|
2015-06-17 08:38:52 +00:00
|
|
|
int board_staging_gic_setup_xlate(const char *gic_match, unsigned int base);
|
|
|
|
void board_staging_gic_fixup_resources(struct resource *res, unsigned int nres);
|
2015-06-17 08:38:54 +00:00
|
|
|
int board_staging_register_clock(const struct board_staging_clk *bsc);
|
|
|
|
int board_staging_register_device(const struct board_staging_dev *dev);
|
|
|
|
void board_staging_register_devices(const struct board_staging_dev *devs,
|
|
|
|
unsigned int ndevs);
|
2014-06-06 10:44:43 +00:00
|
|
|
|
|
|
|
#define board_staging(str, fn) \
|
|
|
|
static int __init runtime_board_check(void) \
|
|
|
|
{ \
|
|
|
|
if (of_machine_is_compatible(str)) \
|
|
|
|
fn(); \
|
|
|
|
\
|
|
|
|
return 0; \
|
|
|
|
} \
|
|
|
|
\
|
2015-06-17 08:38:51 +00:00
|
|
|
device_initcall(runtime_board_check)
|
2014-06-06 10:44:43 +00:00
|
|
|
|
|
|
|
#endif /* __BOARD_H__ */
|