HWA
Bare metal programming with style
gpa_1.h
Go to the documentation of this file.
1
2
/* This file is part of the HWA project.
3
* Copyright (c) 2017 Christophe Duparquet.
4
* All rights reserved. Read LICENSE.TXT for details.
5
*/
6
12
/* Load pins implementation definitions
13
*/
14
#include "
ioa_1.h
"
15
29
#define hw_class__gpa
30
31
32
/* Accept to append a number to a _gpa definition so that (portx,n) becomes a
33
* single pin at position n of portx.
34
*/
35
#define hw__gpa_ , _hw_gpa_
36
#define _hw_gpa_(o,n,a) HW_BX(_hw_gpa_,_hw_isa_4bn_,n)(o,n)
37
#define _hw_gpa_1(o,n) _ioa,o##_1_##n,(o,1,n)
38
#define _hw_gpa_0(o,n) ,(o,n),HW_EM(o has no relative n)
39
40
41
/* Class registers class, address, rwm, rfm
42
*/
43
#define hw__gpa_crl _r32, 0x00, 0xffffffff, 0
44
#define hw__gpa_crh _r32, 0x04, 0xffffffff, 0
45
#define hw__gpa_idr _r32, 0x08, 0x00000000, 0
46
#define hw__gpa_odr _r32, 0x0C, 0x0000ffff, 0
47
#define hw__gpa_bsrr _r32, 0x10, 0xffffffff, 0xffffffff
48
#define hw__gpa_brr _r32, 0x14, 0xffffffff, 0xffffffff
49
#define hw__gpa_lckr _r32, 0x18, 0x0001ffff, 0
50
51
#define hw__gpa_cnf15 _cb1, crh, 2, 30
52
#define hw__gpa_mode15 _cb1, crh, 2, 28
53
#define hw__gpa_cnf14 _cb1, crh, 2, 26
54
#define hw__gpa_mode14 _cb1, crh, 2, 24
55
#define hw__gpa_cnf13 _cb1, crh, 2, 22
56
#define hw__gpa_mode13 _cb1, crh, 2, 20
57
#define hw__gpa_cnf12 _cb1, crh, 2, 18
58
#define hw__gpa_mode12 _cb1, crh, 2, 16
59
#define hw__gpa_cnf11 _cb1, crh, 2, 14
60
#define hw__gpa_mode11 _cb1, crh, 2, 12
61
#define hw__gpa_cnf10 _cb1, crh, 2, 10
62
#define hw__gpa_mode10 _cb1, crh, 2, 8
63
#define hw__gpa_cnf9 _cb1, crh, 2, 6
64
#define hw__gpa_mode9 _cb1, crh, 2, 4
65
#define hw__gpa_cnf8 _cb1, crh, 2, 2
66
#define hw__gpa_mode8 _cb1, crh, 2, 0
67
68
#define hw__gpa_cnf7 _cb1, crl, 2, 30
69
#define hw__gpa_mode7 _cb1, crl, 2, 28
70
#define hw__gpa_cnf6 _cb1, crl, 2, 26
71
#define hw__gpa_mode6 _cb1, crl, 2, 24
72
#define hw__gpa_cnf5 _cb1, crl, 2, 22
73
#define hw__gpa_mode5 _cb1, crl, 2, 20
74
#define hw__gpa_cnf4 _cb1, crl, 2, 18
75
#define hw__gpa_mode4 _cb1, crl, 2, 16
76
#define hw__gpa_cnf3 _cb1, crl, 2, 14
77
#define hw__gpa_mode3 _cb1, crl, 2, 12
78
#define hw__gpa_cnf2 _cb1, crl, 2, 10
79
#define hw__gpa_mode2 _cb1, crl, 2, 8
80
#define hw__gpa_cnf1 _cb1, crl, 2, 6
81
#define hw__gpa_mode1 _cb1, crl, 2, 4
82
#define hw__gpa_cnf0 _cb1, crl, 2, 2
83
#define hw__gpa_mode0 _cb1, crl, 2, 0
84
85
86
#if !defined __ASSEMBLER__
87
88
typedef
struct
{
89
hwa_r32_t crl ;
90
hwa_r32_t crh ;
91
hwa_r32_t idr ;
92
hwa_r32_t odr ;
93
hwa_r32_t bsrr;
94
hwa_r32_t brr ;
95
hwa_r32_t lckr;
96
97
uint32_t toggles ;
98
} hwa_gpa_t ;
99
100
#endif
ioa_1.h
I/O.
Generated for HWA by
1.8.6