Serial port registry settings for i.MX7

Hi,
in this article I found a nice Setting

"WaitForTXcomplete"     = "dword:1"    ;Default is 1 which means it driver will wait until all data is sent before returning control to the app
                                       ;If you set this value to 0, the write function will return before all data is transmitted over the Serial port.
                                       ;This can be helpful if you transmit a lot of small packages. Be aware, that the write function doesn't return immediately,
                                       ;it returns after it wrote the last data to the transmit buffer.

But this setting is listed for PXA modules.
i.MX7 modules didn’t have this setting?
How behave this modules?

With best regards

Gerhard

Hi @Gerhard

The UART Transmit function returns, after the Transmit is completed. I’m afraid there is no precise definition what this means. The following options are possible

  • all the bytes are in the transmit FIFO
  • The last byte has been moved from the Tx FIFO to the output shift register
  • Even the last byte is completely shifted out to the Tx signal.

There’s no simple way to find which option is used. If you need the information, you should be able to write a short test program, which for example sends out data and toggles a GPIO after sending is finished. You could then observe the Tx signal along with the toggling GPIO to analyze the behavior.

Regards, Andy

Hi Andy,

I will try to port my application, herin I have two Serial links, hope I can give more precise Infos (for i.MX7) which can be for intrrest for the whole community.

But my original question was:
Is there only one registry setting for the i.MX7 module, or were the other settings, listed under PXA Family or Tegra Family also valid? This document is little bit missleading.

With best regards

Gerhard

Hi @Gerhard

The UART implementations vary for the individual SoCs. While the standard operations (Transmit, receive, configuration through dcb structure) are all compatible, the special features we added are quite different.

Therefore the registry settings described in the article “Serial port registry settings” are only valid for the module families they are listed for. For example the PXA registry settings are not applicable for the iMX7. For the iMX7, only the setting(s) in the section “Colibri iMX7 Registry Settings” can be used.

Regards, Andy