Greg Kroah-Hartman | 1e5dd1f | 2015-12-30 13:38:33 -0800 | [diff] [blame] | 1 | /* |
| 2 | * Arche Platform driver to enable Unipro link. |
| 3 | * |
| 4 | * Copyright 2015-2016 Google Inc. |
| 5 | * Copyright 2015-2016 Linaro Ltd. |
| 6 | * |
| 7 | * Released under the GPLv2 only. |
| 8 | */ |
| 9 | |
| 10 | #ifndef __ARCHE_PLATFORM_H |
| 11 | #define __ARCHE_PLATFORM_H |
| 12 | |
Bryan O'Donoghue | 970dc85 | 2016-06-05 14:03:26 +0100 | [diff] [blame] | 13 | #include "timesync.h" |
| 14 | |
Vaibhav Hiremath | a821adb | 2016-02-13 02:04:02 +0530 | [diff] [blame] | 15 | enum arche_platform_state { |
| 16 | ARCHE_PLATFORM_STATE_OFF, |
| 17 | ARCHE_PLATFORM_STATE_ACTIVE, |
| 18 | ARCHE_PLATFORM_STATE_STANDBY, |
Vaibhav Hiremath | 7691fed | 2016-02-13 02:04:08 +0530 | [diff] [blame] | 19 | ARCHE_PLATFORM_STATE_FW_FLASHING, |
Vaibhav Hiremath | 886aba5 | 2016-05-05 15:34:58 +0100 | [diff] [blame] | 20 | ARCHE_PLATFORM_STATE_TIME_SYNC, |
Vaibhav Hiremath | a821adb | 2016-02-13 02:04:02 +0530 | [diff] [blame] | 21 | }; |
| 22 | |
Bryan O'Donoghue | 970dc85 | 2016-06-05 14:03:26 +0100 | [diff] [blame] | 23 | int arche_platform_change_state(enum arche_platform_state state, |
| 24 | struct gb_timesync_svc *pdata); |
Vaibhav Hiremath | 65fd5a5 | 2016-02-13 02:04:16 +0530 | [diff] [blame] | 25 | |
Bryan O'Donoghue | 970dc85 | 2016-06-05 14:03:26 +0100 | [diff] [blame] | 26 | extern int (*arche_platform_change_state_cb)(enum arche_platform_state state, |
| 27 | struct gb_timesync_svc *pdata); |
Viresh Kumar | 7b62b61 | 2016-04-20 11:48:37 +0530 | [diff] [blame] | 28 | int __init arche_apb_init(void); |
| 29 | void __exit arche_apb_exit(void); |
Vaibhav Hiremath | 65fd5a5 | 2016-02-13 02:04:16 +0530 | [diff] [blame] | 30 | |
| 31 | /* Operational states for the APB device */ |
| 32 | int apb_ctrl_coldboot(struct device *dev); |
| 33 | int apb_ctrl_fw_flashing(struct device *dev); |
| 34 | int apb_ctrl_standby_boot(struct device *dev); |
| 35 | void apb_ctrl_poweroff(struct device *dev); |
Bryan O'Donoghue | 970dc85 | 2016-06-05 14:03:26 +0100 | [diff] [blame] | 36 | void apb_bootret_assert(struct device *dev); |
| 37 | void apb_bootret_deassert(struct device *dev); |
Vaibhav Hiremath | 65fd5a5 | 2016-02-13 02:04:16 +0530 | [diff] [blame] | 38 | |
Greg Kroah-Hartman | 1e5dd1f | 2015-12-30 13:38:33 -0800 | [diff] [blame] | 39 | #endif /* __ARCHE_PLATFORM_H */ |