blob: 12826267dc9673a1bfb7ac2df66ae0d3f85c42af [file] [log] [blame]
Joshua Henderson2ba384e2016-02-01 15:48:30 -07001/*
2 * PIC32 pinctrl driver
3 *
4 * Joshua Henderson, <joshua.henderson@microchip.com>
5 * Copyright (C) 2015 Microchip Technology Inc. All rights reserved.
6 *
7 * This program is free software; you can distribute it and/or modify it
8 * under the terms of the GNU General Public License (Version 2) as
9 * published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * for more details.
15 */
16#ifndef PINCTRL_PINCTRL_PIC32_H
17#define PINCTRL_PINCTRL_PIC32_H
18
19/* PORT Registers */
20#define ANSEL_REG 0x00
21#define TRIS_REG 0x10
22#define PORT_REG 0x20
23#define LAT_REG 0x30
24#define ODCU_REG 0x40
25#define CNPU_REG 0x50
26#define CNPD_REG 0x60
27#define CNCON_REG 0x70
28#define CNEN_REG 0x80
29#define CNSTAT_REG 0x90
30#define CNNE_REG 0xA0
31#define CNF_REG 0xB0
32
33/* Input PPS Registers */
34#define INT1R 0x04
35#define INT2R 0x08
36#define INT3R 0x0C
37#define INT4R 0x10
38#define T2CKR 0x18
39#define T3CKR 0x1C
40#define T4CKR 0x20
41#define T5CKR 0x24
42#define T6CKR 0x28
43#define T7CKR 0x2C
44#define T8CKR 0x30
45#define T9CKR 0x34
46#define IC1R 0x38
47#define IC2R 0x3C
48#define IC3R 0x40
49#define IC4R 0x44
50#define IC5R 0x48
51#define IC6R 0x4C
52#define IC7R 0x50
53#define IC8R 0x54
54#define IC9R 0x58
55#define OCFAR 0x60
56#define U1RXR 0x68
57#define U1CTSR 0x6C
58#define U2RXR 0x70
59#define U2CTSR 0x74
60#define U3RXR 0x78
61#define U3CTSR 0x7C
62#define U4RXR 0x80
63#define U4CTSR 0x84
64#define U5RXR 0x88
65#define U5CTSR 0x8C
66#define U6RXR 0x90
67#define U6CTSR 0x94
68#define SDI1R 0x9C
69#define SS1INR 0xA0
70#define SDI2R 0xA8
71#define SS2INR 0xAC
72#define SDI3R 0xB4
73#define SS3INR 0xB8
74#define SDI4R 0xC0
75#define SS4INR 0xC4
76#define SDI5R 0xCC
77#define SS5INR 0xD0
78#define SDI6R 0xD8
79#define SS6INR 0xDC
80#define C1RXR 0xE0
81#define C2RXR 0xE4
82#define REFCLKI1R 0xE8
83#define REFCLKI3R 0xF0
84#define REFCLKI4R 0xF4
85
86/* Output PPS Registers */
87#define RPA14R 0x138
88#define RPA15R 0x13C
89#define RPB0R 0x140
90#define RPB1R 0x144
91#define RPB2R 0x148
92#define RPB3R 0x14C
93#define RPB5R 0x154
94#define RPB6R 0x158
95#define RPB7R 0x15C
96#define RPB8R 0x160
97#define RPB9R 0x164
98#define RPB10R 0x168
99#define RPB14R 0x178
100#define RPB15R 0x17C
101#define RPC1R 0x184
102#define RPC2R 0x188
103#define RPC3R 0x18C
104#define RPC4R 0x190
105#define RPC13R 0x1B4
106#define RPC14R 0x1B8
107#define RPD0R 0x1C0
108#define RPD1R 0x1C4
109#define RPD2R 0x1C8
110#define RPD3R 0x1CC
111#define RPD4R 0x1D0
112#define RPD5R 0x1D4
113#define RPD6R 0x1D8
114#define RPD7R 0x1DC
115#define RPD9R 0x1E4
116#define RPD10R 0x1E8
117#define RPD11R 0x1EC
118#define RPD12R 0x1F0
119#define RPD14R 0x1F8
120#define RPD15R 0x1FC
121#define RPE3R 0x20C
122#define RPE5R 0x214
123#define RPE8R 0x220
124#define RPE9R 0x224
125#define RPF0R 0x240
126#define RPF1R 0x244
127#define RPF2R 0x248
128#define RPF3R 0x24C
129#define RPF4R 0x250
130#define RPF5R 0x254
131#define RPF8R 0x260
132#define RPF12R 0x270
133#define RPF13R 0x274
134#define RPG0R 0x280
135#define RPG1R 0x284
136#define RPG6R 0x298
137#define RPG7R 0x29C
138#define RPG8R 0x2A0
139#define RPG9R 0x2A4
140
141#endif /* PINCTRL_PINCTRL_PIC32_H */