[PATCH] mtd: make sure address-cells/size-cells are set when adding partition nodes

Sascha Hauer s.hauer at pengutronix.de
Fri Sep 16 01:03:41 PDT 2016

On Thu, Sep 15, 2016 at 08:03:26AM +0200, Michael Olbrich wrote:
> address-cells/size-cells can either be set to 1 or 2 for 32 or 63 bit
> addresses respectively. Barebox currently writes 32 bit addresses.
> This makes sure that address-cells/size-cells are both set and have the
> correct value.
> Signed-off-by: Michael Olbrich <m.olbrich at pengutronix.de>
> ---
> Hi,
> this is just a minor fix. What is really needed it support for 64 bit
> addressing.

Looking at the code this is already implemented. It already creates the
reg property using of_write_number() and honouring of_n_addr_cells() /
of_n_size_cells(). This of course only works when the target device tree
already has the #address-cells and #size-cells properties with the
correct values. So instead of just setting them to hardcoded '1' you
should set them to the desired value, the loop below should do the rest

> Also, the bindings documentation says that all partitions
> should be in a 'partitions' sub node. The main question here is probably
> which kernel version introduced these features and what should be supported
> by barebox.

The partitions subnode was introduced with 4.4, so we better do not rely
on the kernel being able to handle it.

What we can and probably should do is to look into the target device tree
if it already has a partitions subnode with compatible = "fixed-partitions"
and if does, use it.


Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

More information about the barebox mailing list