board.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. #define HEAP_BEGIN ((void *)&Image$$ARM_LIB_HEAP$$ZI$$Base)
  28. #elif defined(__ICCARM__)
  29. #pragma section="HEAP"
  30. #define HEAP_BEGIN (__segment_end("HEAP"))
  31. #elif defined(__GNUC__)
  32. extern int __bss_end;
  33. #define HEAP_BEGIN ((void *)&__bss_end)
  34. #endif
  35. #define HEAP_END (void*)(0x20000000 + 0x40000)
  36. void rt_hw_board_init(void);
  37. #define BOARD_SDIF_BASEADDR SDIF
  38. #define BOARD_SDIF_CLKSRC kCLOCK_SDio
  39. #define BOARD_SDIF_CLK_FREQ CLOCK_GetFreq(kCLOCK_SDio)
  40. #define BOARD_SDIF_CLK_ATTACH kMAIN_CLK_to_SDIO_CLK
  41. #define BOARD_SDIF_IRQ SDIO_IRQn
  42. #define BOARD_MMC_VCC_SUPPLY kMMC_VoltageWindows270to360
  43. #define BOARD_SD_CARD_DETECT_PIN 17
  44. #define BOARD_SD_CARD_DETECT_PORT 0
  45. #define BOARD_SD_CARD_DETECT_GPIO GPIO
  46. #define BOARD_SD_DETECT_TYPE kSDMMCHOST_DetectCardByHostCD
  47. #define BOARD_SDIF_CD_GPIO_INIT() \
  48. { \
  49. CLOCK_EnableClock(kCLOCK_Gpio2); \
  50. GPIO_PinInit(BOARD_SD_CARD_DETECT_GPIO, BOARD_SD_CARD_DETECT_PORT, BOARD_SD_CARD_DETECT_PIN, \
  51. &(gpio_pin_config_t){kGPIO_DigitalInput, 0U}); \
  52. }
  53. #define BOARD_SDIF_CD_STATUS() \
  54. GPIO_PinRead(BOARD_SD_CARD_DETECT_GPIO, BOARD_SD_CARD_DETECT_PORT, BOARD_SD_CARD_DETECT_PIN)
  55. #endif