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.

AM64x Examples of Enet (CPSW) and Enet (ICSS) together.

Part Number: AM6442
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Looking for any examples or instructions on how to set up to use the CPSW and ICSS ethernet ports together.

I have the AM64x EVM board, and would like to get the 3 ports all working.  Ideally would like them to be all different networks.

I use the SysConfig 1.20.0, with MCU+ SDK am64x_09_02_01_05, building for r5fss0-0 core.

Using SysConfig to configure the 3 ports. Each configured as described in the individual examples for the CPSW as a single port, and the ICSS setup in the DUAL_MAC mode.  When I try to compile a test app, when it compiles the syscfg/ti_enet_open_close.c, I get redefinition of a lot of structures looks like it sees the ICSS DUAL_MAC puts its information into the .C and .H files, then sees the CPSW configuration and puts the same structures in for that. (Even reduplicating the includes in the middle of the file).

Like for EnetUdma_DrvObj, it is duplicated one for the CPSW with size of 1, and one for the ICSS with a size of 2.

Not sure what I am doing wrong, or using SysConfig can even do it.

Here is the Sysconfig file.

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --device "AM64x" --package "ALV" --part "Default" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM64x@09.02.01"
* @versions {"tool":"1.20.0+3587"}
*/
/**
* Import the modules used in this configuration.
*/
const eeprom = scripting.addModule("/board/eeprom/eeprom", {}, false);
const eeprom1 = eeprom.addInstance();
const crc = scripting.addModule("/drivers/crc/crc", {}, false);
const crc1 = crc.addInstance();
const ddr = scripting.addModule("/drivers/ddr/ddr", {}, false);
const ddr1 = ddr.addInstance();
const gpio = scripting.addModule("/drivers/gpio/gpio", {}, false);
const gpio1 = gpio.addInstance();
const gpio2 = gpio.addInstance();
const gpio3 = gpio.addInstance();
const gpio4 = gpio.addInstance();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Thanks

 Robert