43 lines
973 B
C
43 lines
973 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* SpacemiT reset controller driver - common definitions
|
|
*/
|
|
|
|
#ifndef _RESET_SPACEMIT_COMMON_H_
|
|
#define _RESET_SPACEMIT_COMMON_H_
|
|
|
|
#include <linux/auxiliary_bus.h>
|
|
#include <linux/regmap.h>
|
|
#include <linux/reset-controller.h>
|
|
#include <linux/types.h>
|
|
|
|
struct ccu_reset_data {
|
|
u32 offset;
|
|
u32 assert_mask;
|
|
u32 deassert_mask;
|
|
};
|
|
|
|
struct ccu_reset_controller_data {
|
|
const struct ccu_reset_data *reset_data; /* array */
|
|
size_t count;
|
|
};
|
|
|
|
struct ccu_reset_controller {
|
|
struct reset_controller_dev rcdev;
|
|
const struct ccu_reset_controller_data *data;
|
|
struct regmap *regmap;
|
|
};
|
|
|
|
#define RESET_DATA(_offset, _assert_mask, _deassert_mask) \
|
|
{ \
|
|
.offset = (_offset), \
|
|
.assert_mask = (_assert_mask), \
|
|
.deassert_mask = (_deassert_mask), \
|
|
}
|
|
|
|
/* Common probe function */
|
|
int spacemit_reset_probe(struct auxiliary_device *adev,
|
|
const struct auxiliary_device_id *id);
|
|
|
|
#endif /* _RESET_SPACEMIT_COMMON_H_ */
|