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.

AWR2243: Configure the timing and IRQ signals

Part Number: AWR2243

Hi team,

There are two awr2243 cascaded, connected through the I2C bus and the deserializer, then connected through the GMSL2 line to the deserializer on the domain, as shown in the figure below:

Porting the mmWaveLink_Cascade_example from the mmWave_DFP_02_02_04_00 DFP package to the Linux OS to run the demo program, the 2243 parameters can be initialized and configured normally. However, in the query IRQ interrupt thread, the initialization process fails if you include code that reads other device registers via the I2C bus (such as reading the value of the plus-serializer device id register). If the read-in-the-serializer device id register value code is masked out in the interrupt thread, initialization is ok.

The customer is trying to disconnect the gmsl line from the domain control board and have the hardware set the i2c scl, i2c sda, host IRQ, reset, ground signals fly to the respective GPIO for the domain control. Also disconnect the 0 ohm resistor connected between master's i2c SC, i2c sda, IRQ, reset, 4 signals and the deserializer. And configure the appropriate pins in the kernel dtsi to run the demo program. Include reading other device register codes via the I2C bus in the Query awr2243 IRQ Interrupt thread.

The behavior is the same as using gmsl to connect to a domain control board, so the problem should be independent of the serializer and the gmsl line.

What is the possible cause of an iRQ state fault that causes the initialization to fail if another device on the I2C bus is accessing I2C during the initialization of configuration parameters? And how to fix it?

The demo program runs the following log: 

================= mmWaveLink Example Application ====================

Device map 1 : Device reset successful
Device map 1 : MSS Power Up Async event

PowerUp Time = 1672462, PowerUp Status 1 = 0x40, PowerUp Status 2 = 0x0, BootTestStatus 1 = 0x0, BootTestStatus 2 = 0x0

Device map 1 : mmWave Device Power on success

mmWave Device Power on success for deviceMap 1
==========================Firmware Download==========================

Device map 1 : Meta Image download started

Device map 1 : Download in Progress: 0%..2%..5%..8%..11%..14%..17%..20%..23%..26%..29%..32%..35%..38%..41%..44%..47%..50%..52%..55%..58%..61%..64%..67%..70%..73%..76%..79%..82%..85%..88%..91%..94%..97%..Done!

Device map 1 : Meta Image download complete ret = 0

Device map 1 : Firmware update successful

=====================================================================

Device map 1 : CRC Type set for MasterSS success

Device map 1 : BSS Power Up Async event

Device map 1 : RF Version [ 2. 2. 0.13]
Device map 1 : MSS version [ 2. 2. 1. 7]
Device map 1 : mmWaveLink version [ 2. 2. 3. 2]

Device map 1 : RF Patch Version [ 2. 2. 4. 0]
Device map 1 : MSS Patch version [ 2. 2. 2. 0]

Device map 1 : Radar/RF subsystem Power up successful

======================Basic/Static Configuration======================

Device map 1 : Calling rlSetChannelConfig With [15]Rx and [7]Tx Channel Enabled
Device cascade [1]

Device map 1 : Channel Configuration success

mmWave Device Init1 success for deviceMap 1
Device map 1 : Calling rlSetAdcOutConfig With [1]ADC Bits and [1]ADC Format

Device map 1 : AdcOut Configuration success

Device map 1 : Calling rlRfSetDeviceCfg With bssAnaControl = [0] and bssDigCtrl = [0]

Device map 1 : RF Device Configuration success

Device map 1 : Calling rlRfSetLdoBypassConfig With Bypass [3], ioSupply [1]

Device map 1 : LDO Bypass Configuration success

Device map 1 : Data format Configuration success

Device map 1 : Low Power Configuration success

Device map 1 : APLL Synth BW Configuration success

Device map 1 : Basic/Static configuration success

Device map 1 : RF-Init Async event

Device map 1 : RF Initialization/Calibration successful

mmWave Device Init2 success for deviceMap 1
==================Programmable Filter Configuration==================

Device map 1 : Calling rlRfSetProgFiltConfig with
coeffStartIdx[0]
progFiltLen[0] GHz
progFiltFreqShift[0] MHz/uS

Device map 1 : Programmable Filter Configuration success

Device map 1 : Calling rlRfSetProgFiltCoeffRam with
coeffArray0[-876]
coeffArray1[-272] GHz
coeffArray2[1826] MHz/uS

Device map 1 : Programmable Filter coefficient RAM Configuration success

======================FMCW Configuration======================

Device map 1 : Calling rlSetProfileConfig with
ProfileId[0]
Start Frequency[76.000252] GHz
End Frequency[1425571046.005483] GHz
Ramp Slope[8.304119] MHz/uS

Device map 1 : MSS RF Error [0x1] Status Async event

Device map 1 : BSS CPU Fault Async event

Thanks.

Best Regards,

Cherry

  • Hi,

    Unfortunately our support team does not have linux knowledge.

    Let's open this question to the forum. There have been other forum members that have ported the mmWave link to linux

    Also you can use google site search as follows

    site e2e.ti.com mmwave link linux

    thank you

    Cesar

  • Hi Cesar,

    Thanks for your support.

    The customer is wondering if there are other devices accessing the I2C bus while the awr2243 parameters are being configured by Host via I2C, is it possible that the parameter configuration process will fail? It should be a firmware or hardware issue, right?

    Thanks and Regards,

    Cherry

  • Hi,

    During the configuration process I2C is used for communication between host and awr2243.

    If the I2C connection is corrupted the configuration will fail and the firmware running on awr2243 will not be able to notify the host.

    Thank you

    Cesar

  • Hi Cesar,

    What do you mean by "the I2C connection is corrupted"? If no other device is accessing i2c during the awr2243 configuration, the demo configuration is fine and waves can be emitted. It should be related to the software and firmware of the awr2243?

    Thanks and regards,

    Cherry

  • Hi Cherry,

    Cesar is out of office for the following week. Please expect a delay in response.

    Best regards,

    Kaushik

  • Hi,

    I meant if there is a physical corruption on the I2C bus

    Thank you

    cesar

    What do you mean by "the I2C connection is corrupted"? If no other device is accessing i2c during the awr2243 configuration, the demo configuration is fine and waves can be emitted. It should be related to the software and firmware of the awr2243?