dev_config.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /**
  2. * @file
  3. *
  4. * @brief Public devices config for drivers.
  5. */
  6. #ifndef ZEPHYR_INCLUDE_DEV_CONFIG_H_
  7. #define ZEPHYR_INCLUDE_DEV_CONFIG_H_
  8. #include <board_cfg.h>
  9. #if defined(CONFIG_SOC_SERIES_LARK)
  10. #include <drivers/cfg_drv/pinctrl_lark.h>
  11. #include <drivers/cfg_drv/dev_lark.h>
  12. #elif defined(CONFIG_SOC_SERIES_LEOPARD)
  13. #include <drivers/cfg_drv/pinctrl_leopard.h>
  14. #include <drivers/cfg_drv/dev_leopard.h>
  15. #else
  16. #errro "not soc series"
  17. #endif
  18. struct dma_cfg {
  19. const char *dma_dev_name;
  20. uint8_t dma_id;
  21. uint8_t dma_chan; // 0xff vchan, 0-3 pchan
  22. uint8_t use_dma; // 0 not use
  23. };
  24. struct gpio_cfg {
  25. const char *gpio_dev_name;
  26. uint8_t gpion; // 0-31
  27. uint8_t flag; //GPIO_ACTIVE_HIGH or GPIO_ACTIVE_LOW
  28. uint8_t use_gpio; // 0 not use
  29. };
  30. #define DMA_CFG_MAKE(dev_name, id, chan, use) {\
  31. .dma_dev_name = dev_name, \
  32. .dma_id = id,\
  33. .dma_chan = chan,\
  34. .use_dma = use, \
  35. }
  36. #define DMA_CFG_SET(dev_name, id, chan, use) (\
  37. .dma_dev_name = dev_name, \
  38. .dma_id = id,\
  39. .dma_chan = chan,\
  40. .use_dma = use, \
  41. )
  42. #define COND_DMA_CODE(_flag, id, chan) COND_CODE_1(_flag,DMA_CFG_SET(CONFIG_DMA_0_NAME, id, chan, 1), DMA_CFG_SET(NULL, 0, 0, 0))
  43. #define GPIO_CFG_MAKE(dev_name, gpio, gflag, use) {\
  44. .gpio_dev_name = dev_name, \
  45. .gpion = gpio,\
  46. .flag = gflag,\
  47. .use_gpio = use,\
  48. }
  49. #define GPIO_CFG_SET(dev_name, gpio, gflag, use) (\
  50. .gpio_dev_name = dev_name, \
  51. .gpion = gpio,\
  52. .flag = gflag,\
  53. .use_gpio = use,\
  54. )
  55. #define COND_GPIO_CODE(_flag, gpio_dev, gpio, gflag) COND_CODE_1(_flag,GPIO_CFG_SET(gpio_dev, gpio, gflag, 1), GPIO_CFG_SET(NULL, 0, 0, 0))
  56. #endif //ZEPHYR_INCLUDE_DEV_CONFIG_H_