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