summaryrefslogtreecommitdiff
path: root/firmware/drivers/spi.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/spi.c')
-rw-r--r--firmware/drivers/spi.c35
1 files changed, 19 insertions, 16 deletions
diff --git a/firmware/drivers/spi.c b/firmware/drivers/spi.c
index 6209a03..fcbb6cc 100644
--- a/firmware/drivers/spi.c
+++ b/firmware/drivers/spi.c
@@ -28,6 +28,7 @@
#include <LPC17xx.h>
+#if 0
#define USE_CMSIS
@@ -100,7 +101,7 @@ void spi_init()
spi_cfg.DataOrder = SPI_DATA_MSB_FIRST;
// Se WM8523 manual page 14. Min clock pulse width 40ns ~= 25MHz
- spi_cfg.ClockRate = 1000;//1000000000; // 1MHz
+ spi_cfg.ClockRate = 10000;//1000000000; // 1MHz
spi = LPC_SPI;
SPI_Init(spi, &spi_cfg);
@@ -118,10 +119,10 @@ void spi_init()
LPC_SC->PCLKSEL0 |= ((clk & 0x3) << PCLK_SPI_BIT); // set bit 16 and 17 in PCLKSEL0
// Make pin selection for SPI.
- // SCK0: P1.20
- // SSEL0: P1.21
- // MOSI0: P1.23
- // MISO0: P1.24
+ // SCK0: P0.15
+ // SSEL0: P0.16
+ // MOSI0: P0.17
+ // MISO0: P0.18
LPC_PINCON->PINSEL0 &= ~(0x3 << SCK0_BIT);
LPC_PINCON->PINSEL0 |= (SCK0_FUNCTION << SCK0_BIT);
@@ -143,7 +144,7 @@ void spi_init()
#endif/*USE_CMSIS*/
// Configure SSEL pin:
- LPC_GPIO1->FIODIR |= 1 << 21; // Set 1.21 in output mode
+ LPC_GPIO0->FIODIR |= 1 << 16; // Set P0.16 in output mode
}
@@ -203,29 +204,29 @@ void spi_read_write(uint8_t *tx_data, uint8_t *rx_data, size_t length)
dst.callback = spi_mark_as_done;
SPI_ClearIntPending(spi);
- LPC_GPIO1->FIOPIN &= ~( 1 << 21 ); // make P1.21 low
+ LPC_GPIO0->FIOPIN &= ~( 1 << 16 ); // make P0.16 low
spi_done = 0;
SPI_ReadWrite(spi, &dst, SPI_TRANSFER_POLLING);//SPI_TRANSFER_INTERRUPT);
- cli_write(">");
+ // cli_write(">");
while (!(SPI_GetStatus(spi) & SPI_SPSR_SPIF)) { }
//while(!spi_done) {}
- cli_write("<");
+ //cli_write("<");
- LPC_GPIO1->FIOPIN |= 1 << 21; // make P1.29 high
+ LPC_GPIO0->FIOPIN |= 1 << 16; // make P0.16 high
#else/*USE_CMSIS*/
int i = 0;
- cli_write(">>");
+ // cli_write(">>");
- LPC_GPIO1->FIOPIN &= ~( 1 << 21 ); // make P1.21 low
+ LPC_GPIO0->FIOPIN &= ~( 1 << 16 ); // make P0.16 low
for(; i < length; i++) {
/*
cli_write("w");
- LPC_GPIO1->FIOPIN &= ~( 1 << 21 ); // make P1.21 low
+ LPC_GPIO0->FIOPIN &= ~( 1 << 16 ); // make P0.16 low
__delay(1 << 23);
*/
@@ -252,13 +253,15 @@ void spi_read_write(uint8_t *tx_data, uint8_t *rx_data, size_t length)
/*
cli_write("r");
- LPC_GPIO1->FIOPIN |= 1 << 21; // make P1.29 high
+ LPC_GPIO0->FIOPIN |= 1 << 16; // make P0.16 high
__delay(1 << 23);
*/
}
- LPC_GPIO1->FIOPIN |= 1 << 21; // make P1.29 high
+ LPC_GPIO0->FIOPIN |= 1 << 16; // make P0.16 high
- cli_write("<<");
+ //cli_write("<<");
#endif/*USE_CMSIS*/
}
+
+#endif/*0*/