summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRbb666 <[email protected]>2024-08-08 13:55:44 +0800
committerRbb666 <[email protected]>2024-08-12 17:23:40 +0800
commitfd111e7af473f8f56cb0557cd747f95ae7573b6d (patch)
tree3b10b9a09e0f2bc346da038ef52a5f6ae6230ba7
parent836865f404fd8c9aafbac4ceeecc28ebc4bb1225 (diff)
[bsp][nxp/mcxa153]添加spi缺失的文件路径
-rw-r--r--bsp/nxp/mcx/mcxa/Libraries/MCXA153/SConscript4
-rw-r--r--bsp/nxp/mcx/mcxa/Libraries/drivers/SConscript18
-rw-r--r--bsp/nxp/mcx/mcxa/Libraries/drivers/drv_pwm.c1
-rw-r--r--bsp/nxp/mcx/mcxa/Libraries/drivers/drv_spi.c53
-rw-r--r--bsp/nxp/mcx/mcxa/frdm-mcxa153/board/MCUX_Config/board/pin_mux.c1
5 files changed, 32 insertions, 45 deletions
diff --git a/bsp/nxp/mcx/mcxa/Libraries/MCXA153/SConscript b/bsp/nxp/mcx/mcxa/Libraries/MCXA153/SConscript
index a63ff403d0..4edf986188 100644
--- a/bsp/nxp/mcx/mcxa/Libraries/MCXA153/SConscript
+++ b/bsp/nxp/mcx/mcxa/Libraries/MCXA153/SConscript
@@ -49,6 +49,10 @@ src += ['MCXA153/drivers/fsl_waketimer.c']
src += ['MCXA153/drivers/fsl_wuu.c']
src += ['MCXA153/drivers/fsl_wwdt.c']
+if GetDepend('BSP_USING_SPI'):
+ src += ['MCXA153/drivers/fsl_lpspi.c']
+ src += ['MCXA153/drivers/fsl_lpspi_edma.c']
+
group = DefineGroup('Libraries', src, depend = [''], CPPPATH = path)
Return('group')
diff --git a/bsp/nxp/mcx/mcxa/Libraries/drivers/SConscript b/bsp/nxp/mcx/mcxa/Libraries/drivers/SConscript
index e4d5a6224e..76cc1c2f7b 100644
--- a/bsp/nxp/mcx/mcxa/Libraries/drivers/SConscript
+++ b/bsp/nxp/mcx/mcxa/Libraries/drivers/SConscript
@@ -7,34 +7,34 @@ src = []
if GetDepend('BSP_USING_PIN'):
src += ['drv_pin.c']
-if GetDepend('BSP_USING_UART'):
+if GetDepend('BSP_USING_UART'):
src += ['drv_uart.c']
if GetDepend('BSP_USING_RTC'):
src += ['drv_rtc.c']
-if GetDepend('BSP_USING_SPI'):
+if GetDepend('BSP_USING_SPI'):
src += ['drv_spi.c']
-if GetDepend('BSP_USING_SDIO'):
+if GetDepend('BSP_USING_SDIO'):
src += ['drv_sdio.c']
-if GetDepend('BSP_USING_I2C'):
+if GetDepend('BSP_USING_I2C'):
src += ['drv_i2c.c']
-if GetDepend('BSP_USING_ADC'):
+if GetDepend('BSP_USING_ADC'):
src += ['drv_adc.c']
-if GetDepend('BSP_USING_HWTIMER'):
+if GetDepend('BSP_USING_HWTIMER'):
src += ['drv_hwtimer.c']
-if GetDepend('BSP_USING_WDT'):
+if GetDepend('BSP_USING_WDT'):
src += ['drv_wdt.c']
-if GetDepend('BSP_USING_PWM'):
+if GetDepend('BSP_USING_PWM'):
src += ['drv_pwm.c']
-if GetDepend('BSP_USING_FLASH'):
+if GetDepend('BSP_USING_FLASH'):
src += ['drv_chipflash.c']
path = [cwd,cwd + '/config']
diff --git a/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_pwm.c b/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_pwm.c
index 68e29a15b5..e49cf89b2c 100644
--- a/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_pwm.c
+++ b/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_pwm.c
@@ -36,6 +36,7 @@ static mcx_pwm_obj_t mcx_pwm_list[]=
}
#endif
};
+
volatile uint32_t g_pwmPeriod = 0U;
volatile uint32_t g_pulsePeriod = 0U;
diff --git a/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_spi.c b/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_spi.c
index d85ccd59f1..c012f54416 100644
--- a/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_spi.c
+++ b/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_spi.c
@@ -9,7 +9,6 @@
*/
#include "rtdevice.h"
#include "drv_spi.h"
-#include "fsl_common.h"
#include "fsl_lpspi.h"
#include "fsl_lpspi_edma.h"
@@ -43,7 +42,6 @@ struct lpc_spi
char *name;
};
-
static struct lpc_spi lpc_obj[] =
{
#ifdef BSP_USING_SPI0
@@ -83,13 +81,11 @@ rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name,
return ret;
}
-
static rt_err_t spi_configure(struct rt_spi_device *device, struct rt_spi_configuration *cfg)
{
return RT_EOK;
}
-
static void LPSPI_MasterUserCallback(LPSPI_Type *base, lpspi_master_edma_handle_t *handle, status_t status, void *userData)
{
struct lpc_spi *spi = (struct lpc_spi *)userData;
@@ -106,7 +102,6 @@ static rt_ssize_t spixfer(struct rt_spi_device *device, struct rt_spi_message *m
RT_ASSERT(device->bus != RT_NULL);
RT_ASSERT(device->bus->parent.user_data != RT_NULL);
-
struct lpc_spi *spi = (struct lpc_spi *)(device->bus->parent.user_data);
struct lpc_sw_spi_cs *cs = device->parent.user_data;
@@ -120,38 +115,30 @@ static rt_ssize_t spixfer(struct rt_spi_device *device, struct rt_spi_message *m
transfer.txData = (uint8_t *)(message->send_buf);
/* if(message->length < MAX_DMA_TRANSFER_SIZE)*/
- if (0)
- {
- LPSPI_MasterTransferBlocking(spi->LPSPIx, &transfer);
- }
- else
- {
- uint32_t block, remain;
- block = message->length / DMA_MAX_TRANSFER_SIZE;
- remain = message->length % DMA_MAX_TRANSFER_SIZE;
+ uint32_t block, remain;
+ block = message->length / DMA_MAX_TRANSFER_SIZE;
+ remain = message->length % DMA_MAX_TRANSFER_SIZE;
- for (i = 0; i < block; i++)
- {
- transfer.dataSize = DMA_MAX_TRANSFER_SIZE;
- if (message->recv_buf) transfer.rxData = (uint8_t *)(message->recv_buf + i * DMA_MAX_TRANSFER_SIZE);
- if (message->send_buf) transfer.txData = (uint8_t *)(message->send_buf + i * DMA_MAX_TRANSFER_SIZE);
+ for (i = 0; i < block; i++)
+ {
+ transfer.dataSize = DMA_MAX_TRANSFER_SIZE;
+ if (message->recv_buf) transfer.rxData = (uint8_t *)(message->recv_buf + i * DMA_MAX_TRANSFER_SIZE);
+ if (message->send_buf) transfer.txData = (uint8_t *)(message->send_buf + i * DMA_MAX_TRANSFER_SIZE);
- LPSPI_MasterTransferEDMA(spi->LPSPIx, &spi->spi_dma_handle, &transfer);
- rt_sem_take(spi->sem, RT_WAITING_FOREVER);
- }
+ LPSPI_MasterTransferEDMA(spi->LPSPIx, &spi->spi_dma_handle, &transfer);
+ rt_sem_take(spi->sem, RT_WAITING_FOREVER);
+ }
- if (remain)
- {
- transfer.dataSize = remain;
- if (message->recv_buf) transfer.rxData = (uint8_t *)(message->recv_buf + i * DMA_MAX_TRANSFER_SIZE);
- if (message->send_buf) transfer.txData = (uint8_t *)(message->send_buf + i * DMA_MAX_TRANSFER_SIZE);
+ if (remain)
+ {
+ transfer.dataSize = remain;
+ if (message->recv_buf) transfer.rxData = (uint8_t *)(message->recv_buf + i * DMA_MAX_TRANSFER_SIZE);
+ if (message->send_buf) transfer.txData = (uint8_t *)(message->send_buf + i * DMA_MAX_TRANSFER_SIZE);
- LPSPI_MasterTransferEDMA(spi->LPSPIx, &spi->spi_dma_handle, &transfer);
- rt_sem_take(spi->sem, RT_WAITING_FOREVER);
- }
+ LPSPI_MasterTransferEDMA(spi->LPSPIx, &spi->spi_dma_handle, &transfer);
+ rt_sem_take(spi->sem, RT_WAITING_FOREVER);
}
-
if (message->cs_release)
{
rt_pin_write(cs->pin, PIN_HIGH);
@@ -160,16 +147,12 @@ static rt_ssize_t spixfer(struct rt_spi_device *device, struct rt_spi_message *m
return message->length;
}
-
-
static struct rt_spi_ops lpc_spi_ops =
{
.configure = spi_configure,
.xfer = spixfer
};
-
-
int rt_hw_spi_init(void)
{
int i;
diff --git a/bsp/nxp/mcx/mcxa/frdm-mcxa153/board/MCUX_Config/board/pin_mux.c b/bsp/nxp/mcx/mcxa/frdm-mcxa153/board/MCUX_Config/board/pin_mux.c
index 7621265506..d5001e36e3 100644
--- a/bsp/nxp/mcx/mcxa/frdm-mcxa153/board/MCUX_Config/board/pin_mux.c
+++ b/bsp/nxp/mcx/mcxa/frdm-mcxa153/board/MCUX_Config/board/pin_mux.c
@@ -27,7 +27,6 @@ processor_version: 0.14.3
#include "fsl_ctimer.h"
#include "pin_mux.h"
-
void BOARD_InitBootPins(void)
{
BOARD_InitPins();