Other Parts Discussed in Thread: TPS40400
Hi, We have a custom board develop around dm8168.
We have a tps40400 as power regulator and until now we have never use smartreflex and avs algorithem to control the pmic that always control cvdd to 1.0v
We use dsp and cortex at maximum performance but we don't use any video accelerator.
On same boards it happens that the dsp core hangs (but not the dma at specific soc temperature). This is a critical issue for us.
After some specific test on a set of boards that have the problem we have notice that changing the CVDD the problem disappears. So we have implemented the AVS algorithem taking it from DVR RDK.
But at the and the CVDD go to the maximum 1.05V on all the board that we have tested. We don'k know if it is correct. And we have no way to check it because it is undocumented.
And also the datasheet says:
--------------------------------------------
Supply voltage, Variable Core, Adaptive Voltage Scaling (CVDD)
MIN NOM MAX
Initial Startup : VINITnom × 0.95 1.00 or 1.10 (2) VINITnom × 1.05
CYGA2 & CYG4: SRnom × 0.95 0.85 - 1.00 SRnom × 1.05
--------------------------------------------
SRnom refers to the unique SmartReflex core supply voltage set from the factory for each individual device.
--------------------------------------------
This device supports, and requires the use of, SmartReflex technology with Adaptive Voltage Scaling based on die temperature and performance.
--------------------------------------------
SmartReflex can significantly lower the power consumption of this device and its use is required for proper device operation
--------------------------------------------
The device contains SmartReflex modules that are required to minimize power consumption on the
voltage domains using external variable-voltage power supplies. Based on the device process,
temperature, and desired performance, the SmartReflex modules advise the host processor to raise or
lower the supply voltage to each domain for minimal power consumption. The communication link between
the host processor and the external regulators is a system-level decision and can be accomplished using
GPIOs or I2C.
The major technique employed by SmartReflex in the device is adaptive voltage scaling (AVS). Based on
the silicon process and temperature, the SmartReflex modules guide software in adjusting the core 1-V
supply voltage within the desired range. This technique is called adaptive voltage scaling (AVS). AVS
occurs continuously and in real time, helping to minimize power consumption in response to changing
operating conditions.
NOTE
Implementation of SmartReflex AVS is required for proper device operation.
--------------------------------------------
At the end:
1. it is not so clear if AVS and smartreflex is MANDATORY or it is only usefull. Only on http://processors.wiki.ti.com/index.php/DM816x_Design_Resources#AVS_.28Current.2C_voltage_range.2C_stability.2C_tolerance.2C_noise.2C_AVS.29 it is crearly write that: "AVS is required for DM816x devices. Using a fixed supply voltage level will violate max/min operating conditions for some devices which may fall at the edges of the process corners. This will in turn lead to long term reliability issues and may cause complete device failure.". This is a really crucial aspect and I have not found this in any official document (datasheets ....). Is it true?
2. the final constrain for CVDD is: SRnom × 0.95 - SRnom × 1.05 (and not only 0.85 - 1.00). So it is mandatory to know how to read SRnom (but it is undocumented). And also the linux kernel (smartreflex-ti816x.c) does not check that constrains and never read any SRnom. So I need to know how to read SRnom.
