1*ddd3e8b9SNishad Kamdar /* SPDX-License-Identifier: GPL-2.0-or-later */ 209dbde01SManivannan Sadhasivam // 309dbde01SManivannan Sadhasivam // Actions Semi Owl SoCs Reset Management Unit driver 409dbde01SManivannan Sadhasivam // 509dbde01SManivannan Sadhasivam // Copyright (c) 2018 Linaro Ltd. 609dbde01SManivannan Sadhasivam // Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 709dbde01SManivannan Sadhasivam 809dbde01SManivannan Sadhasivam #ifndef _OWL_RESET_H_ 909dbde01SManivannan Sadhasivam #define _OWL_RESET_H_ 1009dbde01SManivannan Sadhasivam 1109dbde01SManivannan Sadhasivam #include <linux/reset-controller.h> 1209dbde01SManivannan Sadhasivam 1309dbde01SManivannan Sadhasivam struct owl_reset_map { 1409dbde01SManivannan Sadhasivam u32 reg; 1509dbde01SManivannan Sadhasivam u32 bit; 1609dbde01SManivannan Sadhasivam }; 1709dbde01SManivannan Sadhasivam 1809dbde01SManivannan Sadhasivam struct owl_reset { 1909dbde01SManivannan Sadhasivam struct reset_controller_dev rcdev; 2009dbde01SManivannan Sadhasivam const struct owl_reset_map *reset_map; 2109dbde01SManivannan Sadhasivam struct regmap *regmap; 2209dbde01SManivannan Sadhasivam }; 2309dbde01SManivannan Sadhasivam to_owl_reset(struct reset_controller_dev * rcdev)2409dbde01SManivannan Sadhasivamstatic inline struct owl_reset *to_owl_reset(struct reset_controller_dev *rcdev) 2509dbde01SManivannan Sadhasivam { 2609dbde01SManivannan Sadhasivam return container_of(rcdev, struct owl_reset, rcdev); 2709dbde01SManivannan Sadhasivam } 2809dbde01SManivannan Sadhasivam 2909dbde01SManivannan Sadhasivam extern const struct reset_control_ops owl_reset_ops; 3009dbde01SManivannan Sadhasivam 3109dbde01SManivannan Sadhasivam #endif /* _OWL_RESET_H_ */ 32