| /* 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_ */ |