[U-Boot] Nand boot on imx6q board is broken

Hi Everyone,
I'm trying to boot imx6q board from nand but it seems like mainline u-boot nand boot support for imx6q board is broken.
It is working till v2017.05 with this fix [1].
I'm using this as my stub: https://github.com/openedev/u-boot-amarula/tree/icore-nand
When I git bisect between v2017.05 and v2017.07, found this commit which is further breaking the nand boot support: ------ ommit bc1fe9006dfaacc5103b5c7057a62215844957b7 Author: Jagan Teki jagan@amarulasolutions.com Date: Sun May 7 02:43:05 2017 +0530
icorem6: Make SPL to pick suitable fdt
SPL FIT is able to pick the suitable fdt file for u-boot, so add that function through board_fit_config_name_match.
Cc: Stefano Babic sbabic@denx.de Cc: Matteo Lisi matteo.lisi@engicam.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com ----- And It is fixed with this [2].
In mainline u-boot we already have fix [1] and [2] available but nand boot is still broken. It seems like problem is some where else, fix [1] and [2] are just making the bug appear less frequently.
logs: [3] nand boot working [4] Nand boot not working
Has anyone else faced or fixed the same issue on imx6 board. Please let me know.
[1] https://paste.ubuntu.com/p/nKq7SNWDrn/ [2] https://paste.ubuntu.com/p/tXqbx5dVPJ/ [3] https://paste.ubuntu.com/p/DcBQ4gcSCM/ [4] https://paste.ubuntu.com/p/WVtrqfdVQT/
Thanks a lot, Shyam

On Wed, Jan 30, 2019 at 11:40 PM Shyam Saini shyam@amarulasolutions.com wrote:
Hi Everyone,
I'm trying to boot imx6q board from nand but it seems like mainline u-boot nand boot support for imx6q board is broken.
I spent some time trying to make the imx6q_logic board boot from SPL from NAND, but I needed to patch a few things. Some of them have yet to be approved, but if they work for you, maybe it will help get them approved.
There was a broken function pointer here that was fixed and applied the imx-master, but pending merge with master http://patchwork.ozlabs.org/patch/1019440/
Configure ECC from SPL here: http://patchwork.ozlabs.org/patch/1020160/
Remove hard-coded ECC parameters since the patch above can autoset them. http://patchwork.ozlabs.org/patch/1026638/
With those 3 patches and some minor changes to my individual board file and config file, I was able to boot 2019.01 via SPL from NAND. Since it was working for you before, I am guessing the board file stuff and config file stuff is probably already for you.
adam
It is working till v2017.05 with this fix [1].
I'm using this as my stub: https://github.com/openedev/u-boot-amarula/tree/icore-nand
When I git bisect between v2017.05 and v2017.07, found this commit which is further breaking the nand boot support:
ommit bc1fe9006dfaacc5103b5c7057a62215844957b7 Author: Jagan Teki jagan@amarulasolutions.com Date: Sun May 7 02:43:05 2017 +0530
icorem6: Make SPL to pick suitable fdt SPL FIT is able to pick the suitable fdt file for u-boot, so add that function through board_fit_config_name_match. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
And It is fixed with this [2].
In mainline u-boot we already have fix [1] and [2] available but nand boot is still broken. It seems like problem is some where else, fix [1] and [2] are just making the bug appear less frequently.
logs: [3] nand boot working [4] Nand boot not working
Has anyone else faced or fixed the same issue on imx6 board. Please let me know.
[1] https://paste.ubuntu.com/p/nKq7SNWDrn/ [2] https://paste.ubuntu.com/p/tXqbx5dVPJ/ [3] https://paste.ubuntu.com/p/DcBQ4gcSCM/ [4] https://paste.ubuntu.com/p/WVtrqfdVQT/
Thanks a lot, Shyam _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

On Thu, Jan 31, 2019 at 8:53 PM Adam Ford aford173@gmail.com wrote:
On Wed, Jan 30, 2019 at 11:40 PM Shyam Saini shyam@amarulasolutions.com wrote:
Hi Everyone,
I'm trying to boot imx6q board from nand but it seems like mainline u-boot nand boot support for imx6q board is broken.
I spent some time trying to make the imx6q_logic board boot from SPL from NAND, but I needed to patch a few things. Some of them have yet to be approved, but if they work for you, maybe it will help get them approved.
There was a broken function pointer here that was fixed and applied the imx-master, but pending merge with master http://patchwork.ozlabs.org/patch/1019440/
Configure ECC from SPL here: http://patchwork.ozlabs.org/patch/1020160/
Remove hard-coded ECC parameters since the patch above can autoset them. http://patchwork.ozlabs.org/patch/1026638/
With those 3 patches and some minor changes to my individual board file and config file, I was able to boot 2019.01 via SPL from NAND. Since it was working for you before, I am guessing the board file stuff and config file stuff is probably already for you.
Thanks for your inputs Adam.
I was initially fixed the board and spl nand detection changes, I hope these changes would resolve. let's see.

