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.

[FAQ] J7200XSOMXEVM: How to use the QSGMII expansion board with DRA821 SDK V7.3

Part Number: J7200XSOMXEVM
Other Parts Discussed in Thread: DRA821

I have got the DRA821 EVM (J7200 SOM, and J7 common processor board), and also the "Quad-Port Ethernet expansion board" (a.k.a QSGMII expansion board).

  1. J7200 SOM: https://www.ti.com/tool/J7200XSOMXEVM
  2. J7 common processor board: https://www.ti.com/tool/J721EXCPXEVM
  3. the QSGMII expansion board: included in the J7 common processor board package
  4. J7200 SDK V7.3: https://www.ti.com/tool/PROCESSOR-SDK-J7200 

With the default SDK V7.3 code, the QSGMII board doesn't work. 

How can I make it work with J7200 SDK V7.3?

  • Here are the changes needed:

    changes for Linux:

    0001-disable-main_i2c0-in-linux.diff
    From 935ee6810452219869c397b8621ac10cd0ba88a2 Mon Sep 17 00:00:00 2001
    From: Peter Li <a0220410@ti.com>
    Date: Tue, 20 Apr 2021 17:40:54 +0800
    Subject: [PATCH 1/2] disable main_i2c0 in linux
    
    ---
     arch/arm64/boot/dts/ti/k3-j7200-dra821a.dtso | 4 ++++
     1 file changed, 4 insertions(+)
    
    diff --git a/arch/arm64/boot/dts/ti/k3-j7200-dra821a.dtso b/arch/arm64/boot/dts/ti/k3-j7200-dra821a.dtso
    index 5f2b219e7..3a5b4cf5a 100644
    --- a/arch/arm64/boot/dts/ti/k3-j7200-dra821a.dtso
    +++ b/arch/arm64/boot/dts/ti/k3-j7200-dra821a.dtso
    @@ -22,4 +22,8 @@
     
     &main_r5fss0_core1 {
     	status = "disabled";
    +};
    +
    +&main_i2c0 {
    +	status = "disabled";
     };
    \ No newline at end of file
    -- 
    2.17.1
    
    

    in the $ti-processor-sdk-linux-j7200-evm-07_03_00_04:

    run command: make linux-dtbs

    Then you will get an updated k3-j7200-dra821a.dtbo, and then update it to $rootfs/boot/

    changes for pdk_j7200_07_03_00_29:

    0001-use-ethfw-to-config-main_i2c0.diff
    From 62c92618bcb9e300c437028504b45804e927ef17 Mon Sep 17 00:00:00 2001
    From: Peter Li <a0220410@ti.com>
    Date: Tue, 20 Apr 2021 17:36:01 +0800
    Subject: [PATCH 1/5] use ethfw to config main_i2c0
    
    ---
     packages/ti/drv/enet/examples/utils/makefile | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/packages/ti/drv/enet/examples/utils/makefile b/packages/ti/drv/enet/examples/utils/makefile
    index 40ccfc9..64fda61 100644
    --- a/packages/ti/drv/enet/examples/utils/makefile
    +++ b/packages/ti/drv/enet/examples/utils/makefile
    @@ -33,7 +33,7 @@ else
         MODULE_NAME = enet_example_utils
         ENET_CFLAGS += -DSDK_6_2_CORE_SDK_IMAGE
         ifeq ($(CORE),$(filter $(CORE), mcu2_0))
    -      ENET_CFLAGS += -DENETAPPUTILS_BYPASS_I2C
    +#      ENET_CFLAGS += -DENETAPPUTILS_BYPASS_I2C
           ifeq ($(SOC),$(filter $(SOC), j721e))
             ENET_CFLAGS += -DENETAPPUTILS_BYPASS_QSGMII
           endif
    -- 
    2.17.1
    
    

    0002-enable-Main_I2C-module-by-ethfw.diff
    From 6846279f7fc5b1176301ef77eb6b3875700cc635 Mon Sep 17 00:00:00 2001
    From: Peter Li <a0220410@ti.com>
    Date: Tue, 20 Apr 2021 18:22:34 +0800
    Subject: [PATCH 2/5] enable Main_I2C module by ethfw
    
    ---
     .../drv/enet/examples/utils/V1/enet_appboardutils_j721e_evm.c  | 3 ++-
     1 file changed, 2 insertions(+), 1 deletion(-)
    
    diff --git a/packages/ti/drv/enet/examples/utils/V1/enet_appboardutils_j721e_evm.c b/packages/ti/drv/enet/examples/utils/V1/enet_appboardutils_j721e_evm.c
    index 387b467..b5e2d70 100644
    --- a/packages/ti/drv/enet/examples/utils/V1/enet_appboardutils_j721e_evm.c
    +++ b/packages/ti/drv/enet/examples/utils/V1/enet_appboardutils_j721e_evm.c
    @@ -214,7 +214,8 @@ void EnetBoard_initEthFw(void)
         uint32_t clkModuleId[] = { TISCI_DEV_DDR0,
                                    TISCI_DEV_TIMER12,
                                    TISCI_DEV_TIMER13,
    -                               TISCI_DEV_UART2, };
    +                               TISCI_DEV_UART2,
    +                               TISCI_DEV_I2C0, };
     
         appFlags = 0U;
         moduleCnt = ENET_ARRAYSIZE(clkModuleId);
    -- 
    2.17.1
    
    

    Then clean and rebuild ethfw_all,

    in $ti-processor-sdk-rtos-j7200-evm-07_03_00_07/ethfw, 

    run command: 

    (step1:) make ethfw_all_clean BUILD_SOC_LIST=J7200

    (step2:) make ethfw_all BUILD_SOC_LIST=J7200

    then update app_remoteswitchcfg_server_strip.xer5f to $rootfs/lib/firmware/ethfw/