diff options
Diffstat (limited to 'drivers/staging/greybus/arche_platform.h')
-rw-r--r-- | drivers/staging/greybus/arche_platform.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/drivers/staging/greybus/arche_platform.h b/drivers/staging/greybus/arche_platform.h new file mode 100644 index 000000000000..bd12345b82a2 --- /dev/null +++ b/drivers/staging/greybus/arche_platform.h @@ -0,0 +1,39 @@ +/* + * Arche Platform driver to enable Unipro link. + * + * Copyright 2015-2016 Google Inc. + * Copyright 2015-2016 Linaro Ltd. + * + * Released under the GPLv2 only. + */ + +#ifndef __ARCHE_PLATFORM_H +#define __ARCHE_PLATFORM_H + +#include "timesync.h" + +enum arche_platform_state { + ARCHE_PLATFORM_STATE_OFF, + ARCHE_PLATFORM_STATE_ACTIVE, + ARCHE_PLATFORM_STATE_STANDBY, + ARCHE_PLATFORM_STATE_FW_FLASHING, + ARCHE_PLATFORM_STATE_TIME_SYNC, +}; + +int arche_platform_change_state(enum arche_platform_state state, + struct gb_timesync_svc *pdata); + +extern int (*arche_platform_change_state_cb)(enum arche_platform_state state, + struct gb_timesync_svc *pdata); +int __init arche_apb_init(void); +void __exit arche_apb_exit(void); + +/* Operational states for the APB device */ +int apb_ctrl_coldboot(struct device *dev); +int apb_ctrl_fw_flashing(struct device *dev); +int apb_ctrl_standby_boot(struct device *dev); +void apb_ctrl_poweroff(struct device *dev); +void apb_bootret_assert(struct device *dev); +void apb_bootret_deassert(struct device *dev); + +#endif /* __ARCHE_PLATFORM_H */ |