hi6421-pmic.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Header file for device driver Hi6421 PMIC
  4. *
  5. * Copyright (c) <2011-2014> HiSilicon Technologies Co., Ltd.
  6. * http://www.hisilicon.com
  7. * Copyright (c) <2013-2014> Linaro Ltd.
  8. * https://www.linaro.org
  9. *
  10. * Author: Guodong Xu <[email protected]>
  11. */
  12. #ifndef __HI6421_PMIC_H
  13. #define __HI6421_PMIC_H
  14. /* Hi6421 registers are mapped to memory bus in 4 bytes stride */
  15. #define HI6421_REG_TO_BUS_ADDR(x) (x << 2)
  16. /* Hi6421 maximum register number */
  17. #define HI6421_REG_MAX 0xFF
  18. /* Hi6421 OCP (over current protection) and DEB (debounce) control register */
  19. #define HI6421_OCP_DEB_CTRL_REG HI6421_REG_TO_BUS_ADDR(0x51)
  20. #define HI6421_OCP_DEB_SEL_MASK 0x0C
  21. #define HI6421_OCP_DEB_SEL_8MS 0x00
  22. #define HI6421_OCP_DEB_SEL_16MS 0x04
  23. #define HI6421_OCP_DEB_SEL_32MS 0x08
  24. #define HI6421_OCP_DEB_SEL_64MS 0x0C
  25. #define HI6421_OCP_EN_DEBOUNCE_MASK 0x02
  26. #define HI6421_OCP_EN_DEBOUNCE_ENABLE 0x02
  27. #define HI6421_OCP_AUTO_STOP_MASK 0x01
  28. #define HI6421_OCP_AUTO_STOP_ENABLE 0x01
  29. struct hi6421_pmic {
  30. struct regmap *regmap;
  31. };
  32. enum hi6421_type {
  33. HI6421 = 0,
  34. HI6421_V530,
  35. };
  36. #endif /* __HI6421_PMIC_H */