cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

early_pin.h (4376B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Joshua Henderson <joshua.henderson@microchip.com>
      4 * Copyright (C) 2015 Microchip Technology Inc.  All rights reserved.
      5 */
      6#ifndef _PIC32MZDA_EARLY_PIN_H
      7#define _PIC32MZDA_EARLY_PIN_H
      8
      9/*
     10 * This is a complete, yet overly simplistic and unoptimized, PIC32MZDA PPS
     11 * configuration only useful before we have full pinctrl initialized.
     12 */
     13
     14/* Input PPS Functions */
     15enum {
     16	IN_FUNC_INT3,
     17	IN_FUNC_T2CK,
     18	IN_FUNC_T6CK,
     19	IN_FUNC_IC3,
     20	IN_FUNC_IC7,
     21	IN_FUNC_U1RX,
     22	IN_FUNC_U2CTS,
     23	IN_FUNC_U5RX,
     24	IN_FUNC_U6CTS,
     25	IN_FUNC_SDI1,
     26	IN_FUNC_SDI3,
     27	IN_FUNC_SDI5,
     28	IN_FUNC_SS6,
     29	IN_FUNC_REFCLKI1,
     30	IN_FUNC_INT4,
     31	IN_FUNC_T5CK,
     32	IN_FUNC_T7CK,
     33	IN_FUNC_IC4,
     34	IN_FUNC_IC8,
     35	IN_FUNC_U3RX,
     36	IN_FUNC_U4CTS,
     37	IN_FUNC_SDI2,
     38	IN_FUNC_SDI4,
     39	IN_FUNC_C1RX,
     40	IN_FUNC_REFCLKI4,
     41	IN_FUNC_INT2,
     42	IN_FUNC_T3CK,
     43	IN_FUNC_T8CK,
     44	IN_FUNC_IC2,
     45	IN_FUNC_IC5,
     46	IN_FUNC_IC9,
     47	IN_FUNC_U1CTS,
     48	IN_FUNC_U2RX,
     49	IN_FUNC_U5CTS,
     50	IN_FUNC_SS1,
     51	IN_FUNC_SS3,
     52	IN_FUNC_SS4,
     53	IN_FUNC_SS5,
     54	IN_FUNC_C2RX,
     55	IN_FUNC_INT1,
     56	IN_FUNC_T4CK,
     57	IN_FUNC_T9CK,
     58	IN_FUNC_IC1,
     59	IN_FUNC_IC6,
     60	IN_FUNC_U3CTS,
     61	IN_FUNC_U4RX,
     62	IN_FUNC_U6RX,
     63	IN_FUNC_SS2,
     64	IN_FUNC_SDI6,
     65	IN_FUNC_OCFA,
     66	IN_FUNC_REFCLKI3,
     67};
     68
     69/* Input PPS Pins */
     70#define IN_RPD2 0x00
     71#define IN_RPG8 0x01
     72#define IN_RPF4 0x02
     73#define IN_RPD10 0x03
     74#define IN_RPF1 0x04
     75#define IN_RPB9 0x05
     76#define IN_RPB10 0x06
     77#define IN_RPC14 0x07
     78#define IN_RPB5 0x08
     79#define IN_RPC1 0x0A
     80#define IN_RPD14 0x0B
     81#define IN_RPG1 0x0C
     82#define IN_RPA14 0x0D
     83#define IN_RPD6 0x0E
     84#define IN_RPD3 0x00
     85#define IN_RPG7 0x01
     86#define IN_RPF5 0x02
     87#define IN_RPD11 0x03
     88#define IN_RPF0 0x04
     89#define IN_RPB1 0x05
     90#define IN_RPE5 0x06
     91#define IN_RPC13 0x07
     92#define IN_RPB3 0x08
     93#define IN_RPC4 0x0A
     94#define IN_RPD15 0x0B
     95#define IN_RPG0 0x0C
     96#define IN_RPA15 0x0D
     97#define IN_RPD7 0x0E
     98#define IN_RPD9 0x00
     99#define IN_RPG6 0x01
    100#define IN_RPB8 0x02
    101#define IN_RPB15 0x03
    102#define IN_RPD4 0x04
    103#define IN_RPB0 0x05
    104#define IN_RPE3 0x06
    105#define IN_RPB7 0x07
    106#define IN_RPF12 0x09
    107#define IN_RPD12 0x0A
    108#define IN_RPF8 0x0B
    109#define IN_RPC3 0x0C
    110#define IN_RPE9 0x0D
    111#define IN_RPD1 0x00
    112#define IN_RPG9 0x01
    113#define IN_RPB14 0x02
    114#define IN_RPD0 0x03
    115#define IN_RPB6 0x05
    116#define IN_RPD5 0x06
    117#define IN_RPB2 0x07
    118#define IN_RPF3 0x08
    119#define IN_RPF13 0x09
    120#define IN_RPF2 0x0B
    121#define IN_RPC2 0x0C
    122#define IN_RPE8 0x0D
    123
    124/* Output PPS Pins */
    125enum {
    126	OUT_RPD2,
    127	OUT_RPG8,
    128	OUT_RPF4,
    129	OUT_RPD10,
    130	OUT_RPF1,
    131	OUT_RPB9,
    132	OUT_RPB10,
    133	OUT_RPC14,
    134	OUT_RPB5,
    135	OUT_RPC1,
    136	OUT_RPD14,
    137	OUT_RPG1,
    138	OUT_RPA14,
    139	OUT_RPD6,
    140	OUT_RPD3,
    141	OUT_RPG7,
    142	OUT_RPF5,
    143	OUT_RPD11,
    144	OUT_RPF0,
    145	OUT_RPB1,
    146	OUT_RPE5,
    147	OUT_RPC13,
    148	OUT_RPB3,
    149	OUT_RPC4,
    150	OUT_RPD15,
    151	OUT_RPG0,
    152	OUT_RPA15,
    153	OUT_RPD7,
    154	OUT_RPD9,
    155	OUT_RPG6,
    156	OUT_RPB8,
    157	OUT_RPB15,
    158	OUT_RPD4,
    159	OUT_RPB0,
    160	OUT_RPE3,
    161	OUT_RPB7,
    162	OUT_RPF12,
    163	OUT_RPD12,
    164	OUT_RPF8,
    165	OUT_RPC3,
    166	OUT_RPE9,
    167	OUT_RPD1,
    168	OUT_RPG9,
    169	OUT_RPB14,
    170	OUT_RPD0,
    171	OUT_RPB6,
    172	OUT_RPD5,
    173	OUT_RPB2,
    174	OUT_RPF3,
    175	OUT_RPF13,
    176	OUT_RPC2,
    177	OUT_RPE8,
    178	OUT_RPF2,
    179};
    180
    181/* Output PPS Functions */
    182#define OUT_FUNC_U3TX 0x01
    183#define OUT_FUNC_U4RTS 0x02
    184#define OUT_FUNC_SDO1 0x05
    185#define OUT_FUNC_SDO2 0x06
    186#define OUT_FUNC_SDO3 0x07
    187#define OUT_FUNC_SDO5 0x09
    188#define OUT_FUNC_SS6 0x0A
    189#define OUT_FUNC_OC3 0x0B
    190#define OUT_FUNC_OC6 0x0C
    191#define OUT_FUNC_REFCLKO4 0x0D
    192#define OUT_FUNC_C2OUT 0x0E
    193#define OUT_FUNC_C1TX 0x0F
    194#define OUT_FUNC_U1TX 0x01
    195#define OUT_FUNC_U2RTS 0x02
    196#define OUT_FUNC_U5TX 0x03
    197#define OUT_FUNC_U6RTS 0x04
    198#define OUT_FUNC_SDO1 0x05
    199#define OUT_FUNC_SDO2 0x06
    200#define OUT_FUNC_SDO3 0x07
    201#define OUT_FUNC_SDO4 0x08
    202#define OUT_FUNC_SDO5 0x09
    203#define OUT_FUNC_OC4 0x0B
    204#define OUT_FUNC_OC7 0x0C
    205#define OUT_FUNC_REFCLKO1 0x0F
    206#define OUT_FUNC_U3RTS 0x01
    207#define OUT_FUNC_U4TX 0x02
    208#define OUT_FUNC_U6TX 0x04
    209#define OUT_FUNC_SS1 0x05
    210#define OUT_FUNC_SS3 0x07
    211#define OUT_FUNC_SS4 0x08
    212#define OUT_FUNC_SS5 0x09
    213#define OUT_FUNC_SDO6 0x0A
    214#define OUT_FUNC_OC5 0x0B
    215#define OUT_FUNC_OC8 0x0C
    216#define OUT_FUNC_C1OUT 0x0E
    217#define OUT_FUNC_REFCLKO3 0x0F
    218#define OUT_FUNC_U1RTS 0x01
    219#define OUT_FUNC_U2TX 0x02
    220#define OUT_FUNC_U5RTS 0x03
    221#define OUT_FUNC_U6TX 0x04
    222#define OUT_FUNC_SS2 0x06
    223#define OUT_FUNC_SDO4 0x08
    224#define OUT_FUNC_SDO6 0x0A
    225#define OUT_FUNC_OC2 0x0B
    226#define OUT_FUNC_OC1 0x0C
    227#define OUT_FUNC_OC9 0x0D
    228#define OUT_FUNC_C2TX 0x0F
    229
    230void pic32_pps_input(int function, int pin);
    231void pic32_pps_output(int function, int pin);
    232
    233#endif