Merge lp://qastaging/~linaro-landing-team-freescale/linaro-image-tools/mx53-loco into lp://qastaging/linaro-image-tools/11.11

Proposed by Eric Miao
Status: Merged
Merged at revision: 293
Proposed branch: lp://qastaging/~linaro-landing-team-freescale/linaro-image-tools/mx53-loco
Merge into: lp://qastaging/linaro-image-tools/11.11
Diff against target: 25 lines (+9/-0)
1 file modified
linaro_media_create/boards.py (+9/-0)
To merge this branch: bzr merge lp://qastaging/~linaro-landing-team-freescale/linaro-image-tools/mx53-loco
Reviewer Review Type Date Requested Status
Loïc Minier (community) Approve
James Westby (community) Needs Fixing
Review via email: mp+51757@code.qastaging.launchpad.net

Description of the change

Add support for Freescale i.MX53 LoCo board. It basically derives from mx51evk, with the following changes:
  1. due to RAM starting from 0x7000_0000 on i.MX53, the entry/load addresses are changed accordingly
  2. Freescale released u-boot is used, and the generated format is a padded bin (which means the result image includes a header of 512-byte empty MBR), thus a block of code there to judge the format according to suffix (.imx or .bin), and write the resulting image correctly

To post a comment you must log in.
289. By Eric Miao

Merged lp:linaro-image-tools

Revision history for this message
James Westby (james-w) wrote :

Hi Eric,

Thanks for this. Would you resolve the conflicts be merging trunk
and pushing?

  bzr merge lp:linaro-image-tools
  <edit the files to remove the conflicts>
  bzr resolve
  bzr ci -m "Merge trunk."
  bzr push
  <comment on the merge proposal to let us know it is done>

You may find that the new Mx5Config class in trunk would be
good to inherit from.

Otherwise this is a pretty small change, so it shouldn't be quick
to get it merged.

Thanks,

James

review: Needs Fixing
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

On Fri, 04 Mar 2011 01:41:28 -0000, James Westby <email address hidden> wrote:
> Otherwise this is a pretty small change, so it shouldn't be quick
> to get it merged.

I presume this is a slip of the finger and you mean "should be quick" :)

Cheers,
mwh

Revision history for this message
James Westby (james-w) wrote :

On Fri, 04 Mar 2011 04:16:55 -0000, Michael Hudson-Doyle <email address hidden> wrote:
> On Fri, 04 Mar 2011 01:41:28 -0000, James Westby <email address hidden> wrote:
> > Otherwise this is a pretty small change, so it shouldn't be quick
> > to get it merged.
>
> I presume this is a slip of the finger and you mean "should be quick" :)

Indeed, it was late :-)

Thanks,

James

290. By Eric Miao

Make use of Mx5Config as superclass for Mx53LoCoConfig

Revision history for this message
Eric Miao (eric.y.miao) wrote :

Updated and tested. Please help re-merge. It's now making use of Mx5Config, with a bit difference of installing u-boot, due to the mx53-loco using the padded u-boot.bin instead of unpadded u-boot.imx.

Revision history for this message
Loïc Minier (lool) wrote :
Download full text (5.3 KiB)

        Hey

 Thanks for the updated branch; currently, we have two i.mx51 boards in
 linaro-image-tools defined as follow:
class EfikamxConfig(Mx5Config):
    uboot_flavor = 'efikamx'

