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.

WEBENCH® Tools/AM5728: SPI configuration in U-boot

Part Number: AM5728

Tool/software: WEBENCH® Design Tools

Hi sir,

I am using AM5728 custom board through SPI3 pins i have connected GS2961A device?

Actually in board_support\u-boot-*\board\ti\am57xx\mux_data.h file added

const struct pad_conf_entry core_padconf_array_essential_x15[] = {
    {SPI3_SCLK, (M14 | PIN_INPUT_PULLDOWN)},    /* spi3_sclk.gpio7_14 */
    {SPI3_D1, (M14 | PIN_INPUT_SLEW)},    /* spi3_d1.gpio7_15 */
    {SPI3_D0, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)},    /* spi3_d0.gpio7_16 */
    {SPI3_CS0, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)},    /* spi3_cs0.gpio7_17 */
}

but in below things what are the three values one is inside register data and other two things and where is the address?

const struct iodelay_cfg_entry iodelay_cfg_array_x15_sr1_1[] = {

}

After that how to add gs2961A driver to u-boot?

Thanking you,

Regards,

Ramachadra.

  • Actually those pins are below things default how to change into spi3 config

    {MCASP1_AXR8, (M14 | PIN_INPUT_PULLDOWN)},    /* spi3_sclk.gpio7_14 */
    {MCASP1_AXR9, (M14 | PIN_INPUT_SLEW)},    /* spi3_d1.gpio7_15 */
    {MCASP1_AXR10, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)},    /* spi3_d0.gpio7_16 */
    {MCASP1_AXR11, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)},    /* spi3_cs0.gpio7_17 */

    could you tell me how to initialize the those pins in iodelay_cfg_array_x15_sr1_1 could you give me some suggestions .

    Thanking you,

  • Can you please look into and use the PinMux tool for AM57xx and its associated documentation:

    http://www.ti.com/tool/PINMUXTOOL

    http://www.ti.com/lit/an/sprac44a/sprac44a.pdf

    The tool will take care of generating the proper macros for pinmux (and iodelay, as needed)

    Also the SPI3 module is probably not being clocked early on and with that would be inaccessible in U-Boot. So you need to explicitly enable clocks for that module by adding the appropriate definition to the clk_modules_explicit_en_essential definition in arch/arm/mach-omap2/omap5/hw_data.c:enable_basic_clocks() which will require adding a spi3 definition to board/ti/am57xx/board.c:struct prcm_regs const dra7xx_prcm

    Ramachandra Parlapalli said:
    After that how to add gs2961A driver to u-boot?

    If you need to talk to this device the easiest would be through code in your board file and use this to probe the SPI module, and then uses U-Boot driver model (DM) calls to access and transfer data. There should be basic SPI examples in the U-Boot tree showing this.

    Regards, Andreas