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.

TDA4VM: Does uboot support request cpsw9g udma

Part Number: TDA4VM

hello TI:

  I want to request cpsw9g main udma(thread number:0x4a00) in uboot.

  I add cbass_main_nvass, main_navss_intr, main_udmass_inta, main_ringacc, main_udmap in k3-j721e-main.dtsi.

  In uboot driver, I use dma_prepare_rcv_buf to request rx dma buf, but failed.

  The reason of failure is sciclient send msg to sciserver in ti_sci_cmd_rm_psil_pair(), but sciserver do not response.

   The log is RM_PSIL: nav: 199 link pair 18944->36880 ret:4294967277.

   Does uboot support request cpsw9g udma?  How to configure main udma in uboot? please help me, thank you.

  • Hi,

    Uboot does not support CPSW9G only CPSW 2G is supported. There is no plans to add this support as well.

    What is your use-case exactly ?

    Regards

    Vineet

  • HI Vineet Roy:

    I want to configure CPSW9G in uboot. so I configure cpsw9g main udma(thread number:0x4a00) in uboot.

    I modify uboot source code,  I add cbass_main_nvass, main_navss_intr, main_udmass_inta, main_ringacc, main_udmap in k3-j721e-main.dtsi to configure main udma, and use  use dma_prepare_rcv_buf to request rx dma buf, but failed. The reason of failure is sciclient send msg to sciserver in ti_sci_cmd_rm_psil_pair(), but sciserver do not response.

    The log is RM_PSIL: nav: 199 link pair 18944->36880 ret:4294967277.

    Can you help me analyze the reason?

  • Hi,

    Do you want to use UDMA or CPSW in Uboot ? As mentioned previously, CPSW 9G is not supported in Uboot.

    I am afraid that your use-case is not clear from your description. I won't be able to help you with these details.

    You would have to tell me what changes you have done and where ? What is that you want to achieve and where are you failing.

    You also need to provide the SDK and version you are using and your boot logs.

    Regards

    Vineet

  • Hi Vineet:

    Another question,  In uboot, I want to read cpsw9g register, so I use readl_relaxed(0x0c000000), but uboot will panic, log as below, but I read rti watchdog register, use readl_relaxed(0x2200000), and it is ok. 

    Does uboot can read cpsw9g register? 

    ERROR: Unhandled External Abort received on 0x80000000 from EL2
    ERROR: exception reason=0 syndrome=0xbf000000
    Unhandled Exception from EL2
    x0 = 0x00000000fdee8890
    x1 = 0x00000000fdee84d8
    x2 = 0x0000000000000020
    x3 = 0x0000000002800000
    x4 = 0x00000000fdee8450
    x5 = 0x0000000000000012
    x6 = 0x0000000000000018
    x7 = 0x00000000fdefa7c0
    x8 = 0x00000000fdee8998
    x9 = 0x0000000000000008
    x10 = 0x00000000fdee8978
    x11 = 0x0000000000020000
    x12 = 0x0000000000000000
    x13 = 0x00000000fdec8980
    x14 = 0x00000000fffffffc
    x15 = 0x00000000ffffffff
    x16 = 0x00000000fff61ef8
    x17 = 0x0000000000000000
    x18 = 0x00000000fdef3de8
    x19 = 0x00000000fffa38a1
    x20 = 0x0000000000000000
    x21 = 0x00000000fdf07820
    x22 = 0x0000000000000004
    x23 = 0x00000000fffa63fd
    x24 = 0x00000000fdef8890
    x25 = 0x0000000000000001
    x26 = 0x00000000fffa3c98
    x27 = 0x0000000001020100
    x28 = 0x0000000000000040
    x29 = 0x00000000fdee8490
    x30 = 0x00000000fff5d600
    scr_el3 = 0x000000000000073d
    sctlr_el3 = 0x0000000030cd183f
    cptr_el3 = 0x0000000000000000
    tcr_el3 = 0x0000000080803520
    daif = 0x00000000000002c0
    mair_el3 = 0x00000000004404ff
    spsr_el3 = 0x00000000000003c9
    elr_el3 = 0x00000000fff997d8
    ttbr0_el3 = 0x0000000070010b00
    esr_el3 = 0x00000000bf000000
    far_el3 = 0x0000000000000000
    spsr_el1 = 0x0000000000000000
    elr_el1 = 0x0000000000000000
    spsr_abt = 0x0000000000000000
    spsr_und = 0x0000000000000000
    spsr_irq = 0x0000000000000000
    spsr_fiq = 0x0000000000000000
    sctlr_el1 = 0x0000000030d00801
    actlr_el1 = 0x0000000000000000
    cpacr_el1 = 0x0000000000000000
    csselr_el1 = 0x0000000000000000
    sp_el1 = 0x0000000000000000
    esr_el1 = 0x0000000000000000
    ttbr0_el1 = 0x0000000000000000
    ttbr1_el1 = 0x0000000000000000
    mair_el1 = 0x0000000000000000
    amair_el1 = 0x0000000000000000
    tcr_el1 = 0x0000000000800080
    tpidr_el1 = 0x0000000000000000
    tpidr_el0 = 0x0000000000000000
    tpidrro_el0 = 0x0000000000000000
    par_el1 = 0x0000000000000000
    mpidr_el1 = 0x0000000080000000
    afsr0_el1 = 0x0000000000000000
    afsr1_el1 = 0x0000000000000000
    contextidr_el1 = 0x0000000000000000
    vbar_el1 = 0x0000000000000000
    cntp_ctl_el0 = 0x0000000000000000
    cntp_cval_el0 = 0x0000000000000000
    cntv_ctl_el0 = 0x0000000000000000
    cntv_cval_el0 = 0x0000000000000000
    cntkctl_el1 = 0x0000000000000000
    sp_el0 = 0x000000007000a3d0
    isr_el1 = 0x0000000000000000
    dacr32_el2 = 0x0000000000000000
    ifsr32_el2 = 0x0000000000000000
    cpuectlr_el1 = 0x0000001b00000040
    cpumerrsr_el1 = 0x0000000000000000
    l2merrsr_el1 = 0x0000000000000000

  • Hi,

    >Does uboot can read cpsw9g register? 

    No, you cannot because the module is not initialized. It's not part of Uboot DT and there is no support.

    Any CPSW9G access/configuration from Uboot is not supported.

    Regards

    Vineet

  • Hi Vineet:

         So I must initialization CPSW first, follow the Technical refereance manual  12.2.2.5.1 initialization and configuration of cpsw subsystem?

          select the interfalce mode and enable the cpsw clocks, and then I can access the cpsw9g register?

  • Hi,

    >So I must initialization CPSW first, follow the Technical refereance manual  12.2.2.5.1 initialization and configuration of cpsw subsystem?

    Yes, you need to add CPSW 9G DT node just like CPSW 2G (already supported in uboot). You will also have to implement drivers in Uboot kernel to initialize it.

    Regards

    Vineet