VSF Documented
Main Page
Related Pages
Topics
Namespaces
Data Structures
Files
Examples
File List
Globals
source
hal
driver
AIC
AIC8800
spi
spi.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* Copyright(C)2009-2022 by VSF Team *
3
* *
4
* Licensed under the Apache License, Version 2.0 (the "License"); *
5
* you may not use this file except in compliance with the License. *
6
* You may obtain a copy of the License at *
7
* *
8
* http://www.apache.org/licenses/LICENSE-2.0 *
9
* *
10
* Unless required by applicable law or agreed to in writing, software *
11
* distributed under the License is distributed on an "AS IS" BASIS, *
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13
* See the License for the specific language governing permissions and *
14
* limitations under the License. *
15
* *
16
****************************************************************************/
17
18
#ifndef __HAL_DRIVER_AIC8800_SPI_H__
19
#define __HAL_DRIVER_AIC8800_SPI_H__
20
21
/*============================ INCLUDES ======================================*/
22
23
#include "
hal/vsf_hal_cfg.h
"
24
25
#if VSF_HAL_USE_SPI == ENABLED
26
27
#include "
../__device.h
"
28
29
/*============================ MACROS ========================================*/
30
/*============================ MACROFIED FUNCTIONS ===========================*/
31
/*============================ TYPES =========================================*/
32
33
typedef
enum
vsf_spi_mode_t
{
34
VSF_SPI_SLAVE
= 0x00ul << 11,
35
VSF_SPI_MASTER
= 0x01ul << 11,
36
37
// SPI mode (hardware specific: bits 0-1 and bit 13 for CPOL/CPHA)
38
// Mode 0: CPOL=0, CPHA=0 -> bits[0:1]=11, bit[13]=0
39
VSF_SPI_MODE_0
= ((0x01ul << 0) |(0x01ul << 1) | (0x00ul << 13)),
40
// Mode 1: CPOL=0, CPHA=1 -> bits[0:1]=00, bit[13]=0
41
VSF_SPI_MODE_1
= ((0x00ul << 0) |(0x00ul << 1) | (0x00ul << 13)),
42
// Mode 2: CPOL=1, CPHA=0 -> bits[0:1]=11, bit[13]=1
43
VSF_SPI_MODE_2
= ((0x01ul << 0) |(0x01ul << 1) | (0x01ul << 13)),
44
// Mode 3: CPOL=1, CPHA=1 -> bits[0:1]=00, bit[13]=1
45
VSF_SPI_MODE_3
= ((0x00ul << 0) |(0x00ul << 1) | (0x01ul << 13)),
46
47
VSF_SPI_DATASIZE_BIT_OFFSET
= 2,
48
VSF_SPI_DATASIZE_DIFF
= 0,
49
VSF_SPI_DATASIZE_8
= 0x08ul << 2,
50
VSF_SPI_DATASIZE_9
= 0x09ul << 2,
51
VSF_SPI_DATASIZE_10
= 0x0aul << 2,
52
VSF_SPI_DATASIZE_11
= 0x0Bul << 2,
53
VSF_SPI_DATASIZE_12
= 0x0Cul << 2,
54
VSF_SPI_DATASIZE_13
= 0x0Dul << 2,
55
VSF_SPI_DATASIZE_14
= 0x0Eul << 2,
56
VSF_SPI_DATASIZE_15
= 0x0Ful << 2,
57
VSF_SPI_DATASIZE_16
= 0x10ul << 2,
58
VSF_SPI_DATASIZE_17
= 0x11ul << 2,
59
VSF_SPI_DATASIZE_18
= 0x12ul << 2,
60
VSF_SPI_DATASIZE_19
= 0x13ul << 2,
61
VSF_SPI_DATASIZE_20
= 0x14ul << 2,
62
VSF_SPI_DATASIZE_21
= 0x15ul << 2,
63
VSF_SPI_DATASIZE_22
= 0x16ul << 2,
64
VSF_SPI_DATASIZE_23
= 0x17ul << 2,
65
VSF_SPI_DATASIZE_24
= 0x18ul << 2,
66
VSF_SPI_DATASIZE_25
= 0x19ul << 2,
67
VSF_SPI_DATASIZE_26
= 0x1aul << 2,
68
VSF_SPI_DATASIZE_27
= 0x1Bul << 2,
69
VSF_SPI_DATASIZE_28
= 0x1Cul << 2,
70
VSF_SPI_DATASIZE_29
= 0x1Dul << 2,
71
VSF_SPI_DATASIZE_30
= 0x1Eul << 2,
72
VSF_SPI_DATASIZE_31
= 0x1Ful << 2,
73
VSF_SPI_DATASIZE_32
= 0x20ul << 2,
74
__AIC8800_VSF_SPI_DATASIZE_MASK
=
VSF_SPI_DATASIZE_8
|
VSF_SPI_DATASIZE_9
|
VSF_SPI_DATASIZE_10
|
VSF_SPI_DATASIZE_11
|
75
VSF_SPI_DATASIZE_12
|
VSF_SPI_DATASIZE_13
|
VSF_SPI_DATASIZE_14
|
VSF_SPI_DATASIZE_15
|
76
VSF_SPI_DATASIZE_16
|
VSF_SPI_DATASIZE_17
|
VSF_SPI_DATASIZE_18
|
VSF_SPI_DATASIZE_19
|
77
VSF_SPI_DATASIZE_20
|
VSF_SPI_DATASIZE_21
|
VSF_SPI_DATASIZE_22
|
VSF_SPI_DATASIZE_23
|
78
VSF_SPI_DATASIZE_24
|
VSF_SPI_DATASIZE_25
|
VSF_SPI_DATASIZE_26
|
VSF_SPI_DATASIZE_27
|
79
VSF_SPI_DATASIZE_28
|
VSF_SPI_DATASIZE_29
|
VSF_SPI_DATASIZE_30
|
VSF_SPI_DATASIZE_31
|
80
VSF_SPI_DATASIZE_32
,
81
82
VSF_SPI_CS_SOFTWARE_MODE
= 0x01ul << 8,
83
VSF_SPI_CS_HARDWARE_MODE
= 0x00ul << 8,
84
85
VSF_SPI_MSB_FIRST
= 0x00ul << 9,
86
VSF_SPI_LSB_FIRST
= 0x01ul << 9,
87
88
__SPI_HW_MODE_MASK
=
VSF_SPI_SLAVE
|
89
VSF_SPI_MASTER
|
90
VSF_SPI_MODE_0
|
91
VSF_SPI_MODE_1
|
92
VSF_SPI_MODE_2
|
93
VSF_SPI_MODE_3
|
94
VSF_SPI_CS_SOFTWARE_MODE
|
95
VSF_SPI_CS_HARDWARE_MODE
|
96
VSF_SPI_MSB_FIRST
|
97
VSF_SPI_LSB_FIRST
|
98
__AIC8800_VSF_SPI_DATASIZE_MASK
,
99
100
// unsupporte mode
101
VSF_SPI_DATASIZE_4
= 0x04ul << 16,
102
VSF_SPI_DATASIZE_5
= 0x05ul << 16,
103
VSF_SPI_DATASIZE_6
= 0x06ul << 16,
104
VSF_SPI_DATASIZE_7
= 0x07ul << 16,
105
106
VSF_SPI_LOOP_BACK
= 0x01ul << 19,
107
}
vsf_spi_mode_t
;
108
109
/*============================ INCLUDES ======================================*/
110
111
#endif
/* VSF_HAL_USE_SPI */
112
#endif
/* EOF */
__device.h
vsf_spi_mode_t
vsf_spi_mode_t
Definition
spi.h:33
VSF_SPI_DATASIZE_31
@ VSF_SPI_DATASIZE_31
Definition
spi.h:72
VSF_SPI_SLAVE
@ VSF_SPI_SLAVE
Definition
spi.h:34
VSF_SPI_DATASIZE_16
@ VSF_SPI_DATASIZE_16
Definition
spi.h:57
VSF_SPI_DATASIZE_28
@ VSF_SPI_DATASIZE_28
Definition
spi.h:69
VSF_SPI_DATASIZE_6
@ VSF_SPI_DATASIZE_6
Definition
spi.h:103
VSF_SPI_DATASIZE_17
@ VSF_SPI_DATASIZE_17
Definition
spi.h:58
VSF_SPI_DATASIZE_9
@ VSF_SPI_DATASIZE_9
Definition
spi.h:50
VSF_SPI_DATASIZE_18
@ VSF_SPI_DATASIZE_18
Definition
spi.h:59
VSF_SPI_DATASIZE_11
@ VSF_SPI_DATASIZE_11
Definition
spi.h:52
VSF_SPI_MODE_1
@ VSF_SPI_MODE_1
Definition
spi.h:41
__SPI_HW_MODE_MASK
@ __SPI_HW_MODE_MASK
Definition
spi.h:88
VSF_SPI_DATASIZE_20
@ VSF_SPI_DATASIZE_20
Definition
spi.h:61
VSF_SPI_DATASIZE_21
@ VSF_SPI_DATASIZE_21
Definition
spi.h:62
VSF_SPI_DATASIZE_8
@ VSF_SPI_DATASIZE_8
datasize is 8 bits
Definition
spi.h:49
VSF_SPI_DATASIZE_DIFF
@ VSF_SPI_DATASIZE_DIFF
Definition
spi.h:48
VSF_SPI_DATASIZE_27
@ VSF_SPI_DATASIZE_27
Definition
spi.h:68
VSF_SPI_DATASIZE_14
@ VSF_SPI_DATASIZE_14
Definition
spi.h:55
VSF_SPI_MASTER
@ VSF_SPI_MASTER
Definition
spi.h:35
VSF_SPI_LOOP_BACK
@ VSF_SPI_LOOP_BACK
Definition
spi.h:106
VSF_SPI_DATASIZE_BIT_OFFSET
@ VSF_SPI_DATASIZE_BIT_OFFSET
Definition
spi.h:47
VSF_SPI_DATASIZE_26
@ VSF_SPI_DATASIZE_26
Definition
spi.h:67
VSF_SPI_DATASIZE_13
@ VSF_SPI_DATASIZE_13
Definition
spi.h:54
VSF_SPI_DATASIZE_7
@ VSF_SPI_DATASIZE_7
Definition
spi.h:104
VSF_SPI_DATASIZE_5
@ VSF_SPI_DATASIZE_5
Definition
spi.h:102
VSF_SPI_DATASIZE_32
@ VSF_SPI_DATASIZE_32
Definition
spi.h:73
VSF_SPI_DATASIZE_12
@ VSF_SPI_DATASIZE_12
Definition
spi.h:53
VSF_SPI_DATASIZE_22
@ VSF_SPI_DATASIZE_22
Definition
spi.h:63
VSF_SPI_MODE_0
@ VSF_SPI_MODE_0
Definition
spi.h:39
VSF_SPI_DATASIZE_24
@ VSF_SPI_DATASIZE_24
Definition
spi.h:65
VSF_SPI_DATASIZE_4
@ VSF_SPI_DATASIZE_4
datasize is 8 bits
Definition
spi.h:101
VSF_SPI_DATASIZE_29
@ VSF_SPI_DATASIZE_29
Definition
spi.h:70
VSF_SPI_DATASIZE_25
@ VSF_SPI_DATASIZE_25
Definition
spi.h:66
VSF_SPI_MODE_3
@ VSF_SPI_MODE_3
Definition
spi.h:45
VSF_SPI_DATASIZE_30
@ VSF_SPI_DATASIZE_30
Definition
spi.h:71
VSF_SPI_DATASIZE_19
@ VSF_SPI_DATASIZE_19
Definition
spi.h:60
VSF_SPI_DATASIZE_23
@ VSF_SPI_DATASIZE_23
Definition
spi.h:64
VSF_SPI_MODE_2
@ VSF_SPI_MODE_2
Definition
spi.h:43
VSF_SPI_DATASIZE_10
@ VSF_SPI_DATASIZE_10
Definition
spi.h:51
__AIC8800_VSF_SPI_DATASIZE_MASK
@ __AIC8800_VSF_SPI_DATASIZE_MASK
Definition
spi.h:74
VSF_SPI_DATASIZE_15
@ VSF_SPI_DATASIZE_15
Definition
spi.h:56
VSF_SPI_CS_SOFTWARE_MODE
@ VSF_SPI_CS_SOFTWARE_MODE
Definition
spi.h:87
vsf_spi_mode_t
vsf_spi_mode_t
Definition
spi.h:79
VSF_SPI_LSB_FIRST
@ VSF_SPI_LSB_FIRST
Definition
spi.h:83
VSF_SPI_MSB_FIRST
@ VSF_SPI_MSB_FIRST
Definition
spi.h:82
VSF_SPI_CS_HARDWARE_MODE
@ VSF_SPI_CS_HARDWARE_MODE
Definition
spi.h:92
vsf_hal_cfg.h
Generated from commit:
vsfteam/vsf@ceb53fd