/* SPDX-License-Identifier: GPL-2.0-only */ /* * SpacemiT reset controller driver - common definitions */ #ifndef _RESET_SPACEMIT_COMMON_H_ #define _RESET_SPACEMIT_COMMON_H_ #include #include #include #include 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_ */