board.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2009-09-22 Bernard add board.h to this bsp
  9. * 2010-02-04 Magicoe add board.h to LPC176x bsp
  10. * 2013-12-18 Bernard porting to LPC4088 bsp
  11. * 2017-08-02 XiaoYang porting to LPC54608 bsp
  12. */
  13. #ifndef __BOARD_H__
  14. #define __BOARD_H__
  15. #include <stdint.h>
  16. #include <rtthread.h>
  17. #include "clock_config.h"
  18. #include "fsl_common.h"
  19. #include "fsl_reset.h"
  20. #include "fsl_gpio.h"
  21. #include "fsl_iocon.h"
  22. #include "pin_mux.h"
  23. // <RDTConfigurator URL="http://www.rt-thread.com/eclipse">
  24. // </RDTConfigurator>
  25. #if defined(__ARMCC_VERSION)
  26. extern int Image$$ARM_LIB_HEAP$$ZI$$Base;
  27. extern int Image$$ARM_LIB_STACK$$ZI$$Base;
  28. #define HEAP_BEGIN ((void *)&Image$$ARM_LIB_HEAP$$ZI$$Base)
  29. #define HEAP_END ((void*)&Image$$ARM_LIB_STACK$$ZI$$Base)
  30. #elif defined(__ICCARM__)
  31. #pragma section="HEAP"
  32. #define HEAP_BEGIN (__segment_end("HEAP"))
  33. #elif defined(__GNUC__)
  34. extern int __HeapBase;
  35. extern int __HeapLimit;
  36. #define HEAP_BEGIN ((void *)&__HeapBase)
  37. #define HEAP_END ((void *)&__HeapLimit)
  38. #endif
  39. void rt_hw_board_init(void);
  40. #define BOARD_SDIF_BASEADDR SDIF
  41. #define BOARD_SDIF_CLKSRC kCLOCK_SDio
  42. #define BOARD_SDIF_CLK_FREQ CLOCK_GetFreq(kCLOCK_SDio)
  43. #define BOARD_SDIF_CLK_ATTACH kMAIN_CLK_to_SDIO_CLK
  44. #define BOARD_SDIF_IRQ SDIO_IRQn
  45. #define BOARD_MMC_VCC_SUPPLY kMMC_VoltageWindows270to360
  46. #define BOARD_SD_CARD_DETECT_PIN 17
  47. #define BOARD_SD_CARD_DETECT_PORT 0
  48. #define BOARD_SD_CARD_DETECT_GPIO GPIO
  49. #define BOARD_SD_DETECT_TYPE kSDMMCHOST_DetectCardByHostCD
  50. #define BOARD_SDIF_CD_GPIO_INIT() \
  51. { \
  52. CLOCK_EnableClock(kCLOCK_Gpio2); \
  53. GPIO_PinInit(BOARD_SD_CARD_DETECT_GPIO, BOARD_SD_CARD_DETECT_PORT, BOARD_SD_CARD_DETECT_PIN, \
  54. &(gpio_pin_config_t){kGPIO_DigitalInput, 0U}); \
  55. }
  56. #define BOARD_SDIF_CD_STATUS() \
  57. GPIO_PinRead(BOARD_SD_CARD_DETECT_GPIO, BOARD_SD_CARD_DETECT_PORT, BOARD_SD_CARD_DETECT_PIN)
  58. #endif