[BSP][RT1050] Optimized spi bus driver. | 优化spi驱动.

1. menuconfig中导出spi总线IO选择配置.
2. menuconfig中导出spi总线时钟源配置.
3. 限制spibus总线速度最大为40MHz.
This commit is contained in:
liu2guang committed 2018-03-31 20:25:13 +08:00
1 parent 5674a2567e
commit 0bbb349145
5 files changed
+417 -138

No files matched your search

+30 -3
View File
@@ -135,7 +135,13 @@ CONFIG_RT_USING_RTC=y
# CONFIG_RT_USING_SOFT_RTC is not set
# CONFIG_RTC_SYNC_USING_NTP is not set
CONFIG_RT_USING_SDIO=y
# CONFIG_RT_USING_SPI is not set
CONFIG_RT_USING_SPI=y
# CONFIG_RT_USING_SPI_MSD is not set
# CONFIG_RT_USING_SFUD is not set
# CONFIG_RT_USING_W25QXX is not set
# CONFIG_RT_USING_GD is not set
# CONFIG_RT_USING_ENC28J60 is not set
# CONFIG_RT_USING_SPI_WIFI is not set
# CONFIG_RT_USING_WDT is not set
# CONFIG_RT_USING_WIFI is not set
@@ -310,6 +316,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
# CONFIG_PKG_USING_MINILZO is not set
# CONFIG_PKG_USING_QUICKLZ is not set
# CONFIG_PKG_USING_MULTIBUTTON is not set
# CONFIG_PKG_USING_SAMPLES is not set
#
# example package: hello
@@ -320,11 +327,11 @@ CONFIG_BOARD_RT1050_EVK=y
# CONFIG_BOARD_RT1050_FIRE is not set
#
# RT1050_EVK Bsp Config
# RT1050 Bsp Config
#
#
# Select uart device
# Select uart drivers
#
CONFIG_RT_USING_UART1=y
# CONFIG_RT_USING_UART2 is not set
@@ -334,5 +341,25 @@ CONFIG_RT_USING_UART1=y
# CONFIG_RT_USING_UART6 is not set
# CONFIG_RT_USING_UART7 is not set
# CONFIG_RT_USING_UART8 is not set
#
# Select spi bus drivers
#
CONFIG_LPSPI_CLK_SOURCE_FROM_PLL3PFD1=y
# CONFIG_LPSPI_CLK_SOURCE_FROM_PLL3PFD0 is not set
# CONFIG_LPSPI_CLK_SOURCE_FROM_PLL2 is not set
# CONFIG_LPSPI_CLK_SOURCE_FROM_PLL2PFD2 is not set
CONFIG_LPSPI_CLK_SOURCE=0
CONFIG_LPSPI_CLK_SOURCE_DIVIDER=7
# CONFIG_RT_USING_SPIBUS1 is not set
# CONFIG_RT_USING_SPIBUS2 is not set
# CONFIG_RT_USING_SPIBUS3 is not set
CONFIG_RT_USING_SPIBUS4=y
CONFIG_LPSPI4_SCK_GPIO_1=y
# CONFIG_LPSPI4_SCK_GPIO_2 is not set
CONFIG_LPSPI4_SDO_GPIO_1=y
# CONFIG_LPSPI4_SDO_GPIO_2 is not set
CONFIG_LPSPI4_SDI_GPIO_1=y
# CONFIG_LPSPI4_SDI_GPIO_2 is not set
CONFIG_RT_USING_SDRAM=y
CONFIG_RT_USING_RTC_HP=y
+139 -76
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+85 -2
View File
@@ -10,7 +10,7 @@
<TargetName>RT-Thread IMXRT1052</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<pCCUsed>5060422::V5.06 update 4 (build 422)::ARMCC</pCCUsed>
<pCCUsed>5060528::V5.06 update 5 (build 528)::ARMCC</pCCUsed>
<TargetOption>
<TargetCommonOption>
<Device>MIMXRT1052:M7</Device>
@@ -334,7 +334,7 @@
<MiscControls>--library_interface=armcc --library_type=standardlib --diag_suppress=66,1296,186</MiscControls>
<Define>SKIP_SYSCLK_INIT, CPU_MIMXRT1052DVL6A, FSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1, EVK_MCIMXRM, FSL_FEATURE_PHYKSZ8081_USE_RMII50M_MODE, RT_USING_ARM_LIBC</Define>
<Undefine></Undefine>
<IncludePath>applications;.;drivers;Libraries;Libraries\drivers;Libraries\utilities;Libraries\CMSIS\Include;..\..\include;..\..\libcpu\arm\cortex-m7;..\..\libcpu\arm\common;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\dfs\filesystems\elmfat;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\finsh;..\..\components\libc\compilers\armlibc;..\..\components\net\lwip-2.0.2\src;..\..\components\net\lwip-2.0.2\src\include;..\..\components\net\lwip-2.0.2\src\include\ipv4;..\..\components\net\lwip-2.0.2\src\arch\include;..\..\components\net\lwip-2.0.2\src\include\netif;..\..\components\net\lwip-2.0.2\src\include\posix</IncludePath>
<IncludePath>applications;.;drivers;Libraries;Libraries\drivers;Libraries\utilities;Libraries\CMSIS\Include;..\..\include;..\..\libcpu\arm\cortex-m7;..\..\libcpu\arm\common;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\dfs\filesystems\elmfat;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\spi;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\finsh;..\..\components\libc\compilers\armlibc;..\..\components\net\lwip-2.0.2\src;..\..\components\net\lwip-2.0.2\src\include;..\..\components\net\lwip-2.0.2\src\include\ipv4;..\..\components\net\lwip-2.0.2\src\arch\include;..\..\components\net\lwip-2.0.2\src\include\netif;..\..\components\net\lwip-2.0.2\src\include\posix</IncludePath>
</VariousControls>
</Cads>
<Aads>
@@ -428,6 +428,11 @@
<FileType>1</FileType>
<FilePath>drivers\drv_rtc.c</FilePath>
</File>
<File>
<FileName>drv_spi_bus.c</FileName>
<FileType>1</FileType>
<FilePath>drivers\drv_spi_bus.c</FilePath>
</File>
<File>
<FileName>hyper_flash_boot.c</FileName>
<FileType>1</FileType>
@@ -907,6 +912,74 @@
</Group>
<Group>
<GroupName>DeviceDrivers</GroupName>
<GroupOption>
<CommonProperty>
<UseCPPCompiler>0</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</IncludeInBuild>
<AlwaysBuild>0</AlwaysBuild>
<GenerateAssemblyFile>0</GenerateAssemblyFile>
<AssembleAssemblyFile>0</AssembleAssemblyFile>
<PublicsOnly>0</PublicsOnly>
<StopOnExitCode>3</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
<ComprImg>0</ComprImg>
</CommonProperty>
<GroupArmAds>
<Cads>
<interw>2</interw>
<Optim>0</Optim>
<oTime>2</oTime>
<SplitLS>2</SplitLS>
<OneElfS>2</OneElfS>
<Strict>2</Strict>
<EnumInt>2</EnumInt>
<PlainCh>2</PlainCh>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<wLevel>0</wLevel>
<uThumb>2</uThumb>
<uSurpInc>2</uSurpInc>
<uC99>2</uC99>
<useXO>2</useXO>
<v6Lang>0</v6Lang>
<v6LangP>0</v6LangP>
<vShortEn>2</vShortEn>
<vShortWch>2</vShortWch>
<v6Lto>2</v6Lto>
<v6WtE>2</v6WtE>
<v6Rtti>2</v6Rtti>
<VariousControls>
<MiscControls></MiscControls>
<Define> </Define>
<Undefine> </Undefine>
<IncludePath> </IncludePath>
</VariousControls>
</Cads>
<Aads>
<interw>2</interw>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<thumb>2</thumb>
<SplitLS>2</SplitLS>
<SwStkChk>2</SwStkChk>
<NoWarn>2</NoWarn>
<uSurpInc>2</uSurpInc>
<useXO>2</useXO>
<uClangAs>2</uClangAs>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Aads>
</GroupArmAds>
</GroupOption>
<Files>
<File>
<FileName>i2c_core.c</FileName>
@@ -963,6 +1036,16 @@
<FileType>1</FileType>
<FilePath>..\..\components\drivers\serial\serial.c</FilePath>
</File>
<File>
<FileName>spi_core.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\components\drivers\spi\spi_core.c</FilePath>
</File>
<File>
<FileName>spi_dev.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\components\drivers\spi\spi_dev.c</FilePath>
</File>
<File>
<FileName>completion.c</FileName>
<FileType>1</FileType>
+13 -2
View File
@@ -95,6 +95,7 @@
#define RT_USING_PIN
#define RT_USING_RTC
#define RT_USING_SDIO
#define RT_USING_SPI
/* Using USB */
@@ -193,11 +194,21 @@
#define SOC_IMXRT1052
#define BOARD_RT1050_EVK
/* RT1050_EVK Bsp Config */
/* RT1050 Bsp Config */
/* Select uart device */
/* Select uart drivers */
#define RT_USING_UART1
/* Select spi bus drivers */
#define LPSPI_CLK_SOURCE_FROM_PLL3PFD1
#define LPSPI_CLK_SOURCE 0
#define LPSPI_CLK_SOURCE_DIVIDER 7
#define RT_USING_SPIBUS4
#define LPSPI4_SCK_GPIO_1
#define LPSPI4_SDO_GPIO_1
#define LPSPI4_SDI_GPIO_1
#define RT_USING_SDRAM
#define RT_USING_RTC_HP