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