class Mx51evkConfig(Mx5Config):
    uboot_flavor = 'mx51evk'

 (that's the whole definition!)

 I believe i.MX53 boots similarly to i.MX51, so I was hoping we could
 achieve something simpler; I've pushed
    lp:~lool/linaro-image-tools/mx53-loco
 with some proposed changes on top of your branch and proposed a merge;
 the board config looks like this now:
class Mx53LoCoConfig(Mx5Config):
    uboot_flavor = 'mx53_loco'
    kernel_addr = '0x70800000'
    initrd_addr = '0x71800000'
    load_addr = '0x70008000'
    kernel_suffix = 'linaro-imx5'

 See below for comments on the diff.

> --- linaro_media_create/boards.py 2011-03-03 13:44:11 +0000
> +++ linaro_media_create/boards.py 2011-03-05 14:45:31 +0000
> @@ -411,6 +411,30 @@
> uboot_flavor = 'mx51evk'
>
>
> +class Mx53LoCoConfig(Mx5Config):
> + uboot_flavor = 'mx53_loco'
> + kernel_addr = '0x70800000'
> + initrd_addr = '0x71800000'
> + load_addr = '0x70008000'
> + kernel_suffix = 'linaro-imx5'

 The kernel suffix we use for i.MX51 boards is currently linaro-mx51;
 for which kernel is the above suffix? Is it a BSP kernel, and if so
 why does it have linaro in the name? If not, could we switch all the
 i.MX51 boards to use it instead of linaro-mx51? It would be nice to
 have a single kernel for all i.MX51 and i.MX53 boards.

 Any reason this is called "imx5" instead of "mx5"? Is this to use the
 same name as SOC_IMX50, SOC_IMX51, SOC_IMX53? SOC_ is used a lot in
 i.MX mach-* subtrees, but not so much in other trees; maybe we should
 use the name from the mach-* subdirectories to name our suffixes?
 (linaro-mx5)

> + @classmethod
> + def _make_boot_files(cls, uboot_parts_dir, boot_cmd, chroot_dir,
> + boot_dir, boot_script, boot_device_or_file):
> + uboot_imx_file = os.path.join(chroot_dir, 'usr', 'lib', 'u-boot', 'mx53_loco', 'u-boot.imx')
> + uboot_bin_file = os.path.join(chroot_dir, 'usr', 'lib', 'u-boot', 'mx53_loco', 'u-boot.bin')

 Above, you're mixing tabs and spaces; because Python relies on the
 indentation to decide how to interpret your code, this is particularly
 dangerous; I've fixed this in my branch.

 Also, it seems 'mx53_loco' should be cls.uboot_flavor; I've fixed this
 in my branch.

> + if os.path.exists(uboot_imx_file):
> + uboot_file = uboot_imx_file
> + uboot_padded = 0
> + else:
> + uboot_file = uboot_bin_file
> + uboot_padded = 1

 Is there a reason why uboot_imx_file would ever be missing from the
 hwpack?

 I looked at u-boot.bin and u-boot.imx for an imx51 board (efikasb)
 built on upstream u-boot, and u-boot.imx was 147848 while u-boot.bin
 was 146824, so u-boot.imx is larger than u-boot.bin. I know u-boot.imx
 is not padded as it's what we dd for other mx5 (imx51) boards, but
 clearly that's not the only difference, otherwise u-boot.bin would be
 exactly 1024 bytes larger than u-boot.imx. So it seems installing
 u-boot.bin or u-boot.imx would not have the result (even after
 adjusting padding); or perhaps your u-bo...

Read more...

Revision history for this message
Eric Miao (eric.y.miao) wrote :
Download full text (6.7 KiB)

On Sun, Mar 6, 2011 at 6:06 AM, Loïc Minier <email address hidden> wrote:
>        Hey
>
>  Thanks for the updated branch; currently, we have two i.mx51 boards in
>  linaro-image-tools defined as follow:
> class EfikamxConfig(Mx5Config):
>    uboot_flavor = 'efikamx'
>
> class Mx51evkConfig(Mx5Config):
>    uboot_flavor = 'mx51evk'
>
>  (that's the whole definition!)
>
>  I believe i.MX53 boots similarly to i.MX51, so I was hoping we could
>  achieve something simpler; I've pushed
>    lp:~lool/linaro-image-tools/mx53-loco
>  with some proposed changes on top of your branch and proposed a merge;
>  the board config looks like this now:
> class Mx53LoCoConfig(Mx5Config):
>    uboot_flavor = 'mx53_loco'
>    kernel_addr = '0x70800000'
>    initrd_addr = '0x71800000'
>    load_addr = '0x70008000'
>    kernel_suffix = 'linaro-imx5'
>
>  See below for comments on the diff.
>
>> --- linaro_media_create/boards.py     2011-03-03 13:44:11 +0000
>> +++ linaro_media_create/boards.py     2011-03-05 14:45:31 +0000
>> @@ -411,6 +411,30 @@
>>      uboot_flavor = 'mx51evk'
>>
>>
>> +class Mx53LoCoConfig(Mx5Config):
>> +    uboot_flavor = 'mx53_loco'
>> +    kernel_addr = '0x70800000'
>> +    initrd_addr = '0x71800000'
>> +    load_addr = '0x70008000'
>> +    kernel_suffix = 'linaro-imx5'
>
>  The kernel suffix we use for i.MX51 boards is currently linaro-mx51;
>  for which kernel is the above suffix?  Is it a BSP kernel, and if so
>  why does it have linaro in the name?  If not, could we switch all the
>  i.MX51 boards to use it instead of linaro-mx51?  It would be nice to
>  have a single kernel for all i.MX51 and i.MX53 boards.

That's my intention too. The problem with upstream kernel is that
the RUNTIME PHYS_OFFSET is not yet there, thus preventing a
single kernel image built for i.MX51 and i.MX53, although work is in
smooth progress, and very hopefully we'll see it in 2.6.39.

And for 11.05 release, we are using a kernel based on Freescale's
2.6.35 BSP, which supports a single kernel for both i.MX51/53
(with those relevant patches backported)

>
>  Any reason this is called "imx5" instead of "mx5"?  Is this to use the
>  same name as SOC_IMX50, SOC_IMX51, SOC_IMX53?  SOC_ is used a lot in
>  i.MX mach-* subtrees, but not so much in other trees; maybe we should
>  use the name from the mach-* subdirectories to name our suffixes?
>  (linaro-mx5)

No specific reason for that. mx5 is perfectly fine.

>
>> +    @classmethod
>> +    def _make_boot_files(cls, uboot_parts_dir, boot_cmd, chroot_dir,
>> +                 boot_dir, boot_script, boot_device_or_file):
>> +        uboot_imx_file = os.path.join(chroot_dir, 'usr', 'lib', 'u-boot', 'mx53_loco', 'u-boot.imx')
>> +     uboot_bin_file = os.path.join(chroot_dir, 'usr', 'lib', 'u-boot', 'mx53_loco', 'u-boot.bin')
>
>  Above, you're mixing tabs and spaces; because Python relies on the
>  indentation to decide how to interpret your code, this is particularly
>  dangerous; I've fixed this in my branch.
>
>  Also, it seems 'mx53_loco' should be cls.uboot_flavor; I've fixed this
>  in my branch.

Yes, you are right.

>
>> +     if os.path.exists(uboot_imx_file):
>> +         uboot_file = uboot_imx_file
>> + ...

Read more...

Revision history for this message
Loïc Minier (lool) wrote :
Download full text (4.4 KiB)

On Sun, Mar 06, 2011, Eric Miao wrote:
> >> +    kernel_suffix = 'linaro-imx5'
> >
> >  The kernel suffix we use for i.MX51 boards is currently linaro-mx51;
> >  for which kernel is the above suffix?  Is it a BSP kernel, and if so
> >  why does it have linaro in the name?  If not, could we switch all the
> >  i.MX51 boards to use it instead of linaro-mx51?  It would be nice to
> >  have a single kernel for all i.MX51 and i.MX53 boards.
>
> That's my intention too. The problem with upstream kernel is that
> the RUNTIME PHYS_OFFSET is not yet there, thus preventing a
> single kernel image built for i.MX51 and i.MX53, although work is in
> smooth progress, and very hopefully we'll see it in 2.6.39.
>
> And for 11.05 release, we are using a kernel based on Freescale's
> 2.6.35 BSP, which supports a single kernel for both i.MX51/53
> (with those relevant patches backported)

 Ok; it seems we wont linux-linaro imx51 + imx53 support by 11.05? Or
 is there any chance that it happens?

 Does your BSP-based kernel add value to imx51 boards too, so that we
 should support installation of your BSP-based kernel on imx51 boards
 like mx51evk, or efikamx?

> >  Any reason this is called "imx5" instead of "mx5"?  Is this to use the
> >  same name as SOC_IMX50, SOC_IMX51, SOC_IMX53?  SOC_ is used a lot in
> >  i.MX mach-* subtrees, but not so much in other trees; maybe we should
> >  use the name from the mach-* subdirectories to name our suffixes?
> >  (linaro-mx5)
> No specific reason for that. mx5 is perfectly fine.

 Ok; my vote would go for linaro-mx5 for linux-linaro based kernels when
 it starts supporting both imx51 and imx53; the BSP-based kernel should
 probably be named lp-mx5 or bsp-mx5, or at least not carry the "linaro"
 name since they are not really built straight from linux-linaro.

 Looking at the existing "lt-foo" hwpacks, I see:
 http://snapshots.linaro.org/11.05-daily/linaro-hwpacks/lt-u8500/latest/0/config/hwpacks/linaro-u8500
 uses linux-u8500 as package name, /boot/vmlinuz-2.6.35-1000-u8500 as
 filename, while:
 http://snapshots.linaro.org/11.05-daily/linaro-hwpacks/lt-s5pv310/latest/0/config/hwpacks/linaro-lt-s5pv310
 uses linux-image-2.6.37-1000-s5pv310 as package name (probably didn't
 upload a meta), /boot/vmlinuz-2.6.38-1000-s5pv310 as filename.

 Since these are PPA only, the name doesn't matter too much, but it
 would be nice if it was unambiguous/non-misleading and consistent; I'm
 sure John Rigby and Jamie Bennett can help ensure the package names are
 consistent, I will start discusson on this. I would find using
 "lt-$CommonSocName" the clearest. It's easy to update
 linaro-image-tools before 11.05 to whatever you pick, but it's a pain
 to change it once linaro-image-tools has been part of
 the 11.05 release with this name supported.

 So we can merge this "linaro-imx5" name right now, but I wouldn't mind
 if we had a bug tracking that this name needs to be fixed.

> >  Is there a reason why uboot_imx_file would ever be missing from the
> >  hwpack?
>
> We're currently using the u-boot from Freescale's BSP since the
> support in upstream is not there yet. Until the mx53 loco patches
> are upstreamed, we can definitely ...

Read more...

Revision history for this message
Eric Miao (eric.y.miao) wrote :
Download full text (4.7 KiB)

On Sun, Mar 6, 2011 at 6:33 PM, Loïc Minier <email address hidden> wrote:
> On Sun, Mar 06, 2011, Eric Miao wrote:
>> >> +    kernel_suffix = 'linaro-imx5'
>> >
>> >  The kernel suffix we use for i.MX51 boards is currently linaro-mx51;
>> >  for which kernel is the above suffix?  Is it a BSP kernel, and if so
>> >  why does it have linaro in the name?  If not, could we switch all the
>> >  i.MX51 boards to use it instead of linaro-mx51?  It would be nice to
>> >  have a single kernel for all i.MX51 and i.MX53 boards.
>>
>> That's my intention too. The problem with upstream kernel is that
>> the RUNTIME PHYS_OFFSET is not yet there, thus preventing a
>> single kernel image built for i.MX51 and i.MX53, although work is in
>> smooth progress, and very hopefully we'll see it in 2.6.39.
>>
>> And for 11.05 release, we are using a kernel based on Freescale's
>> 2.6.35 BSP, which supports a single kernel for both i.MX51/53
>> (with those relevant patches backported)
>
>  Ok; it seems we wont linux-linaro imx51 + imx53 support by 11.05?  Or
>  is there any chance that it happens?

Unless we use Freescale's BSP

>
>  Does your BSP-based kernel add value to imx51 boards too, so that we
>  should support installation of your BSP-based kernel on imx51 boards
>  like mx51evk, or efikamx?

I think not, though we are still trying on that. Me still waiting for my
babbage to clear the Customs.

>
>> >  Any reason this is called "imx5" instead of "mx5"?  Is this to use the
>> >  same name as SOC_IMX50, SOC_IMX51, SOC_IMX53?  SOC_ is used a lot in
>> >  i.MX mach-* subtrees, but not so much in other trees; maybe we should
>> >  use the name from the mach-* subdirectories to name our suffixes?
>> >  (linaro-mx5)
>> No specific reason for that. mx5 is perfectly fine.
>
>  Ok; my vote would go for linaro-mx5 for linux-linaro based kernels when
>  it starts supporting both imx51 and imx53; the BSP-based kernel should
>  probably be named lp-mx5 or bsp-mx5, or at least not carry the "linaro"
>  name since they are not really built straight from linux-linaro.
>
>  Looking at the existing "lt-foo" hwpacks, I see:
>  http://snapshots.linaro.org/11.05-daily/linaro-hwpacks/lt-u8500/latest/0/config/hwpacks/linaro-u8500
>  uses linux-u8500 as package name, /boot/vmlinuz-2.6.35-1000-u8500 as
>  filename, while:
>  http://snapshots.linaro.org/11.05-daily/linaro-hwpacks/lt-s5pv310/latest/0/config/hwpacks/linaro-lt-s5pv310
>  uses linux-image-2.6.37-1000-s5pv310 as package name (probably didn't
>  upload a meta), /boot/vmlinuz-2.6.38-1000-s5pv310 as filename.
>
>  Since these are PPA only, the name doesn't matter too much, but it
>  would be nice if it was unambiguous/non-misleading and consistent; I'm
>  sure John Rigby and Jamie Bennett can help ensure the package names are
>  consistent, I will start discusson on this.  I would find using
>  "lt-$CommonSocName" the clearest.  It's easy to update
>  linaro-image-tools before 11.05 to whatever you pick, but it's a pain
>  to change it once linaro-image-tools has been part of
>  the 11.05 release with this name supported.
>
>  So we can merge this "linaro-imx5" name right now, but I wouldn't mind
>  if we had a bug tracki...

Read more...

Revision history for this message
Loïc Minier (lool) wrote :

On Mon, Mar 07, 2011, Eric Miao wrote:
> >  Ok; it seems we wont linux-linaro imx51 + imx53 support by 11.05?  Or
> >  is there any chance that it happens?
> Unless we use Freescale's BSP

 With *linux-linaro* I meant coming from the linux-linaro git(s), I mean
 Nicolas' tree(s).

--
Loïc Minier

291. By Eric Miao

Merged Loic's changes

292. By Eric Miao

Fix names of uboot_flavor and kernel_suffix

Revision history for this message
Eric Miao (eric.y.miao) wrote :

Tested and should be ready for merge into trunk.

Revision history for this message
Loïc Minier (lool) wrote :

Looks sexily short!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches