It is useful to able to write an identifying string to the image within an entry. Add a 'text' entry type to handle this. The actual text is typically passed to binman on the command line. The text is not itself nul-terminated but this can be achieved if required by setting the size of the entry to something larger than the text. Signed-off-by: Simon Glass <sjg@chromium.org>lime2-spi
parent
53af22a995
commit
bb74837c9a
@ -0,0 +1,50 @@ |
||||
# SPDX-License-Identifier: GPL-2.0+ |
||||
# Copyright (c) 2018 Google, Inc |
||||
# Written by Simon Glass <sjg@chromium.org> |
||||
# |
||||
|
||||
from collections import OrderedDict |
||||
|
||||
from entry import Entry, EntryArg |
||||
import fdt_util |
||||
|
||||
|
||||
class Entry_text(Entry): |
||||
"""An entry which contains text |
||||
|
||||
The text can be provided either in the node itself or by a command-line |
||||
argument. |
||||
|
||||
Example node: |
||||
|
||||
text { |
||||
size = <50>; |
||||
text-label = "message"; |
||||
}; |
||||
|
||||
You can then use: |
||||
|
||||
binman -amessage="this is my message" |
||||
|
||||
and binman will insert that string into the entry. |
||||
|
||||
It is also possible to put the string directly in the node: |
||||
|
||||
text { |
||||
size = <8>; |
||||
text-label = "message"; |
||||
message = "a message directly in the node" |
||||
}; |
||||
|
||||
The text is not itself nul-terminated. This can be achieved, if required, |
||||
by setting the size of the entry to something larger than the text. |
||||
""" |
||||
def __init__(self, section, etype, node): |
||||
Entry.__init__(self, section, etype, node) |
||||
self.text_label, = self.GetEntryArgsOrProps( |
||||
[EntryArg('text-label', str)]) |
||||
self.value, = self.GetEntryArgsOrProps([EntryArg(self.text_label, str)]) |
||||
|
||||
def ObtainContents(self): |
||||
self.SetContents(self.value) |
||||
return True |
@ -0,0 +1,28 @@ |
||||
// SPDX-License-Identifier: GPL-2.0+ |
||||
/dts-v1/; |
||||
|
||||
/ { |
||||
#address-cells = <1>; |
||||
#size-cells = <1>; |
||||
|
||||
binman { |
||||
text { |
||||
size = <8>; |
||||
text-label = "test-id"; |
||||
}; |
||||
text2 { |
||||
type = "text"; |
||||
text-label = "test-id2"; |
||||
}; |
||||
text3 { |
||||
type = "text"; |
||||
text-label = "test-id3"; |
||||
}; |
||||
/* This one does not use command-line args */ |
||||
text4 { |
||||
type = "text"; |
||||
text-label = "test-id4"; |
||||
test-id4 = "some text"; |
||||
}; |
||||
}; |
||||
}; |
Loading…
Reference in new issue