1 /* 2 * Copyright (c) 2006-2022, 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 14 #ifndef __BOARD_H__ 15 #define __BOARD_H__ 16 17 18 #include <stdint.h> 19 20 #include <rtthread.h> 21 22 #include "clock_config.h" 23 #include "fsl_common.h" 24 #include "fsl_reset.h" 25 #include "fsl_gpio.h" 26 #include "fsl_iocon.h" 27 #include "pin_mux.h" 28 29 // <RDTConfigurator URL="http://www.rt-thread.com/eclipse"> 30 31 // </RDTConfigurator> 32 #if defined(__ARMCC_VERSION) 33 extern int Image$$ARM_LIB_HEAP$$ZI$$Base; 34 extern int Image$$ARM_LIB_STACK$$ZI$$Base; 35 #define HEAP_BEGIN ((void *)&Image$$ARM_LIB_HEAP$$ZI$$Base) 36 #define HEAP_END ((void*)&Image$$ARM_LIB_STACK$$ZI$$Base) 37 #elif defined(__ICCARM__) 38 #pragma section="HEAP" 39 #define HEAP_BEGIN (__segment_end("HEAP")) 40 #elif defined(__GNUC__) 41 extern int __HeapBase; 42 extern int __HeapLimit; 43 #define HEAP_BEGIN ((void *)&__HeapBase) 44 #define HEAP_END ((void *)&__HeapLimit) 45 #endif 46 47 void rt_hw_board_init(void); 48 49 #define BOARD_SDIF_BASEADDR SDIF 50 #define BOARD_SDIF_CLKSRC kCLOCK_SDio 51 #define BOARD_SDIF_CLK_FREQ CLOCK_GetFreq(kCLOCK_SDio) 52 #define BOARD_SDIF_CLK_ATTACH kMAIN_CLK_to_SDIO_CLK 53 #define BOARD_SDIF_IRQ SDIO_IRQn 54 #define BOARD_MMC_VCC_SUPPLY kMMC_VoltageWindows270to360 55 #define BOARD_SD_CARD_DETECT_PIN 17 56 #define BOARD_SD_CARD_DETECT_PORT 0 57 #define BOARD_SD_CARD_DETECT_GPIO GPIO 58 #define BOARD_SD_DETECT_TYPE kSDMMCHOST_DetectCardByHostCD 59 60 #define BOARD_SDIF_CD_GPIO_INIT() \ 61 { \ 62 CLOCK_EnableClock(kCLOCK_Gpio2); \ 63 GPIO_PinInit(BOARD_SD_CARD_DETECT_GPIO, BOARD_SD_CARD_DETECT_PORT, BOARD_SD_CARD_DETECT_PIN, \ 64 &(gpio_pin_config_t){kGPIO_DigitalInput, 0U}); \ 65 } 66 #define BOARD_SDIF_CD_STATUS() \ 67 GPIO_PinRead(BOARD_SD_CARD_DETECT_GPIO, BOARD_SD_CARD_DETECT_PORT, BOARD_SD_CARD_DETECT_PIN) 68 69 #endif 70 71 72