[Buildroot] [PATCH 3/5] am33x-cm3: add FW for suspend/resume

Arnout Vandecappelle arnout at mind.be
Sat May 11 06:36:14 UTC 2013


On 11/05/13 06:38, Anders Darander wrote:
> (Resend a as I first sent from an unsubcribed email).
>
> Arnout Vandecappelle <arnout at mind.be <mailto:arnout at mind.be>> wrote:
>
>  >On 09/05/13 22:31, Anders Darander wrote:
>  >> From: Anders Darander <anders at chargestorm.se
>  >>
>  >> Without this firmware, the beaglebone won't be able to reboot
>  >correctly.
>  >>
>  >> Signed-off-by: Anders Darander <anders at chargestorm.se
>  >[snip]
>  >> diff --git a/package/am33x-cm3/am33x-cm3.mk <http://am33x-cm3.mk>
>  >b/package/am33x-cm3/am33x-cm3.mk <http://am33x-cm3.mk>
>  >> new file mode 100644
>  >> index 0000000..6180157
>  >> --- /dev/null
>  >> +++ b/package/am33x-cm3/am33x-cm3.mk <http://am33x-cm3.mk>
>  >> @@ -0,0 +1,26 @@
>  >> +#############################################################
>  >> +#
>  >> +# am33x-cm3
>  >> +#
>  >> +#############################################################
>  >> +
>  >> +# SHA1 corresponds to tag "AM335xPSP_04.06.00.10-rc1"
>  >> +AM33X_CM3_VERSION = 27ca4643e422245a95723de1df0247a00eada45b
>  >
>  >  If it is a tag, then use the tag, not the sha1.
>
> Ok, I'll double check that the tag exists and update the patch.
>
>  >> +AM33X_CM3_SITE = git://arago-project.org/git/projects/am33x-cm3.git
>  >> +AM33X_CM3_METHOD = git
>  >
>  >  Since the site starts with git://, the method is git by default.
>
> I didn't get the fetcher to actually try git unless I added the method
> explicitly. All my previous ťries ended with wget errors.

  Works for me though. But anyway, if you switch to http it's irrelevant.

>
>  >However, if the site supports http, we prefer to use that. Some company
>  >
>  >firewalls block git.
>
> Ok I'll lade if I can find out if http is available.
>
>  >> +AM33X_CM3_LICENSE = TI-BSD
>  >
>  >I don't really like this license name. Either it's BSD (then it should
>  >specify 2-, 3- or 4-clause), or it is not. In the latter case, it would
>  >
>  >be something like "TI Open Source license (BSD-like)".
>
> To be honest, I merely used what TI is using in their own BSP. I'll see
> what it reads like.

  OK I checked and there's nothing BSD-like about it. The full title is
Texas Instruments Incorporated Technology and Software Publicly Available 
Software License Agreement
I propose we abbreviate that to e.g.
TI Publicly Available Software License

>  >> +AM33X_CM3_LICENSE_FILES = License.txt
>  >> +
>  >> +define AM33X_CM3_BUILD_CMDS
>  >> + $(MAKE) CC="$(TARGET_CC)" CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D)
>  >all
>  >
>  >Does it work with $(TARGET_CONFIGURE_OPTS) instead of CC=? If not, then
>  >
>  >please also pass the CFLAGS and LDFLAGS - they may be important.
>  >
>  >However, now I think about it - this is abusing the cross-compiler for
>  >the Cortex-A8 to generate code for the Cortex-M3, correct? In that
>  >case,
>  >passing CFLAGS and LDFLAGS is probably not a good idea. But it would
>  >also
>  >be good to add a note about what is happening here.
>
> I'll add a comment on this. Once again, the technique is taken from the
> TI's BSP.

  I get a lot of

warning: switch -mcpu=cortex-m3 conflicts with -march=armv7-a switch 
[enabled by default]

but I guess these are harmless.

(the -march=armv7-a is added by the toolchain wrapper).

  But I'm not 100% sure if a custom toolchain will actually build for the 
correct architecture. Could you try if the result of something built with 
the buildroot toolchain works correctly? If you want, I can send you the 
.bin file so you don't have to wait an hour for the whole toolchain to 
compile. Or, if you have actually tested it with a buildroot toolchain, 
could you try if it also works with an external Sourcery and/or Linaro 
toolchain?

>  >> +endef
>  >> +
>  >> +# Not all of the firmware files are used
>  >> +define AM33X_CM3_INSTALL_TARGET_CMDS
>  >> + $(INSTALL) -d -m 0755 $(TARGET_DIR)/lib/firmware/
>  >> + $(INSTALL) -m 0644 $(@D)/bin/am335x-pm-firmware.bin
>  >$(TARGET_DIR)/lib/firmware
>  >
>  >  We normally create directories with the -D option to install, so:
>  >
>  > $(INSTALL) -m 0644 -D  $(@D)/bin/am335x-pm-firmware.bin \
>  > $(TARGET_DIR)/lib/firmware/am335x-pm-firmware.bin
>
> Ok, I'll fix that.
>
>  >> + $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/init.d
>  >> + $(INSTALL) -m 0755 package/am33x-cm3/am335x-pm-firmware-load
>  >$(TARGET_DIR)/etc/init.d/S93-am335x-pm-firwmare-load
>  >
>  >  init scripts are installed by a separate variable,
>  >AM33X_CM3_INSTALL_INIT_SYSV. And of course, the same remark about the
>  >-D
>  >option applies.
>
> Thanks, I'm fox that too.
>
> Does that make it install when using busybox init also?

  Yes it does.

  Only when systemd is selected, it doesn't install anything. So ideally 
you should also add a systemd unit file.


  Regards,
  Arnout

>
> Thanks for the feedback!
>
> Cheers,
> Anders
>
> --
> Anders Darander
> ChargeStorm AB          Tel: +46 702 44 84 36
> Laxholmstorget 3        Email: anders at chargestorm.se
> <mailto:anders at chargestorm.se>
> 602 21 Norrköping       Web: www.chargestorm.se <http://www.chargestorm.se>
>
> Sent from my Android phone with K-9 Mail. Please excuse my brevity.
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F



More information about the buildroot mailing list