/* * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2009-09-22 Bernard add board.h to this bsp * 2010-02-04 Magicoe add board.h to LPC176x bsp * 2013-12-18 Bernard porting to LPC4088 bsp * 2017-08-02 XiaoYang porting to LPC54608 bsp */ #ifndef __BOARD_H__ #define __BOARD_H__ #include #include #include "clock_config.h" #include "fsl_common.h" #include "fsl_reset.h" #include "fsl_gpio.h" #include "fsl_iocon.h" #include "pin_mux.h" // // #if defined(__ARMCC_VERSION) extern int Image$$ARM_LIB_HEAP$$ZI$$Base; extern int Image$$ARM_LIB_STACK$$ZI$$Base; #define HEAP_BEGIN ((void *)&Image$$ARM_LIB_HEAP$$ZI$$Base) #define HEAP_END ((void*)&Image$$ARM_LIB_STACK$$ZI$$Base) #elif defined(__ICCARM__) #pragma section="HEAP" #define HEAP_BEGIN (__segment_end("HEAP")) extern void __RTT_HEAP_END; #define HEAP_END (&__RTT_HEAP_END) #elif defined(__GNUC__) extern int __HeapBase; extern int __HeapLimit; #define HEAP_BEGIN ((void *)&__HeapBase) #define HEAP_END ((void *)&__HeapLimit) #endif void rt_hw_board_init(void); #define BOARD_SDIF_BASEADDR SDIF #define BOARD_SDIF_CLKSRC kCLOCK_SDio #define BOARD_SDIF_CLK_FREQ CLOCK_GetFreq(kCLOCK_SDio) #define BOARD_SDIF_CLK_ATTACH kMAIN_CLK_to_SDIO_CLK #define BOARD_SDIF_IRQ SDIO_IRQn #define BOARD_MMC_VCC_SUPPLY kMMC_VoltageWindows270to360 #define BOARD_SD_CARD_DETECT_PIN 17 #define BOARD_SD_CARD_DETECT_PORT 0 #define BOARD_SD_CARD_DETECT_GPIO GPIO #define BOARD_SD_DETECT_TYPE kSDMMCHOST_DetectCardByHostCD #define BOARD_SDIF_CD_GPIO_INIT() \ { \ CLOCK_EnableClock(kCLOCK_Gpio2); \ GPIO_PinInit(BOARD_SD_CARD_DETECT_GPIO, BOARD_SD_CARD_DETECT_PORT, BOARD_SD_CARD_DETECT_PIN, \ &(gpio_pin_config_t){kGPIO_DigitalInput, 0U}); \ } #define BOARD_SDIF_CD_STATUS() \ GPIO_PinRead(BOARD_SD_CARD_DETECT_GPIO, BOARD_SD_CARD_DETECT_PORT, BOARD_SD_CARD_DETECT_PIN) #endif