pwm.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * This file is part of FH8620 BSP for RT-Thread distribution.
  3. *
  4. * Copyright (c) 2016 Shanghai Fullhan Microelectronics Co., Ltd.
  5. * All rights reserved
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License along
  18. * with this program; if not, write to the Free Software Foundation, Inc.,
  19. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  20. *
  21. * Visit http://www.fullhan.com to get contact with Fullhan.
  22. *
  23. * Change Logs:
  24. * Date Author Notes
  25. */
  26. #ifndef PWM_H_
  27. #define PWM_H_
  28. #include <rtthread.h>
  29. #define ENABLE_PWM (0x10)
  30. #define DISABLE_PWM (0x11)
  31. #define SET_PWM_DUTY_CYCLE (0x12)
  32. #define GET_PWM_DUTY_CYCLE (0x13)
  33. struct pwm_device
  34. {
  35. int id;
  36. int working;
  37. rt_uint32_t period_ns;
  38. rt_uint32_t counter_ns;
  39. };
  40. struct pwm_driver
  41. {
  42. //struct clk *clk;
  43. struct pwm_device pwm[3];
  44. struct pwm_device *cur;
  45. void* priv;
  46. };
  47. #endif /* PWM_H_ */