diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_soft_i2c.c b/bsp/stm32/libraries/HAL_Drivers/drv_soft_i2c.c index 5f8e300d0808b4a35ae3d51b40fa0494c567eff3..81ea714cf0b7b253aece85d8b2006cf6605c9f22 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_soft_i2c.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_soft_i2c.c @@ -18,7 +18,7 @@ #define LOG_TAG "drv.i2c" #include -#if !defined(BSP_USING_I2C1) && !defined(BSP_USING_I2C2) && !defined(BSP_USING_I2C3) +#if !defined(BSP_USING_I2C1) && !defined(BSP_USING_I2C2) && !defined(BSP_USING_I2C3) && !defined(BSP_USING_I2C4) #error "Please define at least one BSP_USING_I2Cx" /* this driver can be disabled at menuconfig → RT-Thread Components → Device Drivers */ #endif @@ -32,7 +32,10 @@ static const struct stm32_soft_i2c_config soft_i2c_config[] = I2C2_BUS_CONFIG, #endif #ifdef BSP_USING_I2C3 - I2C2_BUS_CONFIG, + I2C3_BUS_CONFIG, +#endif +#ifdef BSP_USING_I2C4 + I2C4_BUS_CONFIG, #endif }; diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_soft_i2c.h b/bsp/stm32/libraries/HAL_Drivers/drv_soft_i2c.h index dc4238f3d06e8871561d9f28343e9be053b7a086..4ded66505c91b7f4ec764f6ad76a1398ecbac6f9 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_soft_i2c.h +++ b/bsp/stm32/libraries/HAL_Drivers/drv_soft_i2c.h @@ -56,6 +56,15 @@ struct stm32_i2c } #endif +#ifdef BSP_USING_I2C4 +#define I2C4_BUS_CONFIG \ + { \ + .scl = BSP_I2C4_SCL_PIN, \ + .sda = BSP_I2C4_SDA_PIN, \ + .bus_name = "i2c4", \ + } +#endif + int rt_hw_i2c_init(void); #endif diff --git a/bsp/stm32/stm32f767-fire-challenger/README.md b/bsp/stm32/stm32f767-fire-challenger/README.md index eaf4afa7b0e42f987abdd802c9959b98df8fa033..f3c85d7172447ce304f763918ef1a2ed6b592755 100644 --- a/bsp/stm32/stm32f767-fire-challenger/README.md +++ b/bsp/stm32/stm32f767-fire-challenger/README.md @@ -41,13 +41,14 @@ | :----------------- | :----------: | :------------------------------------- | | USB 转串口 | 支持 | | | RS232 | 支持 | 与以太网有引脚冲突 | -| QSPI Flash | 暂不支持 | | -| 电位器 | 暂不支持 | 使用 ADC1 | -| 以太网 | 暂不支持 | | -| MPU6050六轴传感器 | 暂不支持 | | +| QSPI Flash | 支持 | | +| 电位器 | 支持 | 使用 ADC1 | +| 以太网 | 暂不支持 | 移植中 | +| MPU6050六轴传感器 | 暂不支持 | 移植中 | | SDRAM | 支持 | | -| SD卡 | 暂不支持 | | -| CAN | 暂不支持 | | +| SD卡 | 即将支持 | | +| CAN | 即将支持 | | +| EMW1062 | 暂不支持 | | | **片上外设** | **支持情况** | **备注** | | GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...176 | | UART | 支持 | UART1/x/x | diff --git a/bsp/stm32/stm32f767-fire-challenger/board/Kconfig b/bsp/stm32/stm32f767-fire-challenger/board/Kconfig index fd7bf670793f78a0fb27d301db10727ed78bfdca..5ee1fe6b77d60203b3dc30c56dd4b0b327c61eaf 100644 --- a/bsp/stm32/stm32f767-fire-challenger/board/Kconfig +++ b/bsp/stm32/stm32f767-fire-challenger/board/Kconfig @@ -22,12 +22,18 @@ menu "Onboard Peripheral Drivers" default n config BSP_USING_QSPI_FLASH - bool "Enable QSPI FLASH (W25Q128 spi5)" - select BSP_USING_SPI5 + bool "Enable QSPI FLASH" + select BSP_USING_QSPI select RT_USING_SFUD - select RT_SFUD_USING_SFDP + select RT_SFUD_USING_QSPI default n - + + config BSP_USING_MPU6050 + bool "Enable MPU6050 (i2c4)" + select BSP_USING_I2C4 + select PKG_USING_MPU6XXX + default n + endmenu menu "On-chip Peripheral Drivers" @@ -79,6 +85,12 @@ menu "On-chip Peripheral Drivers" bool "Enable SPI DMA support" default n + config BSP_USING_QSPI + bool "Enable QSPI BUS" + select RT_USING_QSPI + select RT_USING_SPI + default n + menuconfig BSP_USING_ADC bool "Enable ADC" default n @@ -115,6 +127,58 @@ menu "On-chip Peripheral Drivers" default 23 endif + menuconfig BSP_USING_I2C2 + bool "Enable I2C2 BUS (software simulation)" + default n + select RT_USING_I2C + select RT_USING_I2C_BITOPS + select RT_USING_PIN + if BSP_USING_I2C2 + config BSP_I2C2_SCL_PIN + int "i2c2 scl pin number" + range 1 176 + default 47 + config BSP_I2C2_SDA_PIN + int "I2C2 sda pin number" + range 1 176 + default 48 + endif + + menuconfig BSP_USING_I2C3 + bool "Enable I2C3 BUS (software simulation)" + default n + select RT_USING_I2C + select RT_USING_I2C_BITOPS + select RT_USING_PIN + if BSP_USING_I2C3 + config BSP_I2C3_SCL_PIN + int "i2c3 scl pin number" + range 1 176 + default 92 + config BSP_I2C3_SDA_PIN + int "I2C3 sda pin number" + range 1 176 + default 93 + endif + + menuconfig BSP_USING_I2C4 + bool "Enable I2C4 BUS (software simulation)" + default n + select RT_USING_I2C + select RT_USING_I2C_BITOPS + select RT_USING_PIN + if BSP_USING_I2C4 + comment "Notice: PD12 --> 60; PD13 --> 61" + config BSP_I2C4_SCL_PIN + int "i2c4 scl pin number" + range 1 176 + default 60 + config BSP_I2C4_SDA_PIN + int "I2C4 sda pin number" + range 1 176 + default 61 + endif + config BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC