/* | |
* PIC32 pinctrl driver | |
* | |
* Joshua Henderson, <joshua.henderson@microchip.com> | |
* Copyright (C) 2015 Microchip Technology Inc. All rights reserved. | |
* | |
* This program is free software; you can distribute it and/or modify it | |
* under the terms of the GNU General Public License (Version 2) as | |
* published by the Free Software Foundation. | |
* | |
* This program is distributed in the hope it will be useful, but WITHOUT | |
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
* for more details. | |
*/ | |
#ifndef PINCTRL_PINCTRL_PIC32_H | |
#define PINCTRL_PINCTRL_PIC32_H | |
/* PORT Registers */ | |
#define ANSEL_REG 0x00 | |
#define TRIS_REG 0x10 | |
#define PORT_REG 0x20 | |
#define LAT_REG 0x30 | |
#define ODCU_REG 0x40 | |
#define CNPU_REG 0x50 | |
#define CNPD_REG 0x60 | |
#define CNCON_REG 0x70 | |
#define CNEN_REG 0x80 | |
#define CNSTAT_REG 0x90 | |
#define CNNE_REG 0xA0 | |
#define CNF_REG 0xB0 | |
/* Input PPS Registers */ | |
#define INT1R 0x04 | |
#define INT2R 0x08 | |
#define INT3R 0x0C | |
#define INT4R 0x10 | |
#define T2CKR 0x18 | |
#define T3CKR 0x1C | |
#define T4CKR 0x20 | |
#define T5CKR 0x24 | |
#define T6CKR 0x28 | |
#define T7CKR 0x2C | |
#define T8CKR 0x30 | |
#define T9CKR 0x34 | |
#define IC1R 0x38 | |
#define IC2R 0x3C | |
#define IC3R 0x40 | |
#define IC4R 0x44 | |
#define IC5R 0x48 | |
#define IC6R 0x4C | |
#define IC7R 0x50 | |
#define IC8R 0x54 | |
#define IC9R 0x58 | |
#define OCFAR 0x60 | |
#define U1RXR 0x68 | |
#define U1CTSR 0x6C | |
#define U2RXR 0x70 | |
#define U2CTSR 0x74 | |
#define U3RXR 0x78 | |
#define U3CTSR 0x7C | |
#define U4RXR 0x80 | |
#define U4CTSR 0x84 | |
#define U5RXR 0x88 | |
#define U5CTSR 0x8C | |
#define U6RXR 0x90 | |
#define U6CTSR 0x94 | |
#define SDI1R 0x9C | |
#define SS1INR 0xA0 | |
#define SDI2R 0xA8 | |
#define SS2INR 0xAC | |
#define SDI3R 0xB4 | |
#define SS3INR 0xB8 | |
#define SDI4R 0xC0 | |
#define SS4INR 0xC4 | |
#define SDI5R 0xCC | |
#define SS5INR 0xD0 | |
#define SDI6R 0xD8 | |
#define SS6INR 0xDC | |
#define C1RXR 0xE0 | |
#define C2RXR 0xE4 | |
#define REFCLKI1R 0xE8 | |
#define REFCLKI3R 0xF0 | |
#define REFCLKI4R 0xF4 | |
/* Output PPS Registers */ | |
#define RPA14R 0x138 | |
#define RPA15R 0x13C | |
#define RPB0R 0x140 | |
#define RPB1R 0x144 | |
#define RPB2R 0x148 | |
#define RPB3R 0x14C | |
#define RPB5R 0x154 | |
#define RPB6R 0x158 | |
#define RPB7R 0x15C | |
#define RPB8R 0x160 | |
#define RPB9R 0x164 | |
#define RPB10R 0x168 | |
#define RPB14R 0x178 | |
#define RPB15R 0x17C | |
#define RPC1R 0x184 | |
#define RPC2R 0x188 | |
#define RPC3R 0x18C | |
#define RPC4R 0x190 | |
#define RPC13R 0x1B4 | |
#define RPC14R 0x1B8 | |
#define RPD0R 0x1C0 | |
#define RPD1R 0x1C4 | |
#define RPD2R 0x1C8 | |
#define RPD3R 0x1CC | |
#define RPD4R 0x1D0 | |
#define RPD5R 0x1D4 | |
#define RPD6R 0x1D8 | |
#define RPD7R 0x1DC | |
#define RPD9R 0x1E4 | |
#define RPD10R 0x1E8 | |
#define RPD11R 0x1EC | |
#define RPD12R 0x1F0 | |
#define RPD14R 0x1F8 | |
#define RPD15R 0x1FC | |
#define RPE3R 0x20C | |
#define RPE5R 0x214 | |
#define RPE8R 0x220 | |
#define RPE9R 0x224 | |
#define RPF0R 0x240 | |
#define RPF1R 0x244 | |
#define RPF2R 0x248 | |
#define RPF3R 0x24C | |
#define RPF4R 0x250 | |
#define RPF5R 0x254 | |
#define RPF8R 0x260 | |
#define RPF12R 0x270 | |
#define RPF13R 0x274 | |
#define RPG0R 0x280 | |
#define RPG1R 0x284 | |
#define RPG6R 0x298 | |
#define RPG7R 0x29C | |
#define RPG8R 0x2A0 | |
#define RPG9R 0x2A4 | |
#endif /* PINCTRL_PINCTRL_PIC32_H */ |