|
|
/*------------------------------------------------------------------------------
|
|
|
-- This file is a part of the libuc, microcontroler library
|
|
|
-- Copyright (C) 2011, Alexis Jeandet
|
|
|
--
|
|
|
-- This program is free software; you can redistribute it and/or modify
|
|
|
-- it under the terms of the GNU General Public License as published by
|
|
|
-- the Free Software Foundation; either version 3 of the License, or
|
|
|
-- (at your option) any later version.
|
|
|
--
|
|
|
-- This program is distributed in the hope that it will be useful,
|
|
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
-- GNU General Public License for more details.
|
|
|
--
|
|
|
-- You should have received a copy of the GNU General Public License
|
|
|
-- along with this program; if not, write to the Free Software
|
|
|
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
-------------------------------------------------------------------------------
|
|
|
-- Author : Alexis Jeandet
|
|
|
-- Mail : alexis.jeandet@gmail.com
|
|
|
-------------------------------------------------------------------------------*/
|
|
|
#ifndef BSP_H
|
|
|
#define BSP_H
|
|
|
#include "LPC17xx.h"
|
|
|
#include <uart.h>
|
|
|
#include <iic.h>
|
|
|
#include <ssp.h>
|
|
|
#include <24LC0X.h>
|
|
|
#include <blkdevice.h>
|
|
|
#include <sdcard.h>
|
|
|
#include <mbr.h>
|
|
|
#include <fat32.h>
|
|
|
|
|
|
|
|
|
extern uartDev UART0;
|
|
|
extern uartDev UART1;
|
|
|
extern uartDev UART2;
|
|
|
extern uartDev UART3;
|
|
|
|
|
|
extern i2cDev IIC0;
|
|
|
extern i2cDev IIC1;
|
|
|
extern i2cDev IIC2;
|
|
|
|
|
|
extern sspDev SSP0;
|
|
|
extern sspDev SSP1;
|
|
|
|
|
|
extern sdcardDev SDCARD0;
|
|
|
extern blkdevice BLKDEVSDCARD0;
|
|
|
extern dikpartition PART0;
|
|
|
extern FAT32fs fs0;
|
|
|
extern ucdirent root;
|
|
|
|
|
|
extern eeprom24lc0xDev eeprom0;
|
|
|
|
|
|
extern float VREF0;
|
|
|
|
|
|
extern unsigned int currentCpuFreq;
|
|
|
|
|
|
#define pll0useInternal 0
|
|
|
#define pll0useMainOsc 1
|
|
|
#define pll0useRTC 2
|
|
|
|
|
|
|
|
|
#define pll0setClksrc(src) if((unsigned int)(src)<3) LPC_SC->CLKSRCSEL=(src)
|
|
|
#define pll0getClksrc (LPC_SC->CLKSRCSEL & 3)
|
|
|
|
|
|
#define LEDS_ON LPC_GPIO2->FIOSET = 255
|
|
|
|
|
|
#define LED1_ON LPC_GPIO2->FIOSET = (1<<0)
|
|
|
#define LED2_ON LPC_GPIO2->FIOSET = (1<<1)
|
|
|
#define LED3_ON LPC_GPIO2->FIOSET = (1<<2)
|
|
|
#define LED4_ON LPC_GPIO2->FIOSET = (1<<3)
|
|
|
#define LED5_ON LPC_GPIO2->FIOSET = (1<<4)
|
|
|
#define LED6_ON LPC_GPIO2->FIOSET = (1<<5)
|
|
|
#define LED7_ON LPC_GPIO2->FIOSET = (1<<6)
|
|
|
#define LED8_ON LPC_GPIO2->FIOSET = (1<<7)
|
|
|
|
|
|
#define LEDS_OFF LPC_GPIO2->FIOCLR = ~(255)
|
|
|
|
|
|
#define LED1_OFF LPC_GPIO2->FIOCLR = (1<<0)
|
|
|
#define LED2_OFF LPC_GPIO2->FIOCLR = (1<<1)
|
|
|
#define LED3_OFF LPC_GPIO2->FIOCLR = (1<<2)
|
|
|
#define LED4_OFF LPC_GPIO2->FIOCLR = (1<<3)
|
|
|
#define LED5_OFF LPC_GPIO2->FIOCLR = (1<<4)
|
|
|
#define LED6_OFF LPC_GPIO2->FIOCLR = (1<<5)
|
|
|
#define LED7_OFF LPC_GPIO2->FIOCLR = (1<<6)
|
|
|
#define LED8_OFF LPC_GPIO2->FIOCLR = (1<<7)
|
|
|
|
|
|
extern int bsp_init();
|
|
|
|
|
|
extern void bsp_GPIO_init();
|
|
|
extern void bsp_uart_init();
|
|
|
extern void bsp_iic_init();
|
|
|
extern void bsp_ssp_init();
|
|
|
extern void bsp_SD_init();
|
|
|
extern void consoleputc(char);
|
|
|
extern char consolegetc();
|
|
|
|
|
|
/* VS1053 */
|
|
|
extern void clearXCS();
|
|
|
extern void setXCS();
|
|
|
extern int vs10XXDREQ();
|
|
|
|
|
|
/* SD CARD */
|
|
|
void bsppowersdcard(char onoff);
|
|
|
char bspsdcardpresent();
|
|
|
void bspsdcardselect(char YESNO);
|
|
|
char bspsdcardwriteprotected();
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|