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_GPIOB
16 #define APP_LED0_GPIO_PIN 19
17 #define APP_LED1_GPIO_CTRL HPM_GPIO0
18 #define APP_LED1_GPIO_INDEX GPIO_DI_GPIOB
19 #define APP_LED1_GPIO_PIN 18
20 #define APP_LED2_GPIO_CTRL HPM_GPIO0
21 #define APP_LED2_GPIO_INDEX GPIO_DI_GPIOB
22 #define APP_LED2_GPIO_PIN 20
23 #define APP_LED_ON (1)
24 #define APP_LED_OFF (0)
25 
26 
27 
28 /* mchtimer section */
29 #define BOARD_MCHTMR_FREQ_IN_HZ (24000000UL)
30 
31 /* SPI WIFI section */
32 #define RW007_RST_PIN                         (IOC_PAD_PE02)
33 #define RW007_INT_BUSY_PIN                    (IOC_PAD_PE01)
34 #define RW007_CS_PIN                          (IOC_PAD_PE03)
35 #define RW007_CS_GPIO                         (HPM_GPIO0)
36 #define RW007_SPI_BUS_NAME                    "spi1"
37 
38 
39 /* CAN section */
40 #define BOARD_CAN_NAME                        "can1"
41 #define BOARD_CAN_HWFILTER_INDEX               (1U)
42 
43 /* PWM section */
44 #define BOARD_PWM_NAME                        "pwm1"
45 #define BOARD_PWM_CHANNEL                     (2)
46 
47 /* UART section */
48 #define BOARD_UART_NAME                        "uart13"
49 #define BOARD_UART_RX_BUFFER_SIZE              BSP_UART13_RX_BUFSIZE
50 
51 #define BOARD_SD_NAME                          "sd1"
52 
53 #define IRQn_PendSV IRQn_DEBUG_0
54 
55 /***************************************************************
56  *
57  * RT-Thread related definitions
58  *
59  **************************************************************/
60 extern unsigned int __heap_start__;
61 extern unsigned int __heap_end__;
62 
63 #define RT_HW_HEAP_BEGIN ((void*)&__heap_start__)
64 #define RT_HW_HEAP_END ((void*)&__heap_end__)
65 
66 
67 typedef struct {
68     uint16_t vdd;
69     uint8_t bus_width;
70     uint8_t drive_strength;
71 }sdxc_io_cfg_t;
72 
73 
74 #if defined(__cplusplus)
75 extern "C" {
76 #endif /* __cplusplus */
77 
78 
79 void app_init_led_pins(void);
80 void app_led_write(uint32_t index, bool state);
81 void app_init_usb_pins(void);
82 
83 
84 #if defined(__cplusplus)
85 }
86 #endif /* __cplusplus */
87 #endif /* _RTT_BOARD_H */
88