Linux/66AK2E05: K2E EVM unable to acees netcp pktdma from dsp core

Part Number: 66AK2E05

Tool/software: Linux

We performed set of experiment to understand pktdma of netcp behavior and its configuration.

1. We found the in case of K2H  , no boot mode, hello words example is running fine which send the  "hello word " to some other pc and receive back by running the window application which send back what it received.

   We found here that  netcp packet dma RX and TX channel are able to enabled by cppi module.

2. Same is the case of when running linux in arm , BUT here on loading hello world application in dsp, ethernet link is accessible only from dsp.


Now in case of K2E.

1a, Same hello world application loaded  in dsp when  EVM is configured in no boot mode, here  We found here that  netcp packet dma RX and TX channel are  always  found in disable state .
  This behavior  is not understandable .

  Please let us know how  NETCP'S  pkt dma rx and tx  channel always get disable , even on forcefully trying to enable it in no boot mode??
  Something missing??

16 Replies

  • Hi,

    Please elaborate which Linux SDK version are you using?

    As far as I understand you are using a custom board.. Share the customized device tree files.

    Also it would be good if you attach the bootlog (dmesg).

    Best Regards,
    Yordan

     


     Please make sure you read the forum guidelines first.

  • In reply to Yordan Kovachev:

    Hi,

    Hereby is the sdk linux version:-----  Linux version 4.9.41-ge3a80a1c5c (gtbldadm@ubuntu-16) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) 

    and bootlogs file is attached.

    Regards

    Anshul

    boot_logs.txt

  • In reply to anshul rathi:

    Hi,
    The team member who handles these K2E requests will be out of office tomorrow. He will respond next week.

    Best Regards,
    Schuyler
  • In reply to Schuyler Patton:

    Hi, Anshul,

    I am a bit confused by your configuration. You mentioned that the EVM is configured in No Boot Mode. Are you running the Hello World example application on ARM or DSP? If it is in No Boot Mode, how does the Linux boot up?

    Rex

     

  • In reply to Rex Chang:

    hi,

    If you see the mail head, you can see there were two experiments one with  linux ( k2h CASE) AND other without linux in arm ( no boot mode ) ( k2e).

    We facing problem in k2e NO BOOT mode while running hello world in dsp and unbale to initialize cppi and  cppkt dma ( netcp dma) is inaccesible as looks the mapping is not correct as expcted  as per multicore navi gator.

    regards

  • In reply to anshul rathi:

    Hi, Anshul,

    Thank you for clarifying. I'll have a DSP expert to take a look at it.

    Rex

     

  • In reply to Rex Chang:

    Hi,

    Do you mean in no-boot mode, running the NIMU test example on K2E EVM, DSP core, it didn't work? What processor SDK RTOS release is used? Do you have the console log?

    Regards, Eric
  • In reply to lding:

    Hi, 

    The problem is while running basic examples , cppi_init() fails as pktdma of netcp is inaccesible.

    Please find the some screen shoot AS an attachment .  DSP is in no boot mode.

    1. qmss-pkt dma is accessible and we can write on it.
       You can see the memory map ( this looks as per K2E technical document) and registers getting accessible..

    2. netcp-pktdma is not accessible , even the basic hello world example throwing error in accessing the dma.
       Here you can see the gel output , looks things are powered on.
       Even netcp dma registers are in accessible.

    Please let us know if something missing , what we expect that hello world basic example should run in dsp no boot mode.



    But what i found that when running in spi boot mode ( with linux) we atLeast do no get error -130, and  cppi_init goes fine.


  • In reply to anshul rathi:

    Hi,

    What Processor SDK RTOS release is it? I am travelling and have no access to K2E EVM setup. I expect to try this late next week and get back to you.

    Regards, Eric
  • In reply to lding:

    Hi,

    I tested the pdk_k2e_4_0_3\packages\MyExampleProjects\NIMU_emacExample_EVMK2EC66BiosExampleProject, there is no issue to me:

    In DSP no-boot mode, connect the C66x core, GEL runs

    C66xx_0: GEL Output:

    Connecting Target...

    C66xx_0: GEL Output: TCI6636K2E GEL file Ver is 1.29999995

    C66xx_0: GEL Output: Detected PLL bypass enabled: SECCTL[BYPASS] = 0x00800000

    C66xx_0: GEL Output: (2a) MAINPLLCTL1 = 0x00000040

    C66xx_0: GEL Output: (2b) PLLCTL = 0x00000048

    C66xx_0: GEL Output: (2c) PLLCTL = 0x00000048

    C66xx_0: GEL Output: (2d) Delay...

    C66xx_0: GEL Output: (2e) SECCTL = 0x00810000

    C66xx_0: GEL Output: (2f) PLLCTL = 0x0000004A

    C66xx_0: GEL Output: (2g) Delay...

    C66xx_0: GEL Output: (2h) PLLCTL = 0x00000048

    C66xx_0: GEL Output: (4)PLLM[PLLM] = 0x00000013

    C66xx_0: GEL Output: MAINPLLCTL0 = 0x05000000

    C66xx_0: GEL Output: (5) MAINPLLCTL0 = 0x09000000

    C66xx_0: GEL Output: (5) MAINPLLCTL1 = 0x00000040

    C66xx_0: GEL Output: (6) MAINPLLCTL0 = 0x09000000

    C66xx_0: GEL Output: (7) SECCTL = 0x00890000

    C66xx_0: GEL Output: (8a) Delay...

    C66xx_0: GEL Output: PLL1_DIV3 = 0x00008002

    C66xx_0: GEL Output: PLL1_DIV4 = 0x00008004

    C66xx_0: GEL Output: PLL1_DIV7 = 0x00000000

    C66xx_0: GEL Output: (8d/e) Delay...

    C66xx_0: GEL Output: (10) Delay...

    C66xx_0: GEL Output: (12) Delay...

    C66xx_0: GEL Output: (13) SECCTL = 0x00090000

    C66xx_0: GEL Output: (Delay...

    C66xx_0: GEL Output: (Delay...

    C66xx_0: GEL Output: (14) PLLCTL = 0x00000041

    C66xx_0: GEL Output: PLL has been configured (CLKIN * PLLM / PLLD / PLLOD = PLLOUT):

    C66xx_0: GEL Output: PLL has been configured (100.0 MHz * 20 / 1 / 2 = 1000.0 MHz)

    C66xx_0: GEL Output: Power on all PSC modules and DSP domains...

    C66xx_0: GEL Output: Power on all PSC modules and DSP domains... Done.

    C66xx_0: GEL Output: WARNING: SYSCLK is the input to the PA PLL.

    C66xx_0: GEL Output: Completed PA PLL Setup

    C66xx_0: GEL Output: PAPLLCTL0 - before: 0x0x098804C0 after: 0x0x090804C0

    C66xx_0: GEL Output: PAPLLCTL1 - before: 0x0x00000040 after: 0x0x00002040

    C66xx_0: GEL Output: DDR begin

    C66xx_0: GEL Output: XMC setup complete.

    C66xx_0: GEL Output: DDR3 PLL (PLL2) Setup ...

    C66xx_0: GEL Output: DDR3 PLL Setup complete, DDR3A clock now running at 800 MHz.

    C66xx_0: GEL Output: DDR3A initialization complete

    C66xx_0: GEL Output: DDR done

    C66xx_0: GEL Output: Setup PHY begin 1GB

    C66xx_0: GEL Output: Reading MDIO_VERSION_REG.

    C66xx_0: GEL Output: MDIO_VERSION_REG: 0x00070107

    C66xx_0: GEL Output: Staring Setup for PHY: 0

    C66xx_0: GEL Output: Misc register done for PHY: 0

    C66xx_0: GEL Output: Waiting for copper link up for PHY: 0

    C66xx_0: GEL Output: Staring Setup for PHY: 1

    C66xx_0: GEL Output: Misc register done for PHY: 1

    C66xx_0: GEL Output: Waiting for copper link up for PHY: 1

    C66xx_0: GEL Output: Setup PHY done 1GB

    Load the attached .out to C66x, run, the CCS console:

    [C66xx_0] QMSS successfully initialized

    CPPI successfully initialized

    PA successfully initialized

    TCP/IP Stack 'Hello World!' Application

    StackTest: using localIp

    Network Added: If-1:192.168.1.4

    From a PC with the same subnet, I am able to ping the K2E EVM without any issue.

    Regards, Eric

    NIMU_emacExample_EVMK2EC66BiosExampleProject.out