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 11
17 #define APP_LED1_GPIO_CTRL HPM_GPIO0
18 #define APP_LED1_GPIO_INDEX GPIO_DI_GPIOB
19 #define APP_LED1_GPIO_PIN 12
20 #define APP_LED2_GPIO_CTRL HPM_GPIO0
21 #define APP_LED2_GPIO_INDEX GPIO_DI_GPIOB
22 #define APP_LED2_GPIO_PIN 13
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                        "can0"
41 #define BOARD_CAN_HWFILTER_INDEX               (0U)
42 
43 /* UART section */
44 #define BOARD_UART_NAME                        "uart13"
45 #define BOARD_UART_RX_BUFFER_SIZE              BSP_UART13_RX_BUFSIZE
46 
47 /* eeprom section */
48 #define BOARD_EEPROM_I2C_NAME                  "i2c0"
49 
50 #define BOARD_SD_NAME                          "sd1"
51 /* audio section */
52 #define BOARD_AUDIO_CODEC_I2C_NAME             "i2c0"
53 #define BOARD_AUDIO_CODEC_I2S_NAME             "i2s0"
54 
55 #define IRQn_PendSV IRQn_DEBUG_0
56 
57 /***************************************************************
58  *
59  * RT-Thread related definitions
60  *
61  **************************************************************/
62 extern unsigned int __heap_start__;
63 extern unsigned int __heap_end__;
64 
65 #define RT_HW_HEAP_BEGIN ((void*)&__heap_start__)
66 #define RT_HW_HEAP_END ((void*)&__heap_end__)
67 
68 
69 typedef struct {
70     uint16_t vdd;
71     uint8_t bus_width;
72     uint8_t drive_strength;
73 }sdxc_io_cfg_t;
74 
75 
76 #if defined(__cplusplus)
77 extern "C" {
78 #endif /* __cplusplus */
79 
80 
81 void app_init_led_pins(void);
82 void app_led_write(uint32_t index, bool state);
83 void app_init_usb_pins(void);
84 
85 
86 #if defined(__cplusplus)
87 }
88 #endif /* __cplusplus */
89 #endif /* _RTT_BOARD_H */
90