summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernardXiong <[email protected]>2021-09-25 11:53:23 +0800
committerBernardXiong <[email protected]>2021-09-25 11:53:23 +0800
commitd9057a3263919355c5ec77cdcecee1262249c494 (patch)
treeb11e0d4dfba493b008468c39e13ade625595b07d
parent5e643ff619557b69ecf7b1a666200bd12d14c9a3 (diff)
[BSP] fix the formating issue for drv_spi in ls2k
-rw-r--r--bsp/ls2kdev/drivers/drv_spi.c29
1 files changed, 18 insertions, 11 deletions
diff --git a/bsp/ls2kdev/drivers/drv_spi.c b/bsp/ls2kdev/drivers/drv_spi.c
index 5a42acbee8..3e7bd06b26 100644
--- a/bsp/ls2kdev/drivers/drv_spi.c
+++ b/bsp/ls2kdev/drivers/drv_spi.c
@@ -15,36 +15,38 @@
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
+
#include <rtthread.h>
#include <drivers/spi.h>
#include "drv_spi.h"
#ifdef RT_USING_SPI
+#ifdef RT_USING_SPI_GPIOCS
+#include <drivers/pin.h>
+#endif
+
static void spi_init(uint8_t spre_spr, uint8_t copl, uint8_t cpha)
{
- SET_SPI(SPSR, 0xc0);
+ SET_SPI(SPSR, 0xc0);
SET_SPI(PARAM, 0x40);
SET_SPI(PARAM2, 0x01);
SET_SPI(SPER, (spre_spr & 0b00001100) >> 2);
- SET_SPI(SPCR, 0x50 | copl << 3 | cpha << 2 | (spre_spr & 0b00000011));
+ SET_SPI(SPCR, 0x50 | copl << 3 | cpha << 2 | (spre_spr & 0b00000011));
SET_SPI(SOFTCS, 0xff);
}
-static void spi_set_csn(uint8_t val)
+rt_inline void spi_set_csn(uint8_t val)
{
SET_SPI(SOFTCS, val);
}
-#ifdef RT_USING_SPI_GPIOCS
- #include <drivers/pin.h>
-#endif
-static void spi_set_cs(unsigned char cs, int new_status)
+static void spi_set_cs(unsigned char cs, int new_status)
{
if (cs < 4)
{
unsigned char val = 0;
val = GET_SPI(SOFTCS);
- val |= 0x01 << cs ; // csen=1
+ val |= 0x01 << cs ; // csen=1
if (new_status) // cs = 1
{
val |= (0x10 << cs); // csn=1
@@ -64,6 +66,7 @@ static void spi_set_cs(unsigned char cs, int new_status)
}
#endif
}
+
static uint8_t spi_write_for_response(uint8_t data)
{
uint8_t val;
@@ -94,6 +97,7 @@ static int cmd_spi_init(int argc, char *argv[])
}
}
MSH_CMD_EXPORT(cmd_spi_init, cmd_spi_init);
+
static int cmd_spi_set_csn(int argc, char *argv[])
{
uint8_t val, csn;
@@ -110,6 +114,7 @@ static int cmd_spi_set_csn(int argc, char *argv[])
}
}
MSH_CMD_EXPORT(cmd_spi_set_csn, cmd_spi_set_csn);
+
static int cmd_spi_write(int argc, char *argv[])
{
uint8_t data, resp;
@@ -129,6 +134,7 @@ MSH_CMD_EXPORT(cmd_spi_write, cmd_spi_write);
static rt_err_t configure(struct rt_spi_device *device, struct rt_spi_configuration *configuration);
static rt_uint32_t xfer(struct rt_spi_device *device, struct rt_spi_message *message);
+
const static unsigned char SPI_DIV_TABLE[] = {0b0000, 0b0001, 0b0100, 0b0010, 0b0011, 0b0101, 0b0110, 0b0111, 0b1000, 0b1001, 0b1010, 0b1011};
// 2 4 8 16 32 64 128 256 512 1024 2048 4096
static rt_err_t configure(struct rt_spi_device *device,
@@ -171,8 +177,8 @@ static rt_err_t configure(struct rt_spi_device *device,
return RT_EOK;
}
-static rt_uint32_t xfer(struct rt_spi_device *device,
- struct rt_spi_message *message)
+
+static rt_uint32_t xfer(struct rt_spi_device *device, struct rt_spi_message *message)
{
unsigned char cs = 0;
@@ -214,18 +220,19 @@ static rt_uint32_t xfer(struct rt_spi_device *device,
}
return message->length;
}
+
static struct rt_spi_ops loongson_spi_ops =
{
.configure = configure,
.xfer = xfer
};
static struct rt_spi_bus loongson_spi;
+
static int loongson_spi_init()
{
//rt_kprintf("spi_init\n");
return rt_spi_bus_register(&loongson_spi, "spi", &loongson_spi_ops);
}
INIT_BOARD_EXPORT(loongson_spi_init);
-
#endif
/*@}*/