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.

How to change the boot mode pins on F28M35x Silicon

Note : this is not possible on REV0 devices.

There is another nice feature added on F28M35x REVA devices where user would be able to choose alternate boot mode pins if the factory chosen default ones doesn't fit the design. The details of this are yet to be added to the TRM or Datasheet but below is the essential.

This is possible on F28M35x REVA/REVB Silicon by programming certain locations in user OTP.

Location in OTP to program is 0x680824 . This would be a 32-bit location with below format - be careful while experimenting with this because this is OTP and it has ECC, which is in OTP as well. Program it only when you have finalized the IOs and know for sure what you need to program. You cannot change it once programmed.

bmode_pin1 = bit0 - bit7  /*if you want to choose GPIO10 as bmode_pin1, then you need to program 0x0B (11 decimal) here, in other words, if you want to choose GPIOx you need to program GPIOx+1*/

bmode_pin2 = bit8 - bit15 /*if you want to choose GPIO20 as bmode_pin2, then you need to program 0x15 (21 decimal) here, in other words, if you want to choose GPIOx you need to program GPIOx+1*/ 

bmode_pin3 = bit16 - bit23 /*if you want to choose GPIO0 as bmode_pin3, then you need to program 0x01 (1 decimal) here, in other words, if you want to choose GPIOx you need to program GPIOx+1*/

 bmode_pin4 = bit24 - bit31 /*if you want to choose GPIO2 as bmode_pin4, then you need to program 0x03 (3 decimal) here, in other words, if you want to choose GPIOx you need to program GPIOx+1*/

Even better - a TRICK, if you want to always boot-to-flash and you don't want to use four boot mode GPIO, you can program the same gpio pin value for each boot mode pin in the OTP word and have the pin pulled HIGH. Boot ROM will end up booting to flash, since it will read the same pin status for each boot mode pin, but please use it with caution.

Now, the exceptions :-

1.> you cannot choose below GPIO to be a boot mode GPIO.

GPIO64, GPIO 65, GPIO66, GPIO67, GPIO39, GPIO44

2.> chosen GPIO pins should be between GPIO0 and GPIO71. If any illegal value is found for any boot mode pin, then bootROM defaults to the factory selected boot mode pin respectively.

more details on this : - http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/312626.aspx

Best Regards

Santosh