1601fbec7SMasahiro Yamada /* 2601fbec7SMasahiro Yamada * Pinmux configurations for the DA830 SoCs 3601fbec7SMasahiro Yamada * 4601fbec7SMasahiro Yamada * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ 5601fbec7SMasahiro Yamada * 6601fbec7SMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 7601fbec7SMasahiro Yamada */ 8601fbec7SMasahiro Yamada 9601fbec7SMasahiro Yamada #include <common.h> 10601fbec7SMasahiro Yamada #include <asm/arch/davinci_misc.h> 11601fbec7SMasahiro Yamada #include <asm/arch/hardware.h> 12601fbec7SMasahiro Yamada #include <asm/arch/pinmux_defs.h> 13601fbec7SMasahiro Yamada 14601fbec7SMasahiro Yamada /* SPI0 pin muxer settings */ 15601fbec7SMasahiro Yamada const struct pinmux_config spi0_pins_base[] = { 16601fbec7SMasahiro Yamada { pinmux(7), 1, 3 }, /* SPI0_SOMI */ 17601fbec7SMasahiro Yamada { pinmux(7), 1, 4 }, /* SPI0_SIMO */ 18601fbec7SMasahiro Yamada { pinmux(7), 1, 6 } /* SPI0_CLK */ 19601fbec7SMasahiro Yamada }; 20601fbec7SMasahiro Yamada 21601fbec7SMasahiro Yamada const struct pinmux_config spi0_pins_scs0[] = { 22601fbec7SMasahiro Yamada { pinmux(7), 1, 7 } /* SPI0_SCS[0] */ 23601fbec7SMasahiro Yamada }; 24601fbec7SMasahiro Yamada 25601fbec7SMasahiro Yamada const struct pinmux_config spi0_pins_ena[] = { 26601fbec7SMasahiro Yamada { pinmux(7), 1, 5 } /* SPI0_ENA */ 27601fbec7SMasahiro Yamada }; 28601fbec7SMasahiro Yamada 29601fbec7SMasahiro Yamada /* NAND pin muxer settings */ 30601fbec7SMasahiro Yamada const struct pinmux_config emifa_pins_cs0[] = { 31601fbec7SMasahiro Yamada { pinmux(18), 1, 2 } /* EMA_CS[0] */ 32601fbec7SMasahiro Yamada }; 33601fbec7SMasahiro Yamada 34601fbec7SMasahiro Yamada const struct pinmux_config emifa_pins_cs2[] = { 35601fbec7SMasahiro Yamada { pinmux(18), 1, 3 } /* EMA_CS[2] */ 36601fbec7SMasahiro Yamada }; 37601fbec7SMasahiro Yamada 38601fbec7SMasahiro Yamada const struct pinmux_config emifa_pins_cs3[] = { 39601fbec7SMasahiro Yamada { pinmux(18), 1, 4 } /* EMA_CS[3] */ 40601fbec7SMasahiro Yamada }; 41601fbec7SMasahiro Yamada 42601fbec7SMasahiro Yamada #ifdef CONFIG_USE_NAND 43601fbec7SMasahiro Yamada const struct pinmux_config emifa_pins[] = { 44601fbec7SMasahiro Yamada { pinmux(13), 1, 6 }, /* EMA_D[0] */ 45601fbec7SMasahiro Yamada { pinmux(13), 1, 7 }, /* EMA_D[1] */ 46601fbec7SMasahiro Yamada { pinmux(14), 1, 0 }, /* EMA_D[2] */ 47601fbec7SMasahiro Yamada { pinmux(14), 1, 1 }, /* EMA_D[3] */ 48601fbec7SMasahiro Yamada { pinmux(14), 1, 2 }, /* EMA_D[4] */ 49601fbec7SMasahiro Yamada { pinmux(14), 1, 3 }, /* EMA_D[5] */ 50601fbec7SMasahiro Yamada { pinmux(14), 1, 4 }, /* EMA_D[6] */ 51601fbec7SMasahiro Yamada { pinmux(14), 1, 5 }, /* EMA_D[7] */ 52601fbec7SMasahiro Yamada { pinmux(14), 1, 6 }, /* EMA_D[8] */ 53601fbec7SMasahiro Yamada { pinmux(14), 1, 7 }, /* EMA_D[9] */ 54601fbec7SMasahiro Yamada { pinmux(15), 1, 0 }, /* EMA_D[10] */ 55601fbec7SMasahiro Yamada { pinmux(15), 1, 1 }, /* EMA_D[11] */ 56601fbec7SMasahiro Yamada { pinmux(15), 1, 2 }, /* EMA_D[12] */ 57601fbec7SMasahiro Yamada { pinmux(15), 1, 3 }, /* EMA_D[13] */ 58601fbec7SMasahiro Yamada { pinmux(15), 1, 4 }, /* EMA_D[14] */ 59601fbec7SMasahiro Yamada { pinmux(15), 1, 5 }, /* EMA_D[15] */ 60601fbec7SMasahiro Yamada { pinmux(15), 1, 6 }, /* EMA_A[0] */ 61601fbec7SMasahiro Yamada { pinmux(15), 1, 7 }, /* EMA_A[1] */ 62601fbec7SMasahiro Yamada { pinmux(16), 1, 0 }, /* EMA_A[2] */ 63601fbec7SMasahiro Yamada { pinmux(16), 1, 1 }, /* EMA_A[3] */ 64601fbec7SMasahiro Yamada { pinmux(16), 1, 2 }, /* EMA_A[4] */ 65601fbec7SMasahiro Yamada { pinmux(16), 1, 3 }, /* EMA_A[5] */ 66601fbec7SMasahiro Yamada { pinmux(16), 1, 4 }, /* EMA_A[6] */ 67601fbec7SMasahiro Yamada { pinmux(16), 1, 5 }, /* EMA_A[7] */ 68601fbec7SMasahiro Yamada { pinmux(16), 1, 6 }, /* EMA_A[8] */ 69601fbec7SMasahiro Yamada { pinmux(16), 1, 7 }, /* EMA_A[9] */ 70601fbec7SMasahiro Yamada { pinmux(17), 1, 0 }, /* EMA_A[10] */ 71601fbec7SMasahiro Yamada { pinmux(17), 1, 1 }, /* EMA_A[11] */ 72601fbec7SMasahiro Yamada { pinmux(17), 1, 2 }, /* EMA_A[12] */ 73601fbec7SMasahiro Yamada { pinmux(17), 1, 3 }, /* EMA_BA[1] */ 74601fbec7SMasahiro Yamada { pinmux(17), 1, 4 }, /* EMA_BA[0] */ 75601fbec7SMasahiro Yamada { pinmux(17), 1, 5 }, /* EMA_CLK */ 76601fbec7SMasahiro Yamada { pinmux(17), 1, 6 }, /* EMA_SDCKE */ 77601fbec7SMasahiro Yamada { pinmux(17), 1, 7 }, /* EMA_CAS */ 78601fbec7SMasahiro Yamada { pinmux(18), 1, 0 }, /* EMA_CAS */ 79601fbec7SMasahiro Yamada { pinmux(18), 1, 1 }, /* EMA_WE */ 80601fbec7SMasahiro Yamada { pinmux(18), 1, 5 }, /* EMA_OE */ 81601fbec7SMasahiro Yamada { pinmux(18), 1, 6 }, /* EMA_WE_DQM[1] */ 82601fbec7SMasahiro Yamada { pinmux(18), 1, 7 }, /* EMA_WE_DQM[0] */ 83601fbec7SMasahiro Yamada { pinmux(10), 1, 0 } /* Tristate */ 84601fbec7SMasahiro Yamada }; 85601fbec7SMasahiro Yamada #endif 86601fbec7SMasahiro Yamada 87601fbec7SMasahiro Yamada /* EMAC PHY interface pins */ 88601fbec7SMasahiro Yamada const struct pinmux_config emac_pins_rmii[] = { 89601fbec7SMasahiro Yamada { pinmux(10), 2, 1 }, /* RMII_TXD[0] */ 90601fbec7SMasahiro Yamada { pinmux(10), 2, 2 }, /* RMII_TXD[1] */ 91601fbec7SMasahiro Yamada { pinmux(10), 2, 3 }, /* RMII_TXEN */ 92601fbec7SMasahiro Yamada { pinmux(10), 2, 4 }, /* RMII_CRS_DV */ 93601fbec7SMasahiro Yamada { pinmux(10), 2, 5 }, /* RMII_RXD[0] */ 94601fbec7SMasahiro Yamada { pinmux(10), 2, 6 }, /* RMII_RXD[1] */ 95601fbec7SMasahiro Yamada { pinmux(10), 2, 7 } /* RMII_RXER */ 96601fbec7SMasahiro Yamada }; 97601fbec7SMasahiro Yamada 98601fbec7SMasahiro Yamada const struct pinmux_config emac_pins_mdio[] = { 99601fbec7SMasahiro Yamada { pinmux(11), 2, 0 }, /* MDIO_CLK */ 100601fbec7SMasahiro Yamada { pinmux(11), 2, 1 } /* MDIO_D */ 101601fbec7SMasahiro Yamada }; 102601fbec7SMasahiro Yamada 103601fbec7SMasahiro Yamada const struct pinmux_config emac_pins_rmii_clk_source[] = { 104601fbec7SMasahiro Yamada { pinmux(9), 0, 5 } /* ref.clk from external source */ 105601fbec7SMasahiro Yamada }; 106601fbec7SMasahiro Yamada 107601fbec7SMasahiro Yamada /* UART2 pin muxer settings */ 108601fbec7SMasahiro Yamada const struct pinmux_config uart2_pins_txrx[] = { 109601fbec7SMasahiro Yamada { pinmux(8), 2, 7 }, /* UART2_RXD */ 110601fbec7SMasahiro Yamada { pinmux(9), 2, 0 } /* UART2_TXD */ 111601fbec7SMasahiro Yamada }; 112601fbec7SMasahiro Yamada 113601fbec7SMasahiro Yamada /* I2C0 pin muxer settings */ 114601fbec7SMasahiro Yamada const struct pinmux_config i2c0_pins[] = { 115601fbec7SMasahiro Yamada { pinmux(8), 2, 3 }, /* I2C0_SDA */ 116601fbec7SMasahiro Yamada { pinmux(8), 2, 4 } /* I2C0_SCL */ 117601fbec7SMasahiro Yamada }; 118601fbec7SMasahiro Yamada 119601fbec7SMasahiro Yamada /* USB0_DRVVBUS pin muxer settings */ 120601fbec7SMasahiro Yamada const struct pinmux_config usb_pins[] = { 121601fbec7SMasahiro Yamada { pinmux(9), 1, 1 } /* USB0_DRVVBUS */ 122601fbec7SMasahiro Yamada }; 123601fbec7SMasahiro Yamada 124*1d2c0506SMasahiro Yamada #ifdef CONFIG_MMC_DAVINCI 125601fbec7SMasahiro Yamada /* MMC0 pin muxer settings */ 126601fbec7SMasahiro Yamada const struct pinmux_config mmc0_pins_8bit[] = { 127601fbec7SMasahiro Yamada { pinmux(15), 2, 7 }, /* MMCSD0_CLK */ 128601fbec7SMasahiro Yamada { pinmux(16), 2, 0 }, /* MMCSD0_CMD */ 129601fbec7SMasahiro Yamada { pinmux(13), 2, 6 }, /* MMCSD0_DAT_0 */ 130601fbec7SMasahiro Yamada { pinmux(13), 2, 7 }, /* MMCSD0_DAT_1 */ 131601fbec7SMasahiro Yamada { pinmux(14), 2, 0 }, /* MMCSD0_DAT_2 */ 132601fbec7SMasahiro Yamada { pinmux(14), 2, 1 }, /* MMCSD0_DAT_3 */ 133601fbec7SMasahiro Yamada { pinmux(14), 2, 2 }, /* MMCSD0_DAT_4 */ 134601fbec7SMasahiro Yamada { pinmux(14), 2, 3 }, /* MMCSD0_DAT_5 */ 135601fbec7SMasahiro Yamada { pinmux(14), 2, 4 }, /* MMCSD0_DAT_6 */ 136601fbec7SMasahiro Yamada { pinmux(14), 2, 5 } /* MMCSD0_DAT_7 */ 137601fbec7SMasahiro Yamada /* DA830 supports 8-bit mode */ 138601fbec7SMasahiro Yamada }; 139601fbec7SMasahiro Yamada #endif 140