Re: [PATCH] ARM: i.MX6UL: liteSOM: depend on DDR controller settings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 27, 2019 at 11:04:18AM +0100, Marcin Niestrój wrote:
> 
> Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> writes:
> 
> > On Tue, Feb 26, 2019 at 02:05:29PM +0100, Marcin Niestroj wrote:
> >> Initially we depended on DDR controller settings for liteSOM and liteboard. With
> >> 33fdc89d4cbd ("dts: update to v5.0-rc1") a `device_type = "memory";` property
> >> was added to imx6ul-litesom.dtsi file, which causes "ram0" to be added with
> >> 512MB size (value in dtsi) instead of the real 256MB size that is configured in
> >> barebox-grinn-liteboard-256mb.img. As a result Linux kernel fails to boot.
> >>
> >> Lets depend on DDR controller settings, by removing whole `/memory` node from
> >> device tree. This makes barebox-grinn-liteboard-256mb.img able to boot Linux
> >> kernel once again.
> >
> > This issue should also be fixed by:
> >
> > | commit 8a29e7b493c8c2aa57174c9e79c14b93c9807a4b
> > | Author: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> > | Date:   Tue Feb 12 16:10:41 2019 +0100
> > |
> > |     memory: of_fixup: adapt to new memory layout
> > |
> > |     Since kernel 4.16 the memory nodes got a @<reg> suffix so the fixup
> > |     won't work correctly anymore, because instead of adapting the extisting
> > |     one the fixup creates a new node and keeps the old (maybe incorrect)
> > |     node.
> > |
> > |     To be compatible with the old and new layout delete the found memory
> > |     node and create a new one. The new node follows the new @<reg> style.
> > |
> > |     The patch also renames the node parameter to make it clearer.
> > |
> > |     Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> > |     Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
> >
> > I would prefer this patch as it solves the issue for all boards.
> 
> We need this patch as well. The problem that I want to solve with
> liteboard is configuring memory banks, which is done much earlier. In
> current master branch a single memory bank is added from device-tree
> (of_probe -> ... -> of_add_memory_bank). In case of liteboard this is
> configured to 512MB. Then a imx6_mmdc_add_mem() is executed, which tries
> to add 256MB memory bank (in case of barebox-grinn-liteboard-256mb.img).
> This fails inside barebox_add_memory_bank(), because we get -EBUSY from
> request_iomem_region() there. This makes no problem in Barebox
> yet. However, when booting Linux kernel of_memory_fixup() function gets
> called. It sets 512MB in fdt once again, which results in boot failure
> when jumping into kernel.
> 
> I agree, that it is better to solve this kind of issues for all
> boards. In order to achieve that we need to either:
> 1) "overwrite" in imx6_mmdc_add_mem() what we have set in
>    of_add_memory_bank(),
> 2) make sure imx6_mmdc_add_mem() gets called earlier than
>    of_add_memory_bank().

Ok, I applied it now.

Thanks
 Sascha

-- 
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 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux