19c92ab61SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2b36ba30cSStephen Boyd /* 3b36ba30cSStephen Boyd * Copyright (c) 2013, The Linux Foundation. All rights reserved. 4b36ba30cSStephen Boyd */ 5b36ba30cSStephen Boyd 6b36ba30cSStephen Boyd #ifndef __QCOM_CLK_RESET_H__ 7b36ba30cSStephen Boyd #define __QCOM_CLK_RESET_H__ 8b36ba30cSStephen Boyd 9b36ba30cSStephen Boyd #include <linux/reset-controller.h> 10b36ba30cSStephen Boyd 11b36ba30cSStephen Boyd struct qcom_reset_map { 12b36ba30cSStephen Boyd unsigned int reg; 13b36ba30cSStephen Boyd u8 bit; 142cb8a39bSStephan Gerhold u8 udelay; 15*4a521089SRobert Marko u32 bitmask; 16b36ba30cSStephen Boyd }; 17b36ba30cSStephen Boyd 18b36ba30cSStephen Boyd struct regmap; 19b36ba30cSStephen Boyd 20b36ba30cSStephen Boyd struct qcom_reset_controller { 21b36ba30cSStephen Boyd const struct qcom_reset_map *reset_map; 22b36ba30cSStephen Boyd struct regmap *regmap; 23b36ba30cSStephen Boyd struct reset_controller_dev rcdev; 24b36ba30cSStephen Boyd }; 25b36ba30cSStephen Boyd 26b36ba30cSStephen Boyd #define to_qcom_reset_controller(r) \ 27b36ba30cSStephen Boyd container_of(r, struct qcom_reset_controller, rcdev); 28b36ba30cSStephen Boyd 29add479eeSPhilipp Zabel extern const struct reset_control_ops qcom_reset_ops; 30b36ba30cSStephen Boyd 31b36ba30cSStephen Boyd #endif 32