View Issue Details

IDProjectCategoryView StatusLast Update
0001315UBootU-Bootpublic2019-01-17 14:50
ReporterKeller Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionwon't fix 
Product VersionarmStoneA8-V1.1 
Target Versionfss5pv210-V3.0 
Summary0001315: Add command to set the signal drive strength of devices
DescriptionSetting the signal drive strength can be useful to reduce EMC problems. However there is currently no feature in U-Boot to allow setting the drive strength in a comfortable way. We only can set the corresponding registers directly by using memory modification commands like md. And we have to do this all over again at the next start. Therefore add a command sds (signal drive strength) to do this more straightforward.

The command should combine signals that belong together in a group, even if each signal could be configured individually. For example all SPI signals of port 0 should collectively be modified under "SPI0". It is rather unlikely that the signals CLK, MISO and MOSI will be set differently and thus grouping them makes the command more simple.

The command could look like this:

sds [device [value]]

Set or show signal drive strength. If no arguments are given, show current settings for all devices. If only a device is given, show setting for this device only. If also a value is given, set the signal drive strength to the given value. This is either an index to one of the possible values, or it is the drive strength current, if mA is added to the number. Then the command will take the nearest possible signal drive strength that this device can support.

sds will automatically set an environment variable "sds" that holds the settings for all devices that are different to the default value

sds SPI0:1,SPI1:2,I2C0:...,LCD:...

These values are then set automatically at startup.

Examples:
sds SPI0 1 - Set to setting 1 (8mA)
sds SPI1 11mA - Set as close as possible to 11mA (will be 12mA in our example)
sds - Show list with settings of all devices

The list can for example look like this:

Signal Current (Possible values)
----------------------------------------------------------
SPI0 1: 8mA (0: 5mA, 1: 8mA, 2: 12mA, 3: 15mA)
SPI1 2: 12mA (0: 5mA, 1: 8mA, 2: 12mA, 3: 15mA)
I2C0 ...
LCD ...
...
Forum Link

Relationships

related to 0001263 closedKeller Add command to select between dedicated device and GPIO in U-Boot 

Activities

Keller

2012-09-26 09:09

manager   ~0000839

The drive strength should be part of a more general system to configure the pins. For example also the pull-up/down feature and the pin function should be configurable. We'll summarize this under a generic pin muxing or pin configuration command.