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.

SPI1 pin conflict in flash mode using OMAPL138

Other Parts Discussed in Thread: OMAPL138, SYSBIOS

HI,

i am using OMAPL138 for my ARM-DSP application in which SPI1 BOOTMODE is used by ROM BOOTLOADER.In my application i need to use a GPIO pin which conflict with SPI1 since its used by RBL while communicating with 64Mb Bootflash.Also, am using AISGen for creating a BIN file and its written to FLASH using serial flasher tool.

As per my assumption,RBL uses SPI1 during the time of booting.Is there any time after booting RBL uses SPI1 again?Is it like we cannot use SPI1 thereafter for my application like setting a GPIO  and why is it getting conflicted?

Is my assumption correct?please explain why this is happening and any posible solution.Thank you all.

kindly respond,

eldho baby

  • Hi,

    i need to use a GPIO pin which conflict with SPI1 since its used by RBL while communicating with 64Mb Bootflash

    Sorry, I'm not able to understand.

    BOOTFLASH means what ?

    Where your executable code resides?

    SPI or NAND flash ?

  • Sorry for creating confusion.By BOOTFLASH,i mean SPI Flash itself and my executable code resides in SPI flash.

    regards,

    eldho

  • Hi Eldho,

    Thanks for your clearance.

    What type board are you using? LCDK or EVM SDI or Logic PD EVM or custom,

    If custom, What is your reference board?

    What software are you running?

    starterware or SYSBIOS or Linux ?

    i am using OMAPL138 for my ARM-DSP application in which SPI1 BOOTMODE is used by ROM BOOTLOADER.In my application i need to use a GPIO pin which conflict with SPI1 since its used by RBL while communicating with 64Mb Bootflash.Also, am using AISGen for creating a BIN file and its written to FLASH using serial flasher tool.

    After booting from SPI1 flash, You need to use the GPIO which is muxed with SPI1

    Am I right ?

  • Hi,

    i am using a logic PDexperimenter kit.Moreover,we are not using any of the softwares startware/sysbios/linux.we are just developing an application code.

    yes you are absolutely right.we want to use GPIO muxed with SPI1.

    regards,

    eldho

  • Hi Eldho,

    For this requirement, I would like to suggest to use ARM bootloader that will call the DSP app.

  • After the ROM Bootloader has transfered code from SPI Flash to RAM, you can change the function of the pin from SP1_SIMO to GP2[10]. I assume GP2[10] is connected to some device. You must ensure that the SPI flash and device are selected. That means that SP1_SCS0 must be retained. It will deselect the SPI Flash while you using the pin as GP2[0]. Simlarly your device must not look at the pin when SPI Flash is selected.

  • Hi Norman,

    Thanks for your explanation.

    You are correct we have connected GP2[10] to a device.

    Norman Wong said:
    . You must ensure that the SPI flash and device are selected. That means that SP1_SCS0 must be retained. It will deselect the SPI Flash while you using the pin as GP2[0]. Simlarly your device must not look at the pin when SPI Flash is selected.

     

    i assume from your above explanation  that we should configure the pin as GP2[10] so that after using as SPI1_SIMO during booting,this pin will be used as GPIO for my application.i have configured PINMUX5  as 0x00800000 which means that its selects GP2[10] .i have added this PINMUX  value both in my program and  AISgen while creating the .bin file but my application does not run in SPI flash mode with this addition.when i remove this PINMUX5 value from my AISGen,the application runs smoothly in flash mode.i dont know why this is happening and why i am unable to give this value.

    regards

    eldho

  • Not sure I understand. When you say configure the pinmux, I assume you are doing this in AISGEN. I have been a while since I used AISGEN. All the settings a applied before data transfer. So the pinmux must have configured for SPI1 in AISGEN. As far as I know, AISGEN does not have post transfer settings that would allow remuxing of the pins. Usually your application code would manually change the pinmux before using your device. Check your code to see if there is pinmux library. Probably that some other code is already modifying the pinmux. Remember that your device will see the SIMO signal during boot and must be deselected during this time.

  • Hi Norman,

    You were right.AISGEN does not have post transfer settings that would allow remuxing of the pins.i removed the pinmux value from AISGen and retained in application code and hence application works smoothly and now i can use it as GPIO.

    thanks a lot for spending your valuable time.

    regards,

    eldho

  • Hi Eldho,

    I'm glad that your problem got solved.

    Thanks for your update.

    Hi Norman.

    Thanks for your support.

  • hi titusrathinaraj,

    thanks for your support too..

    regards,

    eldho