#include <linux/spinlock.h>
#include "arche_platform.h"
-enum apb_state {
- APB_STATE_OFF,
- APB_STATE_ACTIVE,
- APB_STATE_STANDBY,
-};
struct arche_apb_ctrl_drvdata {
/* Control GPIO signals to and from AP <=> AP Bridges */
int wake_out_gpio;
int pwrdn_gpio;
- enum apb_state state;
+ enum arche_platform_state state;
struct regulator *vcore;
struct regulator *vio;
/* As part of exit, put APB back in reset state */
assert_reset(apb->resetn_gpio);
- apb->state = APB_STATE_OFF;
+ apb->state = ARCHE_PLATFORM_STATE_OFF;
/* TODO: May have to send an event to SVC about this exit */
}
/* deassert reset to APB : Active-low signal */
deassert_reset(apb->resetn_gpio);
- apb->state = APB_STATE_ACTIVE;
+ apb->state = ARCHE_PLATFORM_STATE_ACTIVE;
platform_set_drvdata(pdev, apb);
#ifndef __ARCHE_PLATFORM_H
#define __ARCHE_PLATFORM_H
+enum arche_platform_state {
+ ARCHE_PLATFORM_STATE_OFF,
+ ARCHE_PLATFORM_STATE_ACTIVE,
+ ARCHE_PLATFORM_STATE_STANDBY,
+};
+
int arche_apb_ctrl_probe(struct platform_device *pdev);
int arche_apb_ctrl_remove(struct platform_device *pdev);
extern const struct dev_pm_ops arche_apb_ctrl_pm_ops;