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 (0)
24 #define APP_LED_OFF (1)
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 /* PWM section */
56 #define BOARD_PWM_NAME                        "pwm2"
57 #define BOARD_PWM_CHANNEL                     (0)
58 
59 #define IRQn_PendSV IRQn_DEBUG_0
60 
61 /***************************************************************
62  *
63  * RT-Thread related definitions
64  *
65  **************************************************************/
66 extern unsigned int __heap_start__;
67 extern unsigned int __heap_end__;
68 
69 #define RT_HW_HEAP_BEGIN ((void*)&__heap_start__)
70 #define RT_HW_HEAP_END ((void*)&__heap_end__)
71 
72 
73 typedef struct {
74     uint16_t vdd;
75     uint8_t bus_width;
76     uint8_t drive_strength;
77 }sdxc_io_cfg_t;
78 
79 
80 #if defined(__cplusplus)
81 extern "C" {
82 #endif /* __cplusplus */
83 
84 
85 void app_init_led_pins(void);
86 void app_led_write(uint32_t index, bool state);
87 void app_init_usb_pins(void);
88 
89 
90 #if defined(__cplusplus)
91 }
92 #endif /* __cplusplus */
93 #endif /* _RTT_BOARD_H */
94