18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci// 38c2ecf20Sopenharmony_ci// Actions Semi Owl SoCs Reset Management Unit driver 48c2ecf20Sopenharmony_ci// 58c2ecf20Sopenharmony_ci// Copyright (c) 2018 Linaro Ltd. 68c2ecf20Sopenharmony_ci// Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#ifndef _OWL_RESET_H_ 98c2ecf20Sopenharmony_ci#define _OWL_RESET_H_ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include <linux/reset-controller.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cistruct owl_reset_map { 148c2ecf20Sopenharmony_ci u32 reg; 158c2ecf20Sopenharmony_ci u32 bit; 168c2ecf20Sopenharmony_ci}; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_cistruct owl_reset { 198c2ecf20Sopenharmony_ci struct reset_controller_dev rcdev; 208c2ecf20Sopenharmony_ci const struct owl_reset_map *reset_map; 218c2ecf20Sopenharmony_ci struct regmap *regmap; 228c2ecf20Sopenharmony_ci}; 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_cistatic inline struct owl_reset *to_owl_reset(struct reset_controller_dev *rcdev) 258c2ecf20Sopenharmony_ci{ 268c2ecf20Sopenharmony_ci return container_of(rcdev, struct owl_reset, rcdev); 278c2ecf20Sopenharmony_ci} 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciextern const struct reset_control_ops owl_reset_ops; 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci#endif /* _OWL_RESET_H_ */ 32