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.

SRIO booting the 6474 through an SRIO switch

We would like to use a C6457 to boot several C6474's through an SRIO switch ( IDT 80KSW0002, 16x1 switch ).  I'd like to verify that we can boot this way. Will discovery mode in the SRIO become an issue with ID's etc? Also, if there is any reference material related to connecting the DSP to an SRIO switch, booting in this way, managing a largs scale system via SRIO, etc. I would appreciate being pointed in that direction.

 

Thanks, Bryan Busacco.

 

 

  • Bryan,

     

    Yes, you can boot this way.  Take a look at the Bootloaders user guide if you haven't already:

    http://www.ti.com/litv/pdf/spruec6d

    Essentially, if you choose one of the direct SRIO bootmodes, or decide to do a secondary bootloader via I2C initial boot, the SRIO peripheral is configured and will initialize with the link partner, which in your case is the switch.  After this initialization, the C6474 will be able to accept packets.  The C6474 will execute the IDLE instruction, until the C6457 has completely uploaded the program into the C6474 memory and has sent a Doorbell interrupt.  Once the Doorbell interrupt is received by the C6474, it will jump to the PC and begin executing code.

    Discovery/enumeration of the C6474 devices is possible by the C6457 in your case.  This process can be very simple, or very detailed depending on how you approach it.  The C6457 can initially discover each C6474 via the default deviceID 0xff or 0xffff.  The C6457 can look at the Port_ok bit of each port of the switch to determine if the port is up and running with the connected C6474.  Once it is discovered, the base_id can be changed and the program can be uploaded.  I'd suggest reading Chapter 2 of :

    http://www.rapidio.org/specs/disclaimer?specfile=/zdata/specs/inter-op.pdf

    Additionally, we have a DIOLib which supports SRIO system discovery and enumeration.  It does have some support for switches, but I don't know if the specific IDT switch is compatible.  If not, the source code is provided and should be a good starting point.  Look under the files tab for a downloadable zip file at:

    https://gforge.ti.com/gf/project/sriodirectiolib/

     

    Hope that helps,

    Travis