| 54d1a4b7 | 29-Aug-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Support properties containing multiple phandle values
At present dtoc has a very simplistic view of phandles. It assumes that a property has only a single phandle with a single argument (i.e.
dtoc: Support properties containing multiple phandle values
At present dtoc has a very simplistic view of phandles. It assumes that a property has only a single phandle with a single argument (i.e. two cells per property).
This is not true in many cases. Enhance the implementation to scan all phandles in a property and to use the correct number of arguments (which can be 0, 1, 2 or more) when generating the C code. For the struct definitions, use a struct which can hold the maximum number of arguments used by the property.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 59e6856d | 29-Aug-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Put each phandle on a separate line
When writing values from properties which contain phandles, dtoc currently writes 8 phandles per line. Change this to write one phandle per line. This helps
dtoc: Put each phandle on a separate line
When writing values from properties which contain phandles, dtoc currently writes 8 phandles per line. Change this to write one phandle per line. This helps reduce line length, since phandles are generally longer and may have arguments.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| cb3f9bf4 | 29-Aug-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Rename is_phandle() and adjust it to return more detail
Update this function to return more detail about a property that contains phandles. This will allow (in a future commit) more accurate h
dtoc: Rename is_phandle() and adjust it to return more detail
Update this function to return more detail about a property that contains phandles. This will allow (in a future commit) more accurate handling of these properties.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 7088d44b | 29-Aug-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Make is_phandle() a member function
This function will need to have access to class members once we enhance it to support multiple phandle values. In preparation for that, move it into the cla
dtoc: Make is_phandle() a member function
This function will need to have access to class members once we enhance it to support multiple phandle values. In preparation for that, move it into the class.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 5a30597a | 29-Aug-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Update the Fdt class to record phandles
Add a map from phandles to nodes. This can be used by clients of the the class instead of maintaining this themselves.
Signed-off-by: Simon Glass <sjg@
dtoc: Update the Fdt class to record phandles
Add a map from phandles to nodes. This can be used by clients of the the class instead of maintaining this themselves.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 4b26144b | 29-Aug-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Handle 'reg' properties with unusual sizes
At present dtoc assumes that all 'reg' properties have both an address and a size. For I2C devices we do not have this. Adjust dtoc to cope.
Reporte
dtoc: Handle 'reg' properties with unusual sizes
At present dtoc assumes that all 'reg' properties have both an address and a size. For I2C devices we do not have this. Adjust dtoc to cope.
Reported-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| a28bfcc3 | 29-Aug-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Add support for 32 or 64-bit addresses
When using 32-bit addresses dtoc works correctly. For 64-bit addresses it does not since it ignores the #address-cells and #size-cells properties.
Updat
dtoc: Add support for 32 or 64-bit addresses
When using 32-bit addresses dtoc works correctly. For 64-bit addresses it does not since it ignores the #address-cells and #size-cells properties.
Update the tool to use fdt64_t as the element type for reg properties when either the address or size is larger than one cell. Use the correct value so that C code can obtain the information from the device tree easily.
Alos create a new type, fdt_val_t, which is defined to either fdt32_t or fdt64_t depending on the word size of the machine. This type corresponds to fdt_addr_t and fdt_size_t. Unfortunately we cannot just use those types since they are defined to phys_addr_t and phys_size_t which use 'unsigned long' in the 32-bit case, rather than 'unsigned int'.
Add tests for the four combinations of address and size values (32/32, 64/64, 32/64, 64/32). Also update existing uses for rk3399 and rk3368 which now need to use the new fdt_val_t type.
Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Heiko Stuebner <heiko@sntech.de> Reported-by: Kever Yang <kever.yang@rock-chips.com>
show more ...
|
| 12a972ef | 29-Aug-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Avoid very long lines in output
Large arrays can result in lines with hundreds or thousands of characters which is not very editor-friendly. To avoid this, addjust the tool to group values 8 p
dtoc: Avoid very long lines in output
Large arrays can result in lines with hundreds or thousands of characters which is not very editor-friendly. To avoid this, addjust the tool to group values 8 per line.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| ef2715f4 | 29-Aug-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Add a 64-bit type and a way to convert cells into 64 bits
When dealing with multi-cell values we need a type that can hold this value. Add this and a function to process it from a list of cell
dtoc: Add a 64-bit type and a way to convert cells into 64 bits
When dealing with multi-cell values we need a type that can hold this value. Add this and a function to process it from a list of cell values.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
show more ...
|
| 30107b08 | 19-Jun-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Add a comment about string replace in conv_name_to_c()
This function uses several separate string replaces where a regular expression might seem more reasonable. Add a comment justifying the w
dtoc: Add a comment about string replace in conv_name_to_c()
This function uses several separate string replaces where a regular expression might seem more reasonable. Add a comment justifying the way it is currently done.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| fa0ea5b0 | 19-Jun-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Move the main logic into the dtb_platdata file
Collect the main logic of dtoc into a function and put it into dtb_platdata. This will allow tests to use this function instead of duplicating th
dtoc: Move the main logic into the dtb_platdata file
Collect the main logic of dtoc into a function and put it into dtb_platdata. This will allow tests to use this function instead of duplicating the code themselves.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 56e0bbe0 | 19-Jun-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Move static functions out of the class
Rather than using static functions within the class, move them out of the class. This will make it slightly easier for tests to call them.
Signed-off-by
dtoc: Move static functions out of the class
Rather than using static functions within the class, move them out of the class. This will make it slightly easier for tests to call them.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| e36024b0 | 19-Jun-2017 |
Simon Glass <sjg@chromium.org> |
dtoc: Pass include_disabled explicitly
This option is the only one actually used by the dtb_platdata class. Pass it explicitly to avoid needing to pass the whole option object to the constructor.
S
dtoc: Pass include_disabled explicitly
This option is the only one actually used by the dtb_platdata class. Pass it explicitly to avoid needing to pass the whole option object to the constructor.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|