1 /* 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 */ 142