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.

PROCESSOR-SDK-AM64X: board config resource manager: host cfg entries

Part Number: PROCESSOR-SDK-AM64X

Tool/software:

Hi,

question: 

eg: board for host cfg entries:

                {
                    .host_id = TISCI_HOST_ID_A53_2,
                    .allowed_atype = 0b101010,
                    .allowed_qos   = 0xAAAA,
                    .allowed_orderid = 0xAAAAAAAA,
                    .allowed_priority = 0xAAAA,
                    .allowed_sched_priority = 0xAA
                },

Description:
Allowed atype configuration for the host ID. The host ID gets assigned a list of atypes which are allowed. atype is a 2-bit field with 3 possible values. Thus in one 8-bit word, flags are set specifying whether or not an atype value is allowed for the host ID. For each atype, the value of 01b means not allowed, 10b means allowed, and 11b and 00b are invalid/errors. These are encoded in a bitfield because there is one set of allowed atypes for every host ID.
1. what is atype for?
Eg: for allowed_atype 0b101010, for each 2 bit  identical to an atype.

but I still don't know what does it mean?   what kind of 3 atypes in above code? what are these three atypes represent? 
2. Qos level and each bit, what are they for?
same thing for the Qos level

3. for allowed_orderid.  what are the each bit represent?
4.allowed_priority. what are the each bit represent?


5. allowed_sched_priority. what are the each bit represent?
6. what will happen, if I set them differently.

eg:

                {
                    .host_id = TISCI_HOST_ID_A53_2,
                    .allowed_atype = 0b001010,
                    .allowed_qos   = 0x0AAA,
                    .allowed_orderid = 0x0AAAAAAA,
                    .allowed_priority = 0x0AAA,
                    .allowed_sched_priority = 0x0A
                },

Thanks
  • 7. SoC-specific RM resource types documentation, where can I found infomation for am64x? Thanks

  • Hello Jun,

    What are you trying to accomplish here?

    Also, what boot flow are you using? SBL or SPL?
    https://dev.ti.com/tirex/explore/node?a=7qm9DIS__LATEST&node=A__AXfgOBMVhJy5K0DPeNFSPQ__AM64-ACADEMY__WI1KRXP__LATEST

    Regards,

    Nick

  • Hi, Nick:
    1."What are you trying to accomplish here?"
    I am trying to understand for each field what are they represents. for the resource manager.

    According to the spes, I still doesn't understand for each field, can you explain to me.  bit by bit  for each entry.   .allowed_atype = 0b001010,


    2. "Also, what boot flow are you using? SBL or SPL?"
    I am using SBL boot, there is no OS,  (operation system). Everything is running in a Big Loop.

    In addition, I am using RBL Rom bootloader.  so this board config will be flashed along with SYSFW. 


    Thanks. 




  • It is unclare to me, for each of these filed, what are they for?  

    eg:  for allowed types, According to above documents they are are alist of atypes.  there are three atyps.  what are each of them represent?


  • Hello Jun,

    1. what is atype for?
    Eg: for allowed_atype 0b101010, for each 2 bit  identical to an atype.

    The allowed_atype field above assigns the allowed atypes for specific host. The possible atypes are Physical address, Intermediate Physical Address & Virtual Address. The value 0b101010 represent that all are allowed and assigned to the specific host.

    As in the above description it is written that atype is 2bit field with 3 possible values. That's why you see 6 bit value 0b101010 where each 2bit represent specific atype is allowed or not allowed. Those atype which are configured as allowed gets assigned to the specific host.

    To decode the string 0b101010 , please refer below explanation.

    The allowed_atype bit[0-1] represents that the Physical Address, bit[2-3] represents Intermediate Physical Address, and bit[4-5] represents Virtual Address. Which means each 2bit represents that a particular atype is assigned or not assigned.

    The 8 bit atype field indicates list of atype assigned to specific host.

    2. Qos level and each bit, what are they for?
    same thing for the Qos level

    The 16bit allowed_qos field represents the QoS level assigned to the specific host. As QoS level is a 3-bit field, there are 8 possible QoS levels. Each level is represented by 2bit, whether it is allowed or not. The 16 bit qos field is indicating the list of QoS level assigned to specific host.

    3. for allowed_orderid.  what are the each bit represent?

    The 32bit allowed_orderid field represents the order id assigned to the specific host. As order-ID is a 4-bit field, there are 16 possible order-IDs. Each order-id is represented by 2bit, whether it is allowed or not. The 32 bit order-id field is indicating the list of order-id assigned to specific host.

    4.allowed_priority. what are the each bit represent?

    The 16bit allowed_priority field represents the bus priorities assigned to the specific host. As bus priority is a 3-bit field, there are 8 possible bus priorities. Each priority is represented by 2bit, whether it is allowed or not. The 16 bit priority field is indicating the list of bus priorities assigned to specific host.

    5. allowed_sched_priority. what are the each bit represent?

    The 8bit allowed_sched_priority fiels represents the UDMAP channel scheduling priority to the specific host. As UDMAP channel scheduling priority is a 2-bit field, there are 4 possible UDMAP channel scheduling priorities. Each priority is represented by 2bit, whether it is allowed or not. The 8 bit priority field is indicating the list of UDMAP channel scheduling priorities assigned to specific host.

    6. what will happen, if I set them differently.

    You can set them differently, but it is not recommended to do so. By default all the possible atype, qos, orderid, priority, sched_priority are assigned to the host. If you remove the permission then host will not be able to use that specific atype, qos, orderid, priority or sched_priority.

    .allowed_atype = 0b001010,

    As the above atype only assigns physical and intermediate physical address to the host. The host will not be able to use virtual address as it is not allowed. 

    I can see you have configured virtual address as 00 which is invalid/error condition.

    7. SoC-specific RM resource types documentation, where can I found infomation for am64x? Thanks

    Please refer am64x_resasg_types for more info.

    Regards,

    Tushar

  • Thanks Tushar.

    That explain is perfect, 
    The allowed_atype field above assigns the allowed atypes for specific host. The possible atypes are Physical address, Intermediate Physical Address & Virtual Address. The value 0b101010 represent that all are allowed and assigned to the specific host.
    The allowed_atype bit[0-1] represents that the Physical Address, bit[2-3] represents Intermediate Physical Address, and bit[4-5] represents Virtual Address. Which means each 2bit represents that a particular atype is assigned or not assigned.


    but I want same explain for  the reset  eg: Qos level.

    I will rasie the a new question.