From f7f7d63d8a83ec5a2313e21143ff73c247c389a5 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Tue, 11 Jun 2013 07:03:35 +0200 Subject: Current (broken) state of SPI/WM8723 code. --- firmware/src/p2m.c | 30 ++++++---- firmware/src/uart.c | 169 ---------------------------------------------------- firmware/src/uart.h | 50 ---------------- 3 files changed, 19 insertions(+), 230 deletions(-) delete mode 100644 firmware/src/uart.c delete mode 100644 firmware/src/uart.h (limited to 'firmware/src') diff --git a/firmware/src/p2m.c b/firmware/src/p2m.c index d4ecb21..3f4f2f2 100644 --- a/firmware/src/p2m.c +++ b/firmware/src/p2m.c @@ -91,24 +91,32 @@ int main (void) #ifdef SPI -#include "LPC17xx.h" -#include -#include "uart.h" +#include #include +#include int main (void) -{ - UARTInit(0, 115200); /* baud rate setting */ +{ + // SystemCoreClockUpdate(); + // SystemInit(); - UARTSend(0, (uint8_t *)"init\n\r", 6); + LED_Init(); - WM8523_Init(); + cli_init(); - while (1) { - UARTSend(0, (uint8_t *)"hello\n\r", 7); + cli_write("init"); - _delay( 1 << 22 ); - } + _delay(1 << 22); + + WM8523_init(); + + cli_write("pre"); + + _delay(1 << 22); + + WM8523_configure(); + + cli_write("post"); } #endif diff --git a/firmware/src/uart.c b/firmware/src/uart.c deleted file mode 100644 index d3ac789..0000000 --- a/firmware/src/uart.c +++ /dev/null @@ -1,169 +0,0 @@ -/**************************************************************************** - * $Id:: uart.c 5751 2010-11-30 23:56:11Z usb00423 $ - * Project: NXP LPC17xx UART example - * - * Description: - * This file contains UART code example which include UART initialization, - * UART interrupt handler, and APIs for UART access. - * - **************************************************************************** - * Software that is described herein is for illustrative purposes only - * which provides customers with programming information regarding the - * products. This software is supplied "AS IS" without any warranties. - * NXP Semiconductors assumes no responsibility or liability for the - * use of the software, conveys no license or title under any patent, - * copyright, or mask work right to the product. NXP Semiconductors - * reserves the right to make changes in the software without - * notification. NXP Semiconductors also make no representation or - * warranty that such application will be suitable for the specified - * use without further testing or modification. -****************************************************************************/ -#include -#include //"type.h" -#include "uart.h" - -#define TRUE 1 -#define FALSE 0 - -volatile uint32_t UART0Status, UART1Status; -volatile uint8_t UART0TxEmpty = 1, UART1TxEmpty = 1; - -/***************************************************************************** -** Function name: UARTInit -** -** Descriptions: Initialize UART port, setup pin select, -** clock, parity, stop bits, FIFO, etc. -** -** parameters: portNum(0 or 1) and UART baudrate -** Returned value: true or false, return false only if the -** interrupt handler can't be installed to the -** VIC table -** -*****************************************************************************/ -uint32_t UARTInit( uint32_t PortNum, uint32_t baudrate ) -{ - uint32_t Fdiv; - uint32_t pclkdiv, pclk; - - uint32_t SystemFrequency = SystemCoreClock; - - if ( PortNum == 0 ) - { - LPC_PINCON->PINSEL0 &= ~0x000000F0; - LPC_PINCON->PINSEL0 |= 0x00000050; /* RxD0 is P0.3 and TxD0 is P0.2 */ - /* By default, the PCLKSELx value is zero, thus, the PCLK for - all the peripherals is 1/4 of the SystemFrequency. */ - /* Bit 6~7 is for UART0 */ - pclkdiv = (LPC_SC->PCLKSEL0 >> 6) & 0x03; - switch ( pclkdiv ) - { - case 0x00: - default: - pclk = SystemFrequency/4; - break; - case 0x01: - pclk = SystemFrequency; - break; - case 0x02: - pclk = SystemFrequency/2; - break; - case 0x03: - pclk = SystemFrequency/8; - break; - } - - LPC_UART0->LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */ - Fdiv = ( pclk / 16 ) / baudrate ; /*baud rate */ - LPC_UART0->DLM = Fdiv / 256; - LPC_UART0->DLL = Fdiv % 256; - LPC_UART0->LCR = 0x03; /* DLAB = 0 */ - LPC_UART0->FCR = 0x07; /* Enable and reset TX and RX FIFO. */ - - // NVIC_EnableIRQ(UART0_IRQn); - - //LPC_UART0->IER = IER_RBR | IER_THRE | IER_RLS; /* Enable UART0 interrupt */ - return (TRUE); - } - else if ( PortNum == 1 ) - { - LPC_PINCON->PINSEL4 &= ~0x0000000F; - LPC_PINCON->PINSEL4 |= 0x0000000A; /* Enable RxD1 P2.1, TxD1 P2.0 */ - - /* By default, the PCLKSELx value is zero, thus, the PCLK for - all the peripherals is 1/4 of the SystemFrequency. */ - /* Bit 8,9 are for UART1 */ - pclkdiv = (LPC_SC->PCLKSEL0 >> 8) & 0x03; - switch ( pclkdiv ) - { - case 0x00: - default: - pclk = SystemFrequency/4; - break; - case 0x01: - pclk = SystemFrequency; - break; - case 0x02: - pclk = SystemFrequency/2; - break; - case 0x03: - pclk = SystemFrequency/8; - break; - } - - LPC_UART1->LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */ - Fdiv = ( pclk / 16 ) / baudrate ; /*baud rate */ - LPC_UART1->DLM = Fdiv / 256; - LPC_UART1->DLL = Fdiv % 256; - LPC_UART1->LCR = 0x03; /* DLAB = 0 */ - LPC_UART1->FCR = 0x07; /* Enable and reset TX and RX FIFO. */ - - // NVIC_EnableIRQ(UART1_IRQn); - - LPC_UART1->IER = IER_RBR | IER_THRE | IER_RLS; /* Enable UART1 interrupt */ - return (TRUE); - } - return( FALSE ); -} - -/***************************************************************************** -** Function name: UARTSend -** -** Descriptions: Send a block of data to the UART 0 port based -** on the data length -** -** parameters: portNum, buffer pointer, and data length -** Returned value: None -** -*****************************************************************************/ -void UARTSend( uint32_t portNum, uint8_t *BufferPtr, uint32_t Length ) -{ - if ( portNum == 0 ) - { - while ( Length != 0 ) - { - /* THRE status, contain valid data */ - //while ( !(UART0TxEmpty & 0x01) ); - LPC_UART0->THR = *BufferPtr; - UART0TxEmpty = 0; /* not empty in the THR until it shifts out */ - BufferPtr++; - Length--; - } - } - else - { - while ( Length != 0 ) - { - /* THRE status, contain valid data */ - while ( !(UART1TxEmpty & 0x01) ); - LPC_UART1->THR = *BufferPtr; - UART1TxEmpty = 0; /* not empty in the THR until it shifts out */ - BufferPtr++; - Length--; - } - } - return; -} - -/****************************************************************************** -** End Of File -******************************************************************************/ diff --git a/firmware/src/uart.h b/firmware/src/uart.h deleted file mode 100644 index 870f581..0000000 --- a/firmware/src/uart.h +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** - * $Id:: uart.h 5751 2010-11-30 23:56:11Z usb00423 $ - * Project: NXP LPC17xx UART example - * - * Description: - * This file contains UART code header definition. - * - **************************************************************************** - * Software that is described herein is for illustrative purposes only - * which provides customers with programming information regarding the - * products. This software is supplied "AS IS" without any warranties. - * NXP Semiconductors assumes no responsibility or liability for the - * use of the software, conveys no license or title under any patent, - * copyright, or mask work right to the product. NXP Semiconductors - * reserves the right to make changes in the software without - * notification. NXP Semiconductors also make no representation or - * warranty that such application will be suitable for the specified - * use without further testing or modification. -****************************************************************************/ -#ifndef __UART_H -#define __UART_H - -#define IER_RBR 0x01 -#define IER_THRE 0x02 -#define IER_RLS 0x04 - -#define IIR_PEND 0x01 -#define IIR_RLS 0x03 -#define IIR_RDA 0x02 -#define IIR_CTI 0x06 -#define IIR_THRE 0x01 - -#define LSR_RDR 0x01 -#define LSR_OE 0x02 -#define LSR_PE 0x04 -#define LSR_FE 0x08 -#define LSR_BI 0x10 -#define LSR_THRE 0x20 -#define LSR_TEMT 0x40 -#define LSR_RXFE 0x80 - -#define BUFSIZE 0x40 - -uint32_t UARTInit( uint32_t portNum, uint32_t Baudrate ); -void UARTSend(uint32_t portNum, uint8_t *BufferPtr, uint32_t Length ); - -#endif /* end __UART_H */ -/***************************************************************************** -** End Of File -******************************************************************************/ -- cgit v1.2.3