Nut/OS  5.0.5
API Reference
lpc_spi.h
Go to the documentation of this file.
00001 #ifndef _ARCH_CM3_NXP_MACH_LPC_SPI_H_
00002 #define _ARCH_CM3_NXP_MACH_LPC_SPI_H_
00003 
00004 /*
00005  * Copyright 2011 by egnite GmbH
00006  *
00007  * Redistribution and use in source and binary forms, with or without
00008  * modification, are permitted provided that the following conditions
00009  * are met:
00010  *
00011  * 1. Redistributions of source code must retain the above copyright
00012  *    notice, this list of conditions and the following disclaimer.
00013  * 2. Redistributions in binary form must reproduce the above copyright
00014  *    notice, this list of conditions and the following disclaimer in the
00015  *    documentation and/or other materials provided with the distribution.
00016  * 3. Neither the name of the copyright holders nor the names of
00017  *    contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00021  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00022  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00023  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00024  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00025  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00026  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
00027  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
00028  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00029  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
00030  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00031  * SUCH DAMAGE.
00032  *
00033  * For additional information see http://www.ethernut.de/
00034  */
00035 
00049 
00050 
00053 #define SPCR_OFF        0x00000000
00054 #define SPCR            (LPC_SPI_BASE + SPCR_OFF)
00055 #define SPCR_EN         (1 << 2)
00056 #define SPCR_CPHA       (1 << 3)
00057 #define SPCR_CPOL       (1 << 4)
00058 #define SPCR_MSTR       (1 << 5)
00059 #define SPCR_LSBF       (1 << 6)
00060 #define SPCR_SPIE       (1 << 7)
00061 #define SPCR_BITS_LSB   8
00062 #define SPCR_BITS       0x00000F00
00063 #define SPCR_8BITS      0x00000800
00064 #define SPCR_9BITS      0x00000900
00065 #define SPCR_10BITS     0x00000A00
00066 #define SPCR_11BITS     0x00000B00
00067 #define SPCR_12BITS     0x00000C00
00068 #define SPCR_13BITS     0x00000D00
00069 #define SPCR_14BITS     0x00000E00
00070 #define SPCR_15BITS     0x00000F00
00071 #define SPCR_16BITS     0x00000000
00072 
00076 #define SPSR_OFF        0x00000004
00077 #define SPSR            (LPC_SPI_BASE + SPSR_OFF)
00078 #define SPSR_ABRT       (1 << 3)
00079 #define SPSR_MODF       (1 << 4)
00080 #define SPSR_ROVR       (1 << 5)
00081 #define SPSR_WCOL       (1 << 6)
00082 #define SPSR_SPIF       (1 << 7)
00083 
00087 #define SPDR_OFF        0x00000008
00088 #define SPDR            (LPC_SPI_BASE + SPDR_OFF)
00089 
00093 #define SPCCR_OFF       0x0000000C
00094 #define SPCCR           (LPC_SPI_BASE + SPCCR_OFF)
00095 
00099 #define SPINT_OFF       0x0000001C
00100 #define SPINT           (LPC_SPI_BASE + SPINT_OFF)
00101 #define SPINT_SPIF      (1 << 0)
00102 
00106 #endif
00107