[U-Boot] Porting a freescale sabrelite-like board to master ?

Hi,
The board I am working on, is based on the Freescale sabrelite board, the manufacturer provides support for it , as an about 1000 lines patch that applies to rel_imx_3.0.35_4.1.0 (3.0.35_4.1.0 is the kernel version I am using)
As that freescale version is too old for me (that is, it does not have support for USB or splashscreen), I would like to use the latest version of mainline u-boot.
I am a little puzzled, when I see that sabrelite support has been removed from main, it seems to have been replaced by the nitrogen board, so my manufacturer patch -badly- applies, especially due to the disparition of flash_header.S ...
I quickly found out that attempting a git rebase of rel_imx_3.0.35_4.1.0 to master was a bad idea, too.
So what would be the easiest and time less costing option to achieve what I want to do ?
Best regards Thierry

Dear Thierry,
In message 5308E4D1.5000509@free.fr you wrote:
The board I am working on, is based on the Freescale sabrelite board, the manufacturer provides support for it , as an about 1000 lines patch that applies to rel_imx_3.0.35_4.1.0 (3.0.35_4.1.0 is the kernel version I am using)
The kernel version is actually totally uninteresting here. What matters is what U-Boot version you have. Let me guess - it is some v2009.x - i. e. 5 year old stuff?
So what would be the easiest and time less costing option to achieve what I want to do ?
It is best to take current code (top of tree in git repository) and port it to your hardware from scratch. You can use your old code as reference, for example how to set up pin muxing and such. Otherwise it is pretty much worthless.
Best regards,
Wolfgang Denk

Le 22/02/2014 20:20, Wolfgang Denk a écrit :
Dear Thierry,
In message 5308E4D1.5000509@free.fr you wrote:
The board I am working on, is based on the Freescale sabrelite board, the manufacturer provides support for it , as an about 1000 lines patch that applies to rel_imx_3.0.35_4.1.0 (3.0.35_4.1.0 is the kernel version I am using)
The kernel version is actually totally uninteresting here. What matters is what U-Boot version you have. Let me guess - it is some v2009.x - i. e. 5 year old stuff?
Dear Wolfgang,
Sorry for the confusion. I should have been more specific. What I meant is that my current u-boot version is tag "rel_imx_3.0.35_4.1.0" from http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git
If I was mentioning the kernel version, it is just to say that switching to a more recent kernel version is not an option, because we do not have a device tree BSP for it.
So what would be the easiest and time less costing option to achieve what I want to do ?
It is best to take current code (top of tree in git repository) and port it to your hardware from scratch. You can use your old code as reference, for example how to set up pin muxing and such. Otherwise it is pretty much worthless.
If the sabrelite board would still be supported in master, it would be straightforward. So I am thinking about re-bringing support for sabrelite my branch, first.
Best regards Thierry
Best regards,
Wolfgang Denk

Hi Thierry,
On Sat, Feb 22, 2014 at 5:01 PM, Thierry Bultel tbultel@free.fr wrote:
If the sabrelite board would still be supported in master, it would be straightforward.
sabrelite is still supported in master. Its source is located at board/boundary/nitrogen6x/nitrogen6x.c
Regards,
Fabio Estevam

Hi Thierry,
On 02/22/2014 01:01 PM, Thierry Bultel wrote:
Le 22/02/2014 20:20, Wolfgang Denk a écrit :
Dear Thierry,
In message 5308E4D1.5000509@free.fr you wrote:
The board I am working on, is based on the Freescale sabrelite board, the manufacturer provides support for it , as an about 1000 lines patch that applies to rel_imx_3.0.35_4.1.0 (3.0.35_4.1.0 is the kernel version I am using)
The kernel version is actually totally uninteresting here. What matters is what U-Boot version you have. Let me guess - it is some v2009.x - i. e. 5 year old stuff?
Dear Wolfgang,
Sorry for the confusion. I should have been more specific. What I meant is that my current u-boot version is tag "rel_imx_3.0.35_4.1.0" from http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git
If I was mentioning the kernel version, it is just to say that switching to a more recent kernel version is not an option, because we do not have a device tree BSP for it.
Support for SABRE Lite is in the main-line kernel as well, but that's a completely separate topic.
So what would be the easiest and time less costing option to achieve what I want to do ?
It is best to take current code (top of tree in git repository) and port it to your hardware from scratch. You can use your old code as reference, for example how to set up pin muxing and such. Otherwise it is pretty much worthless.
If the sabrelite board would still be supported in master, it would be straightforward. So I am thinking about re-bringing support for sabrelite my branch, first.
It **is** still in master. It just uses board/boundary/nitrogen6x.c as the implementation.
It doesn't look anything like the 2009.08 code base, because, as Wolfgang said, that's very old.
Regards,
Eric

