rt-thread-official/bsp/lpc55sxx/lpc55s69_nxp_evk/board/board.h

74 lines
2.3 KiB
C
Raw Normal View History

2019-10-24 17:56:09 +08:00
/*
2021-03-17 02:26:35 +08:00
* Copyright (c) 2006-2021, RT-Thread Development Team
2019-10-24 17:56:09 +08:00
*
* 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 <stdint.h>
#include <rtthread.h>
#include "clock_config.h"
#include "fsl_common.h"
#include "fsl_reset.h"
#include "fsl_gpio.h"
#include "fsl_iocon.h"
#include "pin_mux.h"
// <RDTConfigurator URL="http://www.rt-thread.com/eclipse">
// </RDTConfigurator>
#if defined(__ARMCC_VERSION)
2019-10-24 17:56:09 +08:00
extern int Image$$ARM_LIB_HEAP$$ZI$$Base;
2021-09-21 18:24:52 +08:00
extern int Image$$ARM_LIB_STACK$$ZI$$Base;
2019-10-24 17:56:09 +08:00
#define HEAP_BEGIN ((void *)&Image$$ARM_LIB_HEAP$$ZI$$Base)
2021-10-23 22:37:45 +08:00
#define HEAP_END ((void*)&Image$$ARM_LIB_STACK$$ZI$$Base)
2019-10-24 17:56:09 +08:00
#elif defined(__ICCARM__)
#pragma section="HEAP"
#define HEAP_BEGIN (__segment_end("HEAP"))
extern void __RTT_HEAP_END;
#define HEAP_END (&__RTT_HEAP_END)
2019-10-24 17:56:09 +08:00
#elif defined(__GNUC__)
extern int __HeapBase;
extern int __HeapLimit;
#define HEAP_BEGIN ((void *)&__HeapBase)
2021-10-23 22:37:45 +08:00
#define HEAP_END ((void *)&__HeapLimit)
2019-10-24 17:56:09 +08:00
#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