Hi Adam,
Thanks a lot for replying.
I spent some time trying to make the imx6q_logic board boot from SPL from NAND, but I needed to patch a few things. Some of them have yet to be approved, but if they work for you, maybe it will help get them approved.
There was a broken function pointer here that was fixed and applied the imx-master, but pending merge with master http://patchwork.ozlabs.org/patch/1019440/
Configure ECC from SPL here: http://patchwork.ozlabs.org/patch/1020160/
Remove hard-coded ECC parameters since the patch above can autoset them. http://patchwork.ozlabs.org/patch/1026638/
With those 3 patches and some minor changes to my individual board file and config file, I was able to boot 2019.01 via SPL from NAND. Since it was working for you before, I am guessing the board file stuff and config file stuff is probably already for you.
I did apply the above mentioned 3 patches but nand boot is still not working.
Here are debug enabled boot logs https://paste.ubuntu.com/p/dmcwqzv6Sk/
Best Regards, Shyam

On Thu, Jan 31, 2019 at 7:58 AM Shyam Saini shyam@amarulasolutions.com wrote:
Hi Adam,
Thanks a lot for replying.
I spent some time trying to make the imx6q_logic board boot from SPL from NAND, but I needed to patch a few things. Some of them have yet to be approved, but if they work for you, maybe it will help get them approved.
There was a broken function pointer here that was fixed and applied the imx-master, but pending merge with master http://patchwork.ozlabs.org/patch/1019440/
Configure ECC from SPL here: http://patchwork.ozlabs.org/patch/1020160/
Remove hard-coded ECC parameters since the patch above can autoset them. http://patchwork.ozlabs.org/patch/1026638/
With those 3 patches and some minor changes to my individual board file and config file, I was able to boot 2019.01 via SPL from NAND. Since it was working for you before, I am guessing the board file stuff and config file stuff is probably already for you.
I did apply the above mentioned 3 patches but nand boot is still not working.
Here are debug enabled boot logs https://paste.ubuntu.com/p/dmcwqzv6Sk/
Your U-Boot version shows the version is U-Boot SPL 2016.09-rc2-gc347b70c408b which is a couple years old. Can you try 2019.01 with those patches I mentioned or the imx branch? I know there have been changes to U-Boot over time.
The last of the patches I applied to set the final configuration settings for my board to boot from NAND are here: http://patchwork.ozlabs.org/patch/1024016/
I don't know if that helps your board or not.
adam
Best Regards, Shyam

Hi
On Thu., 31 Jan. 2019, 6:26 pm Adam Ford <aford173@gmail.com wrote:
On Thu, Jan 31, 2019 at 7:58 AM Shyam Saini shyam@amarulasolutions.com wrote:
Hi Adam,
Thanks a lot for replying.
I spent some time trying to make the imx6q_logic board boot from SPL from NAND, but I needed to patch a few things. Some of them have yet to be approved, but if they work for you, maybe it will help get them approved.
There was a broken function pointer here that was fixed and applied the imx-master, but pending merge with master http://patchwork.ozlabs.org/patch/1019440/
Configure ECC from SPL here: http://patchwork.ozlabs.org/patch/1020160/
Remove hard-coded ECC parameters since the patch above can autoset
them.
http://patchwork.ozlabs.org/patch/1026638/
With those 3 patches and some minor changes to my individual board file and config file, I was able to boot 2019.01 via SPL from NAND. Since it was working for you before, I am guessing the board file stuff and config file stuff is probably already for you.
I did apply the above mentioned 3 patches but nand boot is still not
working.
Here are debug enabled boot logs https://paste.ubuntu.com/p/dmcwqzv6Sk/
Your U-Boot version shows the version is U-Boot SPL 2016.09-rc2-gc347b70c408b which is a couple years old. Can you try 2019.01 with those patches I mentioned or the imx branch? I know there have been changes to U-Boot over time.
The last of the patches I applied to set the final configuration settings for my board to boot from NAND are here: http://patchwork.ozlabs.org/patch/1024016/
I don't know if that helps your board or not.
Look the end ;)
Michael
adam
Best Regards, Shyam
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

Hi,
On Thu, 2019-01-31 at 07:22 -0800, Adam Ford wrote:
On Wed, Jan 30, 2019 at 11:40 PM Shyam Saini shyam@amarulasolutions.com wrote:
Hi Everyone,
I'm trying to boot imx6q board from nand but it seems like mainline u-boot nand boot support for imx6q board is broken.
I spent some time trying to make the imx6q_logic board boot from SPL from NAND, but I needed to patch a few things. Some of them have yet to be approved, but if they work for you, maybe it will help get them approved.
There was a broken function pointer here that was fixed and applied the imx-master, but pending merge with master http://patchwork.ozlabs.org/patch/1019440/
Configure ECC from SPL here: http://patchwork.ozlabs.org/patch/1020160/
Remove hard-coded ECC parameters since the patch above can autoset them. http://patchwork.ozlabs.org/patch/1026638/
With those 3 patches and some minor changes to my individual board file and config file, I was able to boot 2019.01 via SPL from NAND. Since it was working for you before, I am guessing the board file stuff and config file stuff is probably already for you.
adam
I can confirm that applying these three patches fixes booting from NAND on a custom i.MX6ULL board with Micron NAND flash.
Jörg
It is working till v2017.05 with this fix [1].
I'm using this as my stub: https://github.com/openedev/u-boot-amarula/tree/icore-nand
When I git bisect between v2017.05 and v2017.07, found this commit which is further breaking the nand boot support:
ommit bc1fe9006dfaacc5103b5c7057a62215844957b7 Author: Jagan Teki jagan@amarulasolutions.com Date: Sun May 7 02:43:05 2017 +0530
icorem6: Make SPL to pick suitable fdt SPL FIT is able to pick the suitable fdt file for u-boot, so add that function through board_fit_config_name_match. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
And It is fixed with this [2].
In mainline u-boot we already have fix [1] and [2] available but nand boot is still broken. It seems like problem is some where else, fix [1] and [2] are just making the bug appear less frequently.
logs: [3] nand boot working [4] Nand boot not working
Has anyone else faced or fixed the same issue on imx6 board. Please let me know.
[1] https://paste.ubuntu.com/p/nKq7SNWDrn/ [2] https://paste.ubuntu.com/p/tXqbx5dVPJ/ [3] https://paste.ubuntu.com/p/DcBQ4gcSCM/ [4] https://paste.ubuntu.com/p/WVtrqfdVQT/
Thanks a lot, Shyam _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

On Sat, Feb 2, 2019 at 5:17 AM Jörg Krause joerg.krause@embedded.rocks wrote:
Hi,
On Thu, 2019-01-31 at 07:22 -0800, Adam Ford wrote:
On Wed, Jan 30, 2019 at 11:40 PM Shyam Saini shyam@amarulasolutions.com wrote:
Hi Everyone,
I'm trying to boot imx6q board from nand but it seems like mainline u-boot nand boot support for imx6q board is broken.
I spent some time trying to make the imx6q_logic board boot from SPL from NAND, but I needed to patch a few things. Some of them have yet to be approved, but if they work for you, maybe it will help get them approved.
There was a broken function pointer here that was fixed and applied the imx-master, but pending merge with master http://patchwork.ozlabs.org/patch/1019440/
Configure ECC from SPL here: http://patchwork.ozlabs.org/patch/1020160/
Remove hard-coded ECC parameters since the patch above can autoset them. http://patchwork.ozlabs.org/patch/1026638/
With those 3 patches and some minor changes to my individual board file and config file, I was able to boot 2019.01 via SPL from NAND. Since it was working for you before, I am guessing the board file stuff and config file stuff is probably already for you.
adam
I can confirm that applying these three patches fixes booting from NAND on a custom i.MX6ULL board with Micron NAND flash.
Would you mind replaying to the various patch threads adding your 'tested-by'?
thanks adam
Jörg
It is working till v2017.05 with this fix [1].
I'm using this as my stub: https://github.com/openedev/u-boot-amarula/tree/icore-nand
When I git bisect between v2017.05 and v2017.07, found this commit which is further breaking the nand boot support:
ommit bc1fe9006dfaacc5103b5c7057a62215844957b7 Author: Jagan Teki jagan@amarulasolutions.com Date: Sun May 7 02:43:05 2017 +0530
icorem6: Make SPL to pick suitable fdt SPL FIT is able to pick the suitable fdt file for u-boot, so add that function through board_fit_config_name_match. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
And It is fixed with this [2].
In mainline u-boot we already have fix [1] and [2] available but nand boot is still broken. It seems like problem is some where else, fix [1] and [2] are just making the bug appear less frequently.
logs: [3] nand boot working [4] Nand boot not working
Has anyone else faced or fixed the same issue on imx6 board. Please let me know.
[1] https://paste.ubuntu.com/p/nKq7SNWDrn/ [2] https://paste.ubuntu.com/p/tXqbx5dVPJ/ [3] https://paste.ubuntu.com/p/DcBQ4gcSCM/ [4] https://paste.ubuntu.com/p/WVtrqfdVQT/
Thanks a lot, Shyam _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
participants (5)
-
Adam Ford
-
Jagan Teki
-
Jörg Krause
-
Michael Nazzareno Trimarchi
-
Shyam Saini