| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 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 */ |