This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3359: SPI 1 Pin Mux Cloud Tool Conflict

Part Number: AM3359

Hello,

I am using the TI Pin Mux tool for generating the device tree file.

I have configured the UART0, 1 and 2 as well as SPI0.

But when i am assigning the SP1 pins, I am getting Pin conflict error for spi1_sclk_mux1  (SPI1-SCLK) and spi1_d0_mux2 (SPI1-MISO) pins.

Why this error is showing ? I have not used any Multiple Pins up to now.

Processor : AM3359

UART AM3359 Pins Signal Name Mux Mode
X_UART0_TXD E16 uart0_txd Mode 0
X_UART0_RXD E15 uart0_rxd
X_UART1_TXD/_P_UART0_TXD D15 uart1_txd Mode 0
X_UART1_RXD/_P_UART0_RXD D16 uart1_rxd
X_UART2_TX L18 uart2_txd_mux0 Mode 1
X_UART2_RX K18 uart2_rxd_mux0
SPI
X_SPIO0_SCLK A17 spi0_sclk (SPI0-SCLK) Mode 0
X_MMC0_SDCD C15 spi0_cs1 (SPI0-CS1)
X_SPI0_D0 B17 spi0_d0 (SPI0-MISO)
X_SPI0_D1 B16 spi0_d1 (SPI0-MOSI)
X_MII1_COL/MCASP1_AXR2 H16 spi1_sclk_mux1 (SPI1-SCLK) Mode 2
X_MCASP0_FSX B13 spi1_d0_mux2 (SPI1-MISO) Mode 3
X_GPIO1_9 E17 spi1_d1_mux0 (SPI1-MOSI) Mode 4
X_UART1_CTS D18 spi1_cs0_mux0 (SPI1-CS0) Mode 4

Best regards

