RTEMS 6.1-rc1
spiRegs.h
1/* Blackfin SPI Registers
2 *
3 * Copyright (c) 2010 Kallisti Labs, Los Gatos, CA, USA
4 * written by Allan Hessenflow <allanh@kallisti.com>
5 *
6 * The license and distribution terms for this file may be
7 * found in the file LICENSE in this distribution or at
8 * http://www.rtems.org/license/LICENSE.
9 */
10
11#ifndef _spiRegs_h_
12#define _spiRegs_h_
13
14
15/* register addresses */
16
17#define SPI_CTL_OFFSET 0x0000
18#define SPI_FLG_OFFSET 0x0004
19#define SPI_STAT_OFFSET 0x0008
20#define SPI_TDBR_OFFSET 0x000c
21#define SPI_RDBR_OFFSET 0x0010
22#define SPI_BAUD_OFFSET 0x0014
23#define SPI_SHADOW_OFFSET 0x0018
24
25
26/* register fields */
27
28#define SPI_CTL_SPE 0x4000
29#define SPI_CTL_WOM 0x2000
30#define SPI_CTL_MSTR 0x1000
31#define SPI_CTL_CPOL 0x0800
32#define SPI_CTL_CPHA 0x0400
33#define SPI_CTL_LSBF 0x0200
34#define SPI_CTL_SIZE 0x0100
35#define SPI_CTL_EMISO 0x0020
36#define SPI_CTL_PSSE 0x0010
37#define SPI_CTL_GM 0x0008
38#define SPI_CTL_SZ 0x0004
39#define SPI_CTL_TIMOD_MASK 0x0003
40#define SPI_CTL_TIMOD_RDBR 0x0000
41#define SPI_CTL_TIMOD_TDBR 0x0001
42#define SPI_CTL_TIMOD_DMA_RDBR 0x0002
43#define SPI_CTL_TIMOD_DMA_TDBR 0x0003
44
45#define SPI_FLG_FLG7 0x8000
46#define SPI_FLG_FLG6 0x4000
47#define SPI_FLG_FLG5 0x2000
48#define SPI_FLG_FLG4 0x1000
49#define SPI_FLG_FLG3 0x0800
50#define SPI_FLG_FLG2 0x0400
51#define SPI_FLG_FLG1 0x0200
52#define SPI_FLG_FLS7 0x0080
53#define SPI_FLG_FLS6 0x0040
54#define SPI_FLG_FLS5 0x0020
55#define SPI_FLG_FLS4 0x0010
56#define SPI_FLG_FLS3 0x0008
57#define SPI_FLG_FLS2 0x0004
58#define SPI_FLG_FLS1 0x0002
59
60#define SPI_STAT_TXCOL 0x0040
61#define SPI_STAT_RXS 0x0020
62#define SPI_STAT_RBSY 0x0010
63#define SPI_STAT_TXS 0x0008
64#define SPI_STAT_TXE 0x0004
65#define SPI_STAT_MODF 0x0002
66#define SPI_STAT_SPIF 0x0001
67
68
69#endif /* _spiRegs_h_ */