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.

AM335x ICEv2 HSR/PRP reference design

Hi,

I am excited that the ICE board can support HSR/PRP now. This is what I have been hoping in the past 2 years.  Just a question on this: is the implementation of HSR or PRP customize-able? i.e, we want to add a filter on HSR or PRP so that only our propitiatory layer 2 packs get handled and transmitted by the PRU. This will save a lot of process power for our product.

Thanks

Tianlei

  • The Industrial team has been notified. They will respond here.
  • Hi Tianlei,

    Yes, the implementation of HSR or PRP is customizable. The implementation provides callback functions () for application to configure and register, e.g for txCustomCallBack,

       ((((ICSSEMAC_Object *)

          emachandle->object)->callBackHandle)->txCustomCallBack)->callBack =

              (ICSS_EmacCallBack)RedTxPacket;

       ((((ICSSEMAC_Object *)

          emachandle->object)->callBackHandle)->txCustomCallBack)->userArg = NULL;

    And see ./sdk/os_drivers/lld/emac/icss_emacDrv.h

    typedef struct

    {

       ICSSEMAC_Handle icssEmacHandle;

       const uint8_t *srcAddress;

       int32_t portNumber;

       int32_t queuePriority;

       int32_t lengthOfPacket;

    } ICSSEMAC_txArgument;

    and ./sdk/protocols/hsr_prp/drivers/hsrPrp_red.c

    /**

    *  @name RedTxPacket

    *  @brief Enqueues redundancy frames to transmit

    *

    *  @param packetData memory to copy packet data from

    *  @param packetLength length of the packet

    *  @param queuePriority which queue to write data to

    *

    *  @return RED_OK on success, RED_ERR otherwise

    *

    */

    RED_STATUS RedTxPacket(ICSSEMAC_txArgument *txArg, void *userArg)

    So you can apply your filter for layer 2 packs handling before supplying the packet data to txArg->srcAddress.

    Regards, Garrett