mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-25 20:43:32 +00:00
54aa07fdfc
This uses the newly-added dm_gpio_get_values_as_int_base3 function to implement a sysinfo device. The revision map is stored in the device tree. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Simon Glass <sjg@chromium.org>
37 lines
1.2 KiB
Text
37 lines
1.2 KiB
Text
GPIO-based Sysinfo device
|
|
|
|
This binding describes several GPIOs which specify a board revision. Each GPIO
|
|
forms a digit in a ternary revision number. This revision is then mapped to a
|
|
name using the revisions and names properties.
|
|
|
|
Each GPIO may be floating, pulled-up, or pulled-down, mapping to digits 2, 1,
|
|
and 0, respectively. The first GPIO forms the least-significant digit of the
|
|
revision. For example, consider the property
|
|
|
|
gpios = <&gpio 0>, <&gpio 1>, <&gpio 2>;
|
|
|
|
If GPIO 0 is pulled-up, GPIO 1 is pulled-down, and GPIO 2 is floating, then the
|
|
revision would be
|
|
|
|
0t201 = 2*9 + 0*3 + 1*3 = 19
|
|
|
|
If instead GPIO 0 is floating, GPIO 1 is pulled-up, and GPIO 2 is pulled-down,
|
|
then the revision would be
|
|
|
|
0t012 = 0*9 + 1*3 + 2*1 = 5
|
|
|
|
Required properties:
|
|
- compatible: should be "gpio-sysinfo".
|
|
- gpios: should be a list of gpios forming the revision number,
|
|
least-significant-digit first
|
|
- revisions: a list of known revisions; any revisions not present will have the
|
|
name "unknown"
|
|
- names: the name of each revision in revisions
|
|
|
|
Example:
|
|
sysinfo {
|
|
compatible = "gpio-sysinfo";
|
|
gpios = <&gpio_a 15>, <&gpio_a 16>, <&gpio_a 17>;
|
|
revisions = <19>, <5>;
|
|
names = "rev_a", "foo";
|
|
};
|