qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

_pin_defs.h (10599B)


      1 /* Copyright 2021 QMK
      2  *
      3  * This program is free software: you can redistribute it and/or modify
      4  * it under the terms of the GNU General Public License as published by
      5  * the Free Software Foundation, either version 3 of the License, or
      6  * (at your option) any later version.
      7  *
      8  * This program is distributed in the hope that it will be useful,
      9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     11  * GNU General Public License for more details.
     12  *
     13  * You should have received a copy of the GNU General Public License
     14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     15  */
     16 #pragma once
     17 
     18 #if defined(MCU_KINETIS)
     19 // TODO: including this avoids "error: expected identifier before '(' token" errors
     20 //       here just to please KINETIS builds...
     21 #    include <hal.h>
     22 #endif
     23 
     24 /* Include the vendor specific pin defs */
     25 #if __has_include_next("_pin_defs.h")
     26 #    include_next "_pin_defs.h"
     27 #else
     28 #    define A0 PAL_LINE(GPIOA, 0)
     29 #    define A1 PAL_LINE(GPIOA, 1)
     30 #    define A2 PAL_LINE(GPIOA, 2)
     31 #    define A3 PAL_LINE(GPIOA, 3)
     32 #    define A4 PAL_LINE(GPIOA, 4)
     33 #    define A5 PAL_LINE(GPIOA, 5)
     34 #    define A6 PAL_LINE(GPIOA, 6)
     35 #    define A7 PAL_LINE(GPIOA, 7)
     36 #    define A8 PAL_LINE(GPIOA, 8)
     37 #    define A9 PAL_LINE(GPIOA, 9)
     38 #    define A10 PAL_LINE(GPIOA, 10)
     39 #    define A11 PAL_LINE(GPIOA, 11)
     40 #    define A12 PAL_LINE(GPIOA, 12)
     41 #    define A13 PAL_LINE(GPIOA, 13)
     42 #    define A14 PAL_LINE(GPIOA, 14)
     43 #    define A15 PAL_LINE(GPIOA, 15)
     44 #    define A16 PAL_LINE(GPIOA, 16)
     45 #    define A17 PAL_LINE(GPIOA, 17)
     46 #    define A18 PAL_LINE(GPIOA, 18)
     47 #    define A19 PAL_LINE(GPIOA, 19)
     48 #    define A20 PAL_LINE(GPIOA, 20)
     49 #    define A21 PAL_LINE(GPIOA, 21)
     50 #    define A22 PAL_LINE(GPIOA, 22)
     51 #    define A23 PAL_LINE(GPIOA, 23)
     52 #    define A24 PAL_LINE(GPIOA, 24)
     53 #    define A25 PAL_LINE(GPIOA, 25)
     54 #    define A26 PAL_LINE(GPIOA, 26)
     55 #    define A27 PAL_LINE(GPIOA, 27)
     56 #    define A28 PAL_LINE(GPIOA, 28)
     57 #    define A29 PAL_LINE(GPIOA, 29)
     58 #    define A30 PAL_LINE(GPIOA, 30)
     59 #    define A31 PAL_LINE(GPIOA, 31)
     60 #    define A32 PAL_LINE(GPIOA, 32)
     61 #    define B0 PAL_LINE(GPIOB, 0)
     62 #    define B1 PAL_LINE(GPIOB, 1)
     63 #    define B2 PAL_LINE(GPIOB, 2)
     64 #    define B3 PAL_LINE(GPIOB, 3)
     65 #    define B4 PAL_LINE(GPIOB, 4)
     66 #    define B5 PAL_LINE(GPIOB, 5)
     67 #    define B6 PAL_LINE(GPIOB, 6)
     68 #    define B7 PAL_LINE(GPIOB, 7)
     69 #    define B8 PAL_LINE(GPIOB, 8)
     70 #    define B9 PAL_LINE(GPIOB, 9)
     71 #    define B10 PAL_LINE(GPIOB, 10)
     72 #    define B11 PAL_LINE(GPIOB, 11)
     73 #    define B12 PAL_LINE(GPIOB, 12)
     74 #    define B13 PAL_LINE(GPIOB, 13)
     75 #    define B14 PAL_LINE(GPIOB, 14)
     76 #    define B15 PAL_LINE(GPIOB, 15)
     77 #    define B16 PAL_LINE(GPIOB, 16)
     78 #    define B17 PAL_LINE(GPIOB, 17)
     79 #    define B18 PAL_LINE(GPIOB, 18)
     80 #    define B19 PAL_LINE(GPIOB, 19)
     81 #    define B20 PAL_LINE(GPIOB, 20)
     82 #    define B21 PAL_LINE(GPIOB, 21)
     83 #    define B22 PAL_LINE(GPIOB, 22)
     84 #    define B23 PAL_LINE(GPIOB, 23)
     85 #    define B24 PAL_LINE(GPIOB, 24)
     86 #    define B25 PAL_LINE(GPIOB, 25)
     87 #    define B26 PAL_LINE(GPIOB, 26)
     88 #    define B27 PAL_LINE(GPIOB, 27)
     89 #    define B28 PAL_LINE(GPIOB, 28)
     90 #    define B29 PAL_LINE(GPIOB, 29)
     91 #    define B30 PAL_LINE(GPIOB, 30)
     92 #    define B31 PAL_LINE(GPIOB, 31)
     93 #    define B32 PAL_LINE(GPIOB, 32)
     94 #    define C0 PAL_LINE(GPIOC, 0)
     95 #    define C1 PAL_LINE(GPIOC, 1)
     96 #    define C2 PAL_LINE(GPIOC, 2)
     97 #    define C3 PAL_LINE(GPIOC, 3)
     98 #    define C4 PAL_LINE(GPIOC, 4)
     99 #    define C5 PAL_LINE(GPIOC, 5)
    100 #    define C6 PAL_LINE(GPIOC, 6)
    101 #    define C7 PAL_LINE(GPIOC, 7)
    102 #    define C8 PAL_LINE(GPIOC, 8)
    103 #    define C9 PAL_LINE(GPIOC, 9)
    104 #    define C10 PAL_LINE(GPIOC, 10)
    105 #    define C11 PAL_LINE(GPIOC, 11)
    106 #    define C12 PAL_LINE(GPIOC, 12)
    107 #    define C13 PAL_LINE(GPIOC, 13)
    108 #    define C14 PAL_LINE(GPIOC, 14)
    109 #    define C15 PAL_LINE(GPIOC, 15)
    110 #    define C16 PAL_LINE(GPIOC, 16)
    111 #    define C17 PAL_LINE(GPIOC, 17)
    112 #    define C18 PAL_LINE(GPIOC, 18)
    113 #    define C19 PAL_LINE(GPIOC, 19)
    114 #    define C20 PAL_LINE(GPIOC, 20)
    115 #    define C21 PAL_LINE(GPIOC, 21)
    116 #    define C22 PAL_LINE(GPIOC, 22)
    117 #    define C23 PAL_LINE(GPIOC, 23)
    118 #    define C24 PAL_LINE(GPIOC, 24)
    119 #    define C25 PAL_LINE(GPIOC, 25)
    120 #    define C26 PAL_LINE(GPIOC, 26)
    121 #    define C27 PAL_LINE(GPIOC, 27)
    122 #    define C28 PAL_LINE(GPIOC, 28)
    123 #    define C29 PAL_LINE(GPIOC, 29)
    124 #    define C30 PAL_LINE(GPIOC, 30)
    125 #    define C31 PAL_LINE(GPIOC, 31)
    126 #    define C32 PAL_LINE(GPIOC, 32)
    127 #    define D0 PAL_LINE(GPIOD, 0)
    128 #    define D1 PAL_LINE(GPIOD, 1)
    129 #    define D2 PAL_LINE(GPIOD, 2)
    130 #    define D3 PAL_LINE(GPIOD, 3)
    131 #    define D4 PAL_LINE(GPIOD, 4)
    132 #    define D5 PAL_LINE(GPIOD, 5)
    133 #    define D6 PAL_LINE(GPIOD, 6)
    134 #    define D7 PAL_LINE(GPIOD, 7)
    135 #    define D8 PAL_LINE(GPIOD, 8)
    136 #    define D9 PAL_LINE(GPIOD, 9)
    137 #    define D10 PAL_LINE(GPIOD, 10)
    138 #    define D11 PAL_LINE(GPIOD, 11)
    139 #    define D12 PAL_LINE(GPIOD, 12)
    140 #    define D13 PAL_LINE(GPIOD, 13)
    141 #    define D14 PAL_LINE(GPIOD, 14)
    142 #    define D15 PAL_LINE(GPIOD, 15)
    143 #    define D16 PAL_LINE(GPIOD, 16)
    144 #    define D17 PAL_LINE(GPIOD, 17)
    145 #    define D18 PAL_LINE(GPIOD, 18)
    146 #    define D19 PAL_LINE(GPIOD, 19)
    147 #    define D20 PAL_LINE(GPIOD, 20)
    148 #    define D21 PAL_LINE(GPIOD, 21)
    149 #    define D22 PAL_LINE(GPIOD, 22)
    150 #    define D23 PAL_LINE(GPIOD, 23)
    151 #    define D24 PAL_LINE(GPIOD, 24)
    152 #    define D25 PAL_LINE(GPIOD, 25)
    153 #    define D26 PAL_LINE(GPIOD, 26)
    154 #    define D27 PAL_LINE(GPIOD, 27)
    155 #    define D28 PAL_LINE(GPIOD, 28)
    156 #    define D29 PAL_LINE(GPIOD, 29)
    157 #    define D30 PAL_LINE(GPIOD, 30)
    158 #    define D31 PAL_LINE(GPIOD, 31)
    159 #    define D32 PAL_LINE(GPIOD, 32)
    160 #    define E0 PAL_LINE(GPIOE, 0)
    161 #    define E1 PAL_LINE(GPIOE, 1)
    162 #    define E2 PAL_LINE(GPIOE, 2)
    163 #    define E3 PAL_LINE(GPIOE, 3)
    164 #    define E4 PAL_LINE(GPIOE, 4)
    165 #    define E5 PAL_LINE(GPIOE, 5)
    166 #    define E6 PAL_LINE(GPIOE, 6)
    167 #    define E7 PAL_LINE(GPIOE, 7)
    168 #    define E8 PAL_LINE(GPIOE, 8)
    169 #    define E9 PAL_LINE(GPIOE, 9)
    170 #    define E10 PAL_LINE(GPIOE, 10)
    171 #    define E11 PAL_LINE(GPIOE, 11)
    172 #    define E12 PAL_LINE(GPIOE, 12)
    173 #    define E13 PAL_LINE(GPIOE, 13)
    174 #    define E14 PAL_LINE(GPIOE, 14)
    175 #    define E15 PAL_LINE(GPIOE, 15)
    176 #    define E16 PAL_LINE(GPIOE, 16)
    177 #    define E17 PAL_LINE(GPIOE, 17)
    178 #    define E18 PAL_LINE(GPIOE, 18)
    179 #    define E19 PAL_LINE(GPIOE, 19)
    180 #    define E20 PAL_LINE(GPIOE, 20)
    181 #    define E21 PAL_LINE(GPIOE, 21)
    182 #    define E22 PAL_LINE(GPIOE, 22)
    183 #    define E23 PAL_LINE(GPIOE, 23)
    184 #    define E24 PAL_LINE(GPIOE, 24)
    185 #    define E25 PAL_LINE(GPIOE, 25)
    186 #    define E26 PAL_LINE(GPIOE, 26)
    187 #    define E27 PAL_LINE(GPIOE, 27)
    188 #    define E28 PAL_LINE(GPIOE, 28)
    189 #    define E29 PAL_LINE(GPIOE, 29)
    190 #    define E30 PAL_LINE(GPIOE, 30)
    191 #    define E31 PAL_LINE(GPIOE, 31)
    192 #    define E32 PAL_LINE(GPIOE, 32)
    193 #    define F0 PAL_LINE(GPIOF, 0)
    194 #    define F1 PAL_LINE(GPIOF, 1)
    195 #    define F2 PAL_LINE(GPIOF, 2)
    196 #    define F3 PAL_LINE(GPIOF, 3)
    197 #    define F4 PAL_LINE(GPIOF, 4)
    198 #    define F5 PAL_LINE(GPIOF, 5)
    199 #    define F6 PAL_LINE(GPIOF, 6)
    200 #    define F7 PAL_LINE(GPIOF, 7)
    201 #    define F8 PAL_LINE(GPIOF, 8)
    202 #    define F9 PAL_LINE(GPIOF, 9)
    203 #    define F10 PAL_LINE(GPIOF, 10)
    204 #    define F11 PAL_LINE(GPIOF, 11)
    205 #    define F12 PAL_LINE(GPIOF, 12)
    206 #    define F13 PAL_LINE(GPIOF, 13)
    207 #    define F14 PAL_LINE(GPIOF, 14)
    208 #    define F15 PAL_LINE(GPIOF, 15)
    209 #    define G0 PAL_LINE(GPIOG, 0)
    210 #    define G1 PAL_LINE(GPIOG, 1)
    211 #    define G2 PAL_LINE(GPIOG, 2)
    212 #    define G3 PAL_LINE(GPIOG, 3)
    213 #    define G4 PAL_LINE(GPIOG, 4)
    214 #    define G5 PAL_LINE(GPIOG, 5)
    215 #    define G6 PAL_LINE(GPIOG, 6)
    216 #    define G7 PAL_LINE(GPIOG, 7)
    217 #    define G8 PAL_LINE(GPIOG, 8)
    218 #    define G9 PAL_LINE(GPIOG, 9)
    219 #    define G10 PAL_LINE(GPIOG, 10)
    220 #    define G11 PAL_LINE(GPIOG, 11)
    221 #    define G12 PAL_LINE(GPIOG, 12)
    222 #    define G13 PAL_LINE(GPIOG, 13)
    223 #    define G14 PAL_LINE(GPIOG, 14)
    224 #    define G15 PAL_LINE(GPIOG, 15)
    225 #    define H0 PAL_LINE(GPIOH, 0)
    226 #    define H1 PAL_LINE(GPIOH, 1)
    227 #    define H2 PAL_LINE(GPIOH, 2)
    228 #    define H3 PAL_LINE(GPIOH, 3)
    229 #    define H4 PAL_LINE(GPIOH, 4)
    230 #    define H5 PAL_LINE(GPIOH, 5)
    231 #    define H6 PAL_LINE(GPIOH, 6)
    232 #    define H7 PAL_LINE(GPIOH, 7)
    233 #    define H8 PAL_LINE(GPIOH, 8)
    234 #    define H9 PAL_LINE(GPIOH, 9)
    235 #    define H10 PAL_LINE(GPIOH, 10)
    236 #    define H11 PAL_LINE(GPIOH, 11)
    237 #    define H12 PAL_LINE(GPIOH, 12)
    238 #    define H13 PAL_LINE(GPIOH, 13)
    239 #    define H14 PAL_LINE(GPIOH, 14)
    240 #    define H15 PAL_LINE(GPIOH, 15)
    241 #    define I0 PAL_LINE(GPIOI, 0)
    242 #    define I1 PAL_LINE(GPIOI, 1)
    243 #    define I2 PAL_LINE(GPIOI, 2)
    244 #    define I3 PAL_LINE(GPIOI, 3)
    245 #    define I4 PAL_LINE(GPIOI, 4)
    246 #    define I5 PAL_LINE(GPIOI, 5)
    247 #    define I6 PAL_LINE(GPIOI, 6)
    248 #    define I7 PAL_LINE(GPIOI, 7)
    249 #    define I8 PAL_LINE(GPIOI, 8)
    250 #    define I9 PAL_LINE(GPIOI, 9)
    251 #    define I10 PAL_LINE(GPIOI, 10)
    252 #    define I11 PAL_LINE(GPIOI, 11)
    253 #    define I12 PAL_LINE(GPIOI, 12)
    254 #    define I13 PAL_LINE(GPIOI, 13)
    255 #    define I14 PAL_LINE(GPIOI, 14)
    256 #    define I15 PAL_LINE(GPIOI, 15)
    257 #    define J0 PAL_LINE(GPIOJ, 0)
    258 #    define J1 PAL_LINE(GPIOJ, 1)
    259 #    define J2 PAL_LINE(GPIOJ, 2)
    260 #    define J3 PAL_LINE(GPIOJ, 3)
    261 #    define J4 PAL_LINE(GPIOJ, 4)
    262 #    define J5 PAL_LINE(GPIOJ, 5)
    263 #    define J6 PAL_LINE(GPIOJ, 6)
    264 #    define J7 PAL_LINE(GPIOJ, 7)
    265 #    define J8 PAL_LINE(GPIOJ, 8)
    266 #    define J9 PAL_LINE(GPIOJ, 9)
    267 #    define J10 PAL_LINE(GPIOJ, 10)
    268 #    define J11 PAL_LINE(GPIOJ, 11)
    269 #    define J12 PAL_LINE(GPIOJ, 12)
    270 #    define J13 PAL_LINE(GPIOJ, 13)
    271 #    define J14 PAL_LINE(GPIOJ, 14)
    272 #    define J15 PAL_LINE(GPIOJ, 15)
    273 
    274 // Keyboards can `#define KEYBOARD_REQUIRES_GPIOK` if they need to access GPIO-K pins. These conflict with a whole
    275 // bunch of layout definitions, so it's intentionally left out unless absolutely required -- in that case, the
    276 // keyboard designer should use a different symbol when defining their layout macros.
    277 #    ifdef KEYBOARD_REQUIRES_GPIOK
    278 #        define K0 PAL_LINE(GPIOK, 0)
    279 #        define K1 PAL_LINE(GPIOK, 1)
    280 #        define K2 PAL_LINE(GPIOK, 2)
    281 #        define K3 PAL_LINE(GPIOK, 3)
    282 #        define K4 PAL_LINE(GPIOK, 4)
    283 #        define K5 PAL_LINE(GPIOK, 5)
    284 #        define K6 PAL_LINE(GPIOK, 6)
    285 #        define K7 PAL_LINE(GPIOK, 7)
    286 #        define K8 PAL_LINE(GPIOK, 8)
    287 #        define K9 PAL_LINE(GPIOK, 9)
    288 #        define K10 PAL_LINE(GPIOK, 10)
    289 #        define K11 PAL_LINE(GPIOK, 11)
    290 #        define K12 PAL_LINE(GPIOK, 12)
    291 #        define K13 PAL_LINE(GPIOK, 13)
    292 #        define K14 PAL_LINE(GPIOK, 14)
    293 #        define K15 PAL_LINE(GPIOK, 15)
    294 #    endif
    295 #endif