1 /* 2 * Pinmux configurations for the DA830 SoCs 3 * 4 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ 5 * 6 * SPDX-License-Identifier: GPL-2.0+ 7 */ 8 9 #include <common.h> 10 #include <asm/arch/davinci_misc.h> 11 #include <asm/arch/hardware.h> 12 #include <asm/arch/pinmux_defs.h> 13 14 /* SPI0 pin muxer settings */ 15 const struct pinmux_config spi0_pins_base[] = { 16 { pinmux(7), 1, 3 }, /* SPI0_SOMI */ 17 { pinmux(7), 1, 4 }, /* SPI0_SIMO */ 18 { pinmux(7), 1, 6 } /* SPI0_CLK */ 19 }; 20 21 const struct pinmux_config spi0_pins_scs0[] = { 22 { pinmux(7), 1, 7 } /* SPI0_SCS[0] */ 23 }; 24 25 const struct pinmux_config spi0_pins_ena[] = { 26 { pinmux(7), 1, 5 } /* SPI0_ENA */ 27 }; 28 29 /* NAND pin muxer settings */ 30 const struct pinmux_config emifa_pins_cs0[] = { 31 { pinmux(18), 1, 2 } /* EMA_CS[0] */ 32 }; 33 34 const struct pinmux_config emifa_pins_cs2[] = { 35 { pinmux(18), 1, 3 } /* EMA_CS[2] */ 36 }; 37 38 const struct pinmux_config emifa_pins_cs3[] = { 39 { pinmux(18), 1, 4 } /* EMA_CS[3] */ 40 }; 41 42 #ifdef CONFIG_USE_NAND 43 const struct pinmux_config emifa_pins[] = { 44 { pinmux(13), 1, 6 }, /* EMA_D[0] */ 45 { pinmux(13), 1, 7 }, /* EMA_D[1] */ 46 { pinmux(14), 1, 0 }, /* EMA_D[2] */ 47 { pinmux(14), 1, 1 }, /* EMA_D[3] */ 48 { pinmux(14), 1, 2 }, /* EMA_D[4] */ 49 { pinmux(14), 1, 3 }, /* EMA_D[5] */ 50 { pinmux(14), 1, 4 }, /* EMA_D[6] */ 51 { pinmux(14), 1, 5 }, /* EMA_D[7] */ 52 { pinmux(14), 1, 6 }, /* EMA_D[8] */ 53 { pinmux(14), 1, 7 }, /* EMA_D[9] */ 54 { pinmux(15), 1, 0 }, /* EMA_D[10] */ 55 { pinmux(15), 1, 1 }, /* EMA_D[11] */ 56 { pinmux(15), 1, 2 }, /* EMA_D[12] */ 57 { pinmux(15), 1, 3 }, /* EMA_D[13] */ 58 { pinmux(15), 1, 4 }, /* EMA_D[14] */ 59 { pinmux(15), 1, 5 }, /* EMA_D[15] */ 60 { pinmux(15), 1, 6 }, /* EMA_A[0] */ 61 { pinmux(15), 1, 7 }, /* EMA_A[1] */ 62 { pinmux(16), 1, 0 }, /* EMA_A[2] */ 63 { pinmux(16), 1, 1 }, /* EMA_A[3] */ 64 { pinmux(16), 1, 2 }, /* EMA_A[4] */ 65 { pinmux(16), 1, 3 }, /* EMA_A[5] */ 66 { pinmux(16), 1, 4 }, /* EMA_A[6] */ 67 { pinmux(16), 1, 5 }, /* EMA_A[7] */ 68 { pinmux(16), 1, 6 }, /* EMA_A[8] */ 69 { pinmux(16), 1, 7 }, /* EMA_A[9] */ 70 { pinmux(17), 1, 0 }, /* EMA_A[10] */ 71 { pinmux(17), 1, 1 }, /* EMA_A[11] */ 72 { pinmux(17), 1, 2 }, /* EMA_A[12] */ 73 { pinmux(17), 1, 3 }, /* EMA_BA[1] */ 74 { pinmux(17), 1, 4 }, /* EMA_BA[0] */ 75 { pinmux(17), 1, 5 }, /* EMA_CLK */ 76 { pinmux(17), 1, 6 }, /* EMA_SDCKE */ 77 { pinmux(17), 1, 7 }, /* EMA_CAS */ 78 { pinmux(18), 1, 0 }, /* EMA_CAS */ 79 { pinmux(18), 1, 1 }, /* EMA_WE */ 80 { pinmux(18), 1, 5 }, /* EMA_OE */ 81 { pinmux(18), 1, 6 }, /* EMA_WE_DQM[1] */ 82 { pinmux(18), 1, 7 }, /* EMA_WE_DQM[0] */ 83 { pinmux(10), 1, 0 } /* Tristate */ 84 }; 85 #endif 86 87 /* EMAC PHY interface pins */ 88 const struct pinmux_config emac_pins_rmii[] = { 89 { pinmux(10), 2, 1 }, /* RMII_TXD[0] */ 90 { pinmux(10), 2, 2 }, /* RMII_TXD[1] */ 91 { pinmux(10), 2, 3 }, /* RMII_TXEN */ 92 { pinmux(10), 2, 4 }, /* RMII_CRS_DV */ 93 { pinmux(10), 2, 5 }, /* RMII_RXD[0] */ 94 { pinmux(10), 2, 6 }, /* RMII_RXD[1] */ 95 { pinmux(10), 2, 7 } /* RMII_RXER */ 96 }; 97 98 const struct pinmux_config emac_pins_mdio[] = { 99 { pinmux(11), 2, 0 }, /* MDIO_CLK */ 100 { pinmux(11), 2, 1 } /* MDIO_D */ 101 }; 102 103 const struct pinmux_config emac_pins_rmii_clk_source[] = { 104 { pinmux(9), 0, 5 } /* ref.clk from external source */ 105 }; 106 107 /* UART2 pin muxer settings */ 108 const struct pinmux_config uart2_pins_txrx[] = { 109 { pinmux(8), 2, 7 }, /* UART2_RXD */ 110 { pinmux(9), 2, 0 } /* UART2_TXD */ 111 }; 112 113 /* I2C0 pin muxer settings */ 114 const struct pinmux_config i2c0_pins[] = { 115 { pinmux(8), 2, 3 }, /* I2C0_SDA */ 116 { pinmux(8), 2, 4 } /* I2C0_SCL */ 117 }; 118 119 /* USB0_DRVVBUS pin muxer settings */ 120 const struct pinmux_config usb_pins[] = { 121 { pinmux(9), 1, 1 } /* USB0_DRVVBUS */ 122 }; 123 124 #ifdef CONFIG_MMC_DAVINCI 125 /* MMC0 pin muxer settings */ 126 const struct pinmux_config mmc0_pins_8bit[] = { 127 { pinmux(15), 2, 7 }, /* MMCSD0_CLK */ 128 { pinmux(16), 2, 0 }, /* MMCSD0_CMD */ 129 { pinmux(13), 2, 6 }, /* MMCSD0_DAT_0 */ 130 { pinmux(13), 2, 7 }, /* MMCSD0_DAT_1 */ 131 { pinmux(14), 2, 0 }, /* MMCSD0_DAT_2 */ 132 { pinmux(14), 2, 1 }, /* MMCSD0_DAT_3 */ 133 { pinmux(14), 2, 2 }, /* MMCSD0_DAT_4 */ 134 { pinmux(14), 2, 3 }, /* MMCSD0_DAT_5 */ 135 { pinmux(14), 2, 4 }, /* MMCSD0_DAT_6 */ 136 { pinmux(14), 2, 5 } /* MMCSD0_DAT_7 */ 137 /* DA830 supports 8-bit mode */ 138 }; 139 #endif 140