1 /* 2 * Copyright (c) 2019-2023, Intel Corporation. All rights reserved. 3 * Copyright (c) 2024, Altera Corporation. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef AGX5_PINMUX_H 9 #define AGX5_PINMUX_H 10 11 #include "socfpga_handoff.h" 12 13 /* PINMUX REGISTER ADDRESS */ 14 #define AGX5_PINMUX_PIN0SEL 0x10D13000 15 #define AGX5_PINMUX_IO0CTRL 0x10D13130 16 #define AGX5_PINMUX_EMAC0_USEFPGA 0x10D13300 17 #define AGX5_PINMUX_IO0_DELAY 0x10D13400 18 19 /* Macros */ 20 #define SOCFPGA_PINMUX_SEL_NAND (0x03) 21 #define SOCFPGA_PINMUX_PIN0SEL (0x00) 22 #define SOCFPGA_PINMUX_PIN1SEL (0x04) 23 #define SOCFPGA_PINMUX_PIN2SEL (0x08) 24 #define SOCFPGA_PINMUX_PIN3SEL (0x0C) 25 #define SOCFPGA_PINMUX_PIN4SEL (0x10) 26 #define SOCFPGA_PINMUX_PIN5SEL (0x14) 27 #define SOCFPGA_PINMUX_PIN6SEL (0x18) 28 #define SOCFPGA_PINMUX_PIN7SEL (0x1C) 29 #define SOCFPGA_PINMUX_PIN8SEL (0x20) 30 #define SOCFPGA_PINMUX_PIN9SEL (0x24) 31 #define SOCFPGA_PINMUX_PIN10SEL (0x28) 32 #define SOCFPGA_PINMUX_PIN11SEL (0x2C) 33 #define SOCFPGA_PINMUX_PIN12SEL (0x30) 34 #define SOCFPGA_PINMUX_PIN13SEL (0x34) 35 #define SOCFPGA_PINMUX_PIN14SEL (0x38) 36 #define SOCFPGA_PINMUX_PIN15SEL (0x3C) 37 #define SOCFPGA_PINMUX_PIN16SEL (0x40) 38 #define SOCFPGA_PINMUX_PIN17SEL (0x44) 39 #define SOCFPGA_PINMUX_PIN18SEL (0x48) 40 #define SOCFPGA_PINMUX_PIN19SEL (0x4C) 41 #define SOCFPGA_PINMUX_PIN20SEL (0x50) 42 #define SOCFPGA_PINMUX_PIN21SEL (0x54) 43 #define SOCFPGA_PINMUX_PIN22SEL (0x58) 44 #define SOCFPGA_PINMUX_PIN23SEL (0x5C) 45 #define SOCFPGA_PINMUX_PIN24SEL (0x60) 46 #define SOCFPGA_PINMUX_PIN25SEL (0x64) 47 #define SOCFPGA_PINMUX_PIN26SEL (0x68) 48 #define SOCFPGA_PINMUX_PIN27SEL (0x6C) 49 #define SOCFPGA_PINMUX_PIN28SEL (0x70) 50 #define SOCFPGA_PINMUX_PIN29SEL (0x74) 51 #define SOCFPGA_PINMUX_PIN30SEL (0x78) 52 #define SOCFPGA_PINMUX_PIN31SEL (0x7C) 53 #define SOCFPGA_PINMUX_PIN32SEL (0x80) 54 #define SOCFPGA_PINMUX_PIN33SEL (0x84) 55 #define SOCFPGA_PINMUX_PIN34SEL (0x88) 56 #define SOCFPGA_PINMUX_PIN35SEL (0x8C) 57 #define SOCFPGA_PINMUX_PIN36SEL (0x90) 58 #define SOCFPGA_PINMUX_PIN37SEL (0x94) 59 #define SOCFPGA_PINMUX_PIN38SEL (0x98) 60 #define SOCFPGA_PINMUX_PIN39SEL (0x9C) 61 #define SOCFPGA_PINMUX_PIN40SEL (0x100) 62 #define SOCFPGA_PINMUX_PIN41SEL (0x104) 63 #define SOCFPGA_PINMUX_PIN42SEL (0x108) 64 #define SOCFPGA_PINMUX_PIN43SEL (0x10C) 65 #define SOCFPGA_PINMUX_PIN44SEL (0x110) 66 #define SOCFPGA_PINMUX_PIN45SEL (0x114) 67 #define SOCFPGA_PINMUX_PIN46SEL (0x118) 68 #define SOCFPGA_PINMUX_PIN47SEL (0x11C) 69 70 #define SOCFPGA_PINMUX_IO0CTRL (0x00) 71 #define SOCFPGA_PINMUX_IO1CTRL (0x04) 72 #define SOCFPGA_PINMUX_IO2CTRL (0x08) 73 #define SOCFPGA_PINMUX_IO3CTRL (0x0C) 74 #define SOCFPGA_PINMUX_IO4CTRL (0x10) 75 #define SOCFPGA_PINMUX_IO5CTRL (0x14) 76 #define SOCFPGA_PINMUX_IO6CTRL (0x18) 77 #define SOCFPGA_PINMUX_IO7CTRL (0x1C) 78 #define SOCFPGA_PINMUX_IO8CTRL (0x20) 79 #define SOCFPGA_PINMUX_IO9CTRL (0x24) 80 #define SOCFPGA_PINMUX_IO10CTRL (0x28) 81 #define SOCFPGA_PINMUX_IO11CTRL (0x2C) 82 #define SOCFPGA_PINMUX_IO12CTRL (0x30) 83 #define SOCFPGA_PINMUX_IO13CTRL (0x34) 84 #define SOCFPGA_PINMUX_IO14CTRL (0x38) 85 #define SOCFPGA_PINMUX_IO15CTRL (0x3C) 86 #define SOCFPGA_PINMUX_IO16CTRL (0x40) 87 #define SOCFPGA_PINMUX_IO17CTRL (0x44) 88 #define SOCFPGA_PINMUX_IO18CTRL (0x48) 89 #define SOCFPGA_PINMUX_IO19CTRL (0x4C) 90 #define SOCFPGA_PINMUX_IO20CTRL (0x50) 91 #define SOCFPGA_PINMUX_IO21CTRL (0x54) 92 #define SOCFPGA_PINMUX_IO22CTRL (0x58) 93 #define SOCFPGA_PINMUX_IO23CTRL (0x5C) 94 #define SOCFPGA_PINMUX_IO24CTRL (0x60) 95 #define SOCFPGA_PINMUX_IO25CTRL (0x64) 96 #define SOCFPGA_PINMUX_IO26CTRL (0x68) 97 #define SOCFPGA_PINMUX_IO27CTRL (0x6C) 98 #define SOCFPGA_PINMUX_IO28CTRL (0xD0) 99 #define SOCFPGA_PINMUX_IO29CTRL (0xD4) 100 #define SOCFPGA_PINMUX_IO30CTRL (0xD8) 101 #define SOCFPGA_PINMUX_IO31CTRL (0xDC) 102 #define SOCFPGA_PINMUX_IO32CTRL (0xE0) 103 #define SOCFPGA_PINMUX_IO33CTRL (0xE4) 104 #define SOCFPGA_PINMUX_IO34CTRL (0xE8) 105 #define SOCFPGA_PINMUX_IO35CTRL (0xEC) 106 #define SOCFPGA_PINMUX_IO36CTRL (0xF0) 107 #define SOCFPGA_PINMUX_IO37CTRL (0xF4) 108 #define SOCFPGA_PINMUX_IO38CTRL (0xF8) 109 #define SOCFPGA_PINMUX_IO39CTRL (0xFC) 110 #define SOCFPGA_PINMUX_IO40CTRL (0x100) 111 #define SOCFPGA_PINMUX_IO41CTRL (0x104) 112 #define SOCFPGA_PINMUX_IO42CTRL (0x108) 113 #define SOCFPGA_PINMUX_IO43CTRL (0x10C) 114 #define SOCFPGA_PINMUX_IO44CTRL (0x110) 115 #define SOCFPGA_PINMUX_IO45CTRL (0x114) 116 #define SOCFPGA_PINMUX_IO46CTRL (0x118) 117 #define SOCFPGA_PINMUX_IO47CTRL (0x11C) 118 119 #define SOCFPGA_PINMUX_EMAC0_USEFPGA (0x00) 120 #define SOCFPGA_PINMUX_EMAC1_USEFPGA (0x04) 121 #define SOCFPGA_PINMUX_EMAC2_USEFPGA (0x08) 122 #define SOCFPGA_PINMUX_I2C0_USEFPGA (0x0C) 123 #define SOCFPGA_PINMUX_I2C1_USEFPGA (0x10) 124 #define SOCFPGA_PINMUX_I2C_EMAC0_USEFPGA (0x14) 125 #define SOCFPGA_PINMUX_I2C_EMAC1_USEFPGA (0x18) 126 #define SOCFPGA_PINMUX_I2C_EMAC2_USEFPGA (0x1C) 127 #define SOCFPGA_PINMUX_NAND_USEFPGA (0x20) 128 #define SOCFPGA_PINMUX_SPIM0_USEFPGA (0x28) 129 #define SOCFPGA_PINMUX_SPIM1_USEFPGA (0x2C) 130 #define SOCFPGA_PINMUX_SPIS0_USEFPGA (0x30) 131 #define SOCFPGA_PINMUX_SPIS1_USEFPGA (0x34) 132 #define SOCFPGA_PINMUX_UART0_USEFPGA (0x38) 133 #define SOCFPGA_PINMUX_UART1_USEFPGA (0x3C) 134 #define SOCFPGA_PINMUX_MDIO0_USEFPGA (0x40) 135 #define SOCFPGA_PINMUX_MDIO1_USEFPGA (0x44) 136 #define SOCFPGA_PINMUX_MDIO2_USEFPGA (0x48) 137 #define SOCFPGA_PINMUX_JTAG_USEFPGA (0x50) 138 #define SOCFPGA_PINMUX_SDMMC_USEFPGA (0x54) 139 140 #define SOCFPGA_PINUMX_USEFPGA(_reg) (AGX5_PINMUX_EMAC0_USEFPGA \ 141 + SOCFPGA_PINMUX_##_reg) 142 143 #define SOCFPGA_PINMUX_IO0DELAY (0x00) 144 #define SOCFPGA_PINMUX_IO1DELAY (0x04) 145 #define SOCFPGA_PINMUX_IO2DELAY (0x08) 146 #define SOCFPGA_PINMUX_IO3DELAY (0x0C) 147 #define SOCFPGA_PINMUX_IO4DELAY (0x10) 148 #define SOCFPGA_PINMUX_IO5DELAY (0x14) 149 #define SOCFPGA_PINMUX_IO6DELAY (0x18) 150 #define SOCFPGA_PINMUX_IO7DELAY (0x1C) 151 #define SOCFPGA_PINMUX_IO8DELAY (0x20) 152 #define SOCFPGA_PINMUX_IO9DELAY (0x24) 153 #define SOCFPGA_PINMUX_IO10DELAY (0x28) 154 #define SOCFPGA_PINMUX_IO11DELAY (0x2C) 155 #define SOCFPGA_PINMUX_IO12DELAY (0x30) 156 #define SOCFPGA_PINMUX_IO13DELAY (0x34) 157 #define SOCFPGA_PINMUX_IO14DELAY (0x38) 158 #define SOCFPGA_PINMUX_IO15DELAY (0x3C) 159 #define SOCFPGA_PINMUX_IO16DELAY (0x40) 160 #define SOCFPGA_PINMUX_IO17DELAY (0x44) 161 #define SOCFPGA_PINMUX_IO18DELAY (0x48) 162 #define SOCFPGA_PINMUX_IO19DELAY (0x4C) 163 #define SOCFPGA_PINMUX_IO20DELAY (0x50) 164 #define SOCFPGA_PINMUX_IO21DELAY (0x54) 165 #define SOCFPGA_PINMUX_IO22DELAY (0x58) 166 #define SOCFPGA_PINMUX_IO23DELAY (0x5C) 167 #define SOCFPGA_PINMUX_IO24DELAY (0x60) 168 #define SOCFPGA_PINMUX_IO25DELAY (0x64) 169 #define SOCFPGA_PINMUX_IO26DELAY (0x68) 170 #define SOCFPGA_PINMUX_IO27DELAY (0x6C) 171 #define SOCFPGA_PINMUX_IO28DELAY (0x70) 172 #define SOCFPGA_PINMUX_IO29DELAY (0x74) 173 #define SOCFPGA_PINMUX_IO30DELAY (0x78) 174 #define SOCFPGA_PINMUX_IO31DELAY (0x7C) 175 #define SOCFPGA_PINMUX_IO32DELAY (0x80) 176 #define SOCFPGA_PINMUX_IO33DELAY (0x84) 177 #define SOCFPGA_PINMUX_IO34DELAY (0x88) 178 #define SOCFPGA_PINMUX_IO35DELAY (0x8C) 179 #define SOCFPGA_PINMUX_IO36DELAY (0x90) 180 #define SOCFPGA_PINMUX_IO37DELAY (0x94) 181 #define SOCFPGA_PINMUX_IO38DELAY (0x98) 182 #define SOCFPGA_PINMUX_IO39DELAY (0x9C) 183 #define SOCFPGA_PINMUX_IO40DELAY (0xA0) 184 #define SOCFPGA_PINMUX_IO41DELAY (0xA4) 185 #define SOCFPGA_PINMUX_IO42DELAY (0xA8) 186 #define SOCFPGA_PINMUX_IO43DELAY (0xAC) 187 #define SOCFPGA_PINMUX_IO44DELAY (0xB0) 188 #define SOCFPGA_PINMUX_IO45DELAY (0xB4) 189 #define SOCFPGA_PINMUX_IO46DELAY (0xB8) 190 #define SOCFPGA_PINMUX_IO47DELAY (0xBC) 191 192 #define SOCFPGA_PINMUX_I3C0_USEFPGA (0xC0) 193 #define SOCFPGA_PINMUX_I3C1_USEFPGA (0xC4) 194 195 #define SOCFPGA_PINMUX(_reg) (SOCFPGA_PINMUX_REG_BASE \ 196 + (SOCFPGA_PINMUX_##_reg)) 197 198 void config_pinmux(handoff *handoff); 199 #endif 200