1 /*
2  * Copyright (c) 2021 hpmicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef _RTT_BOARD_H
9 #define _RTT_BOARD_H
10 #include "hpm_common.h"
11 #include "hpm_soc.h"
12 
13 /* gpio section */
14 #define APP_LED0_GPIO_CTRL HPM_GPIO0
15 #define APP_LED0_GPIO_INDEX GPIO_DI_GPIOE
16 #define APP_LED0_GPIO_PIN 14
17 #define APP_LED1_GPIO_CTRL HPM_GPIO0
18 #define APP_LED1_GPIO_INDEX GPIO_DI_GPIOE
19 #define APP_LED1_GPIO_PIN 15
20 #define APP_LED2_GPIO_CTRL HPM_GPIO0
21 #define APP_LED2_GPIO_INDEX GPIO_DI_GPIOE
22 #define APP_LED2_GPIO_PIN 4
23 #define APP_LED_ON (0)
24 #define APP_LED_OFF (1)
25 
26 
27 
28 /* mchtimer section */
29 #define BOARD_MCHTMR_FREQ_IN_HZ (24000000UL)
30 
31 /* CAN section */
32 #define BOARD_CAN_NAME                        "can4"
33 #define BOARD_CAN_HWFILTER_INDEX               (4U)
34 
35 /* UART section */
36 #define BOARD_UART_NAME                        "uart1"
37 #define BOARD_UART_RX_BUFFER_SIZE              BSP_UART1_RX_BUFSIZE
38 
39 
40 /* audio section */
41 #define BOARD_AUDIO_CODEC_I2C_NAME             "i2c0"
42 #define BOARD_AUDIO_CODEC_I2S_NAME             "i2s0"
43 
44 /* PWM section */
45 #define BOARD_PWM_NAME                        "pwm1"
46 #define BOARD_PWM_CHANNEL                     (0U)
47 
48 #define IRQn_PendSV IRQn_DEBUG0
49 
50 /***************************************************************
51  *
52  * RT-Thread related definitions
53  *
54  **************************************************************/
55 extern unsigned int __heap_start__;
56 extern unsigned int __heap_end__;
57 
58 #define RT_HW_HEAP_BEGIN ((void*)&__heap_start__)
59 #define RT_HW_HEAP_END ((void*)&__heap_end__)
60 
61 
62 typedef struct {
63     uint16_t vdd;
64     uint8_t bus_width;
65     uint8_t drive_strength;
66 }sdxc_io_cfg_t;
67 
68 
69 #if defined(__cplusplus)
70 extern "C" {
71 #endif /* __cplusplus */
72 
73 
74 void app_init_led_pins(void);
75 void app_led_write(uint32_t index, bool state);
76 void app_init_usb_pins(void);
77 
78 #if defined(__cplusplus)
79 }
80 #endif /* __cplusplus */
81 #endif /* _RTT_BOARD_H */
82