NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Optimizing AM335x IO Power in DeepSleep0
Contents
Introduction[edit]
In order to achieve the lowest power consumption in DeepSleep0, it is important to optimize IO pad configurations for avoiding any unnecessary current draw by floating pads, signal conflicts or unnecessary pull-up/down resistors. The spreadsheet described in this application note can be used for identifying the optimum pad configurations for selected pin mux options and external signal conditions on the system.
Pad configuration programming spreadsheet[edit]
Download AM335x DeepSleep0 pad configuration programming spreadsheet here.
Pad Configuration Spreadsheet Instructions[edit]
- Select an active pinmux mode used in your SW from options in column O. The Pad state in DeepSleep0 for the pad will be shown in column Q.
- Select an external driver/receiver condition in DeepSleep0 on your board from options in column R. The recommended DeepSleep0 pad configuration will be shown in Column S and Column T.
- Not Driven/No connect/HiZ. Select this option if you don't need to maintain any specific state on a given pin. This would be the case for unused pins or for pins where perhaps the exact state is a "don't care". In this case the spreadsheet will tell you the lowest power configuration.
- Need external receiver driven high. Select this option for pins that need to be maintained high. For example, if you had an active-high enable signal that went to another device on the board you would want to select this option to keep that device enabled while the AM335x is in DS0.
- Need external receiver driven low. Select this option if you need to maintain a low state on the line.
- Driven Low by external driver. This case should be used if for example there is an external device that is holding the signal low (or for example if there is an external pull-down on the pin).
- Driven High by external driver. This is the case where the pin is externally held high. This would be appropriate for example on I2C buses where there are external pull-up resistors.
DeepSleep0 Pad Configuration Programming[edit]
- If it's recommended to change pinmux or pull setting in Column S & T, program the recommended pad configuration value before going into DeepSleep0.
- If pad value is changed, it should be changed back on wakeup.
Linux implementation is described in the IO Pad Configuration section of the Linux Core Power Management User Guide.
References[edit]
- Optimizing IO Power Consumption
- Optimizing OMAP35x and AM/DM37x OFF mode PAD configuration
- IO Pad Configuration in the Linux Core Power Management User Guide