Mobin P K

  • Which version of the Pinmux tool is this? Please post the data file.
  • Hello,

    I am directly using the cloud tool from the following Path

    Path: https://dev.ti.com/

    What you mean by data file ? is it generated device tree file (.dtsi) ?

    I have attached the Screen shot of error file.

    thanks
    Mobin P K

  • Please post the pinmux file saved from the tool. I cannot work with screenshots.
  • Sir,

    Kindly find the Pin Mux file saved from the Tool.

    am335x_pinmux_data.c
    /**
     * Note: This file was auto-generated by TI PinMux on 10/31/2018 at 5:54:08 PM.
     *
     * \file  am335x_pinmux_data.c
     *
     * \brief  This file contains the pin mux configurations for the boards.
     *         These are prepared based on how the peripherals are extended on
     *         the boards.
     *
     * \copyright Copyright (CU) 2018 Texas Instruments Incorporated -
     *             http://www.ti.com/
     */
    
    /* ========================================================================== */
    /*                             Include Files                                  */
    /* ========================================================================== */
    #include "types.h"
    #include "pinmux.h"
    #include "am335x_pinmux.h"
    
    /** Peripheral Pin Configurations */
    
    #ifndef BUILDCFG_MOD_GPMC
    #define BUILDCFG_MOD_GPMC
    #endif /* BUILDCFG_MOD_GPMC */
    
    #ifndef BUILDCFG_MOD_I2C
    #define BUILDCFG_MOD_I2C
    #endif /* BUILDCFG_MOD_I2C */
    
    #ifndef BUILDCFG_MOD_MCSPI
    #define BUILDCFG_MOD_MCSPI
    #endif /* BUILDCFG_MOD_MCSPI */
    
    #ifndef BUILDCFG_MOD_UART
    #define BUILDCFG_MOD_UART
    #endif /* BUILDCFG_MOD_UART */
    
    
    #if defined(BUILDCFG_MOD_GPMC)
    
    static pinmuxPerCfg_t gGpmc0PinCfg[] =
    {
        {
           /* MyGPMC1 -> gpmc_ad15 -> U13 */
           PIN_GPMC_AD15, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad14 -> V13 */
           PIN_GPMC_AD14, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad13 -> R12 */
           PIN_GPMC_AD13, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad12 -> T12 */
           PIN_GPMC_AD12, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad11 -> U12 */
           PIN_GPMC_AD11, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad10 -> T11 */
           PIN_GPMC_AD10, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad9 -> T10 */
           PIN_GPMC_AD9, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad8 -> U10 */
           PIN_GPMC_AD8, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad7 -> T9 */
           PIN_GPMC_AD7, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad6 -> R9 */
           PIN_GPMC_AD6, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad5 -> V8 */
           PIN_GPMC_AD5, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad4 -> U8 */
           PIN_GPMC_AD4, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad3 -> T8 */
           PIN_GPMC_AD3, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad2 -> R8 */
           PIN_GPMC_AD2, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad1 -> V7 */
           PIN_GPMC_AD1, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_ad0 -> U7 */
           PIN_GPMC_AD0, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_wait0 -> T17 */
           PIN_GPMC_WAIT0, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_be1n -> U18 */
           PIN_GPMC_BE1N, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN) & (~PIN_PULL_TYPE_SEL & ~PIN_RX_ACTIVE)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_oen_ren -> T7 */
           PIN_GPMC_OEN_REN, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN) & (~PIN_PULL_TYPE_SEL & ~PIN_RX_ACTIVE)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_wen -> U6 */
           PIN_GPMC_WEN, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN) & (~PIN_PULL_TYPE_SEL & ~PIN_RX_ACTIVE)) \
           ) \
        },
        {
           /* MyGPMC1 -> gpmc_csn3 -> T13 */
           PIN_GPMC_CSN3, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN) & (~PIN_PULL_TYPE_SEL & ~PIN_RX_ACTIVE)) \
           ) \
        },
        {PINMUX_INVALID_PIN}
    };
    
    static pinmuxModuleCfg_t gGpmcPinCfg[] =
    {
        {0, TRUE, gGpmc0PinCfg},
        {CHIPDB_INVALID_INSTANCE_NUM}
    };
    
    #endif /* if defined(BUILDCFG_MOD_GPMC) */
    
    #if defined(BUILDCFG_MOD_I2C)
    
    static pinmuxPerCfg_t gI2c0PinCfg[] =
    {
        {
           /* MyI2C0 -> I2C0_SCL -> C16 */
           PIN_I2C0_SCL, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MyI2C0 -> I2C0_SDA -> C17 */
           PIN_I2C0_SDA, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {PINMUX_INVALID_PIN}
    };
    
    static pinmuxModuleCfg_t gI2cPinCfg[] =
    {
        {0, TRUE, gI2c0PinCfg},
        {CHIPDB_INVALID_INSTANCE_NUM}
    };
    
    #endif /* if defined(BUILDCFG_MOD_I2C) */
    
    #if defined(BUILDCFG_MOD_MCSPI)
    
    static pinmuxPerCfg_t gMcspi0PinCfg[] =
    {
        {
           /* MySPI0 -> spi0_sclk -> A17 */
           PIN_SPI0_SCLK, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_RX_ACTIVE) & (~PIN_PULL_UD_EN & ~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MySPI0 -> spi0_d0 -> B17 */
           PIN_SPI0_D0, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_RX_ACTIVE) & (~PIN_PULL_UD_EN & ~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MySPI0 -> spi0_d1 -> B16 */
           PIN_SPI0_D1, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_TYPE_SEL | PIN_RX_ACTIVE) & (~PIN_PULL_UD_EN)) \
           ) \
        },
        {
           /* MySPI0 -> spi0_cs1 -> C15 */
           PIN_SPI0_CS1, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_TYPE_SEL | PIN_RX_ACTIVE) & (~PIN_PULL_UD_EN)) \
           ) \
        },
        {PINMUX_INVALID_PIN}
    };
    
    static pinmuxPerCfg_t gMcspi1PinCfg[] =
    {
        {
           /* MySPI1 -> spi1_d1 -> E17 */
           PIN_UART0_RTSN, 0, \
           ( \
               PIN_MODE(4) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {
           /* MySPI1 -> spi1_cs0 -> D18 */
           PIN_UART1_CTSN, 0, \
           ( \
               PIN_MODE(4) | \
               ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \
           ) \
        },
        {PINMUX_INVALID_PIN}
    };
    
    static pinmuxModuleCfg_t gMcspiPinCfg[] =
    {
        {0, TRUE, gMcspi0PinCfg},
        {1, TRUE, gMcspi1PinCfg},
        {CHIPDB_INVALID_INSTANCE_NUM}
    };
    
    #endif /* if defined(BUILDCFG_MOD_MCSPI) */
    
    #if defined(BUILDCFG_MOD_UART)
    
    static pinmuxPerCfg_t gUart0PinCfg[] =
    {
        {
           /* MyUART0 -> uart0_rxd -> E15 */
           PIN_UART0_RXD, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_TYPE_SEL | PIN_RX_ACTIVE) & (~PIN_PULL_UD_EN)) \
           ) \
        },
        {
           /* MyUART0 -> uart0_txd -> E16 */
           PIN_UART0_TXD, 0, \
           ( \
               PIN_MODE(0) | \
               ((0x38) & (~PIN_PULL_UD_EN & ~PIN_PULL_TYPE_SEL & ~PIN_RX_ACTIVE)) \
           ) \
        },
        {PINMUX_INVALID_PIN}
    };
    
    static pinmuxPerCfg_t gUart1PinCfg[] =
    {
        {
           /* MyUART1 -> uart1_rxd -> D16 */
           PIN_UART1_RXD, 0, \
           ( \
               PIN_MODE(0) | \
               ((PIN_PULL_TYPE_SEL | PIN_RX_ACTIVE) & (~PIN_PULL_UD_EN)) \
           ) \
        },
        {
           /* MyUART1 -> uart1_txd -> D15 */
           PIN_UART1_TXD, 0, \
           ( \
               PIN_MODE(0) | \
               ((0x38) & (~PIN_PULL_UD_EN & ~PIN_PULL_TYPE_SEL & ~PIN_RX_ACTIVE)) \
           ) \
        },
        {PINMUX_INVALID_PIN}
    };
    
    static pinmuxPerCfg_t gUart2PinCfg[] =
    {
        {
           /* MyUART2 -> uart2_rxd -> K18 */
           PIN_GMII1_TXCLK, 0, \
           ( \
               PIN_MODE(1) | \
               ((PIN_PULL_TYPE_SEL | PIN_RX_ACTIVE) & (~PIN_PULL_UD_EN)) \
           ) \
        },
        {
           /* MyUART2 -> uart2_txd -> L18 */
           PIN_GMII1_RXCLK, 0, \
           ( \
               PIN_MODE(1) | \
               ((0x38) & (~PIN_PULL_UD_EN & ~PIN_PULL_TYPE_SEL & ~PIN_RX_ACTIVE)) \
           ) \
        },
        {PINMUX_INVALID_PIN}
    };
    
    static pinmuxModuleCfg_t gUartPinCfg[] =
    {
        {0, TRUE, gUart0PinCfg},
        {1, TRUE, gUart1PinCfg},
        {2, TRUE, gUart2PinCfg},
        {CHIPDB_INVALID_INSTANCE_NUM}
    };
    
    #endif /* if defined(BUILDCFG_MOD_UART) */
    
    
    pinmuxBoardCfg_t gAM335xPinmuxData[] =
    {
    #if defined(BUILDCFG_MOD_GPMC)
        {CHIPDB_MOD_ID_GPMC, gGpmcPinCfg},
    #endif /* if defined(BUILDCFG_MOD_GPMC) */
    #if defined(BUILDCFG_MOD_I2C)
        {CHIPDB_MOD_ID_I2C, gI2cPinCfg},
    #endif /* if defined(BUILDCFG_MOD_I2C) */
    #if defined(BUILDCFG_MOD_MCSPI)
        {CHIPDB_MOD_ID_MCSPI, gMcspiPinCfg},
    #endif /* if defined(BUILDCFG_MOD_MCSPI) */
    #if defined(BUILDCFG_MOD_UART)
        {CHIPDB_MOD_ID_UART, gUartPinCfg},
    #endif /* if defined(BUILDCFG_MOD_UART) */
        {CHIPDB_MOD_ID_INVALID}
    };
    

    thanks

    Mobin PK

  • This is not the pinmux file. I need the data file saved from the tool. Use the "Save" button.
  • You don't seem to understand. I need you to ATTACH the file you saved. The tool saves a file named like this: <your_file_name>.pinmux
    I need this file to open it with the tool on my side.
  • Sir,

    kindly find the attached file fyr.

    AM335x(1).zip

    thanks
    Mobin

  • Thanks, I see what the erors are now. You have selected IOSet 9 for SPI1, and these two pins are not included in this IO set. You must use valid
    IO sets with AM335x devices. These combinations have been validated by TI and are known to work within specs. If you violate the IO sets for a given peripheral, TI cannot guarantee proper operation of this peripheral.