Dear Thierry,
In message 53090207.5060003@free.fr you wrote:
The kernel version is actually totally uninteresting here. What matters is what U-Boot version you have. Let me guess - it is some v2009.x - i. e. 5 year old stuff?
...
Sorry for the confusion. I should have been more specific. What I meant is that my current u-boot version is tag "rel_imx_3.0.35_4.1.0" from http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git
Yes - which is, as I guessed, based on U-Boot v2009.08 (i. e. 5 yeards old code plus a zillion out-of-tree patches). This is totally unusable for any commercial project; the code is unmaintainable.
So I am thinking about re-bringing support for sabrelite my branch, first.
As others have explained, this is not your problem. But you still have to port U-Boot to your own hardware.
Best regards,
Wolfgang Denk

Hi Thierry,
On 02/22/2014 10:56 AM, Thierry Bultel wrote:
Hi,
The board I am working on, is based on the Freescale sabrelite board, the manufacturer provides support for it, as an about 1000 lines patch that applies to rel_imx_3.0.35_4.1.0 (3.0.35_4.1.0 is the kernel version I am using)
Are you referring to **another** manufacturer?
We have support for SABRE Lite in main-line and are actively maintaining it.
As that freescale version is too old for me (that is, it does not have support for USB or splashscreen), I would like to use the latest version of mainline u-boot.
You should start by using a board file based on Nitrogen6x (which contains support for both Nitrogen6x and SABRE Lite by looking at one pin: http://git.denx.de/?p=u-boot.git;a=blob;f=board/boundary/nitrogen6x/nitrogen...
I am a little puzzled, when I see that sabrelite support has been removed from main, it seems to have been replaced by the nitrogen board, so my manufacturer patch -badly- applies, especially due to the disparition of flash_header.S ...
The differences are minor and explained in more detail here: http://boundarydevices.com/differences-sabre-lite-nitrogen6x
I quickly found out that attempting a git rebase of rel_imx_3.0.35_4.1.0 to master was a bad idea, too.
So what would be the easiest and time less costing option to achieve what I want to do ?
I'd recommend starting with main-line Nitrogen6x code base, and update as needed for your particulars.
Regards,
Eric

Hi Eric
Are you referring to **another** manufacturer?
We have support for SABRE Lite in main-line and are actively maintaining it.
What about i.MX6DL SABRE Auto ? Is it in main-line too ? If yes, which config file should I use ?
By looking at boards.cfg, I could find mx6qsabreauto, ma6dlsabrelite, nitrogen6dl..., but there is no something like mx6dlsabreauto.
The support of it is also in freesacle git mentioned by Thierry
http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/?h=imx_v2009....
Thanks, Miao
As that freescale version is too old for me (that is, it does not have support for USB or splashscreen), I would like to use the latest version of mainline u-boot.
You should start by using a board file based on Nitrogen6x (which contains support for both Nitrogen6x and SABRE Lite by looking at one pin: http://git.denx.de/?p=u- boot.git;a=blob;f=board/boundary/nitrogen6x/nitrogen6x.c;h=d9c05b07bfa e83466513735cbec95c7f949de7a5;hb=HEAD#l736
I am a little puzzled, when I see that sabrelite support has been removed from main, it seems to have been replaced by the nitrogen board, so my manufacturer patch -badly- applies, especially due to the disparition of flash_header.S ...
The differences are minor and explained in more detail here: http://boundarydevices.com/differences-sabre-lite-nitrogen6x
I quickly found out that attempting a git rebase of rel_imx_3.0.35_4.1.0 to master was a bad idea, too.
So what would be the easiest and time less costing option to achieve what I want to do ?
I'd recommend starting with main-line Nitrogen6x code base, and update as needed for your particulars.
Regards,
Eric _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
participants (5)
-
Eric Nelson
-
Fabio Estevam
-
Thierry Bultel
-
Wolfgang Denk
-
Yan, Miao