[meta-ti] [PATCH] am33x-cm3: add firmware for am33x suspend/resume
Denys Dmytriyenko
denis at denix.org
Thu Apr 12 13:09:41 PDT 2012
Koen,
I'm commenting on both of your patches together...
am33x-cm3:
> +++ b/recipes-bsp/ti/am33x-cm3_git.bb
>
> +do_install() {
> + install -d ${D}${base_libdir}/firmware
> + install -m 0644 bin/am335x-pm-firmware.bin ${D}${base_libdir}/firmware/
> +}
linux-ti33x-psp:
> This fixes most PM operations: cpufreq, cpuidle and suspend. Resume does not
> work on beaglebone, but 3 out of 4 ain't bad :)
>
> The M3 firmware needed for suspend/resume is used as a binary, building it
> from source and including it from sysroots is planned for future commits.
>
> +++ b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
>
> +do_compile_prepend() {
> + cp ${WORKDIR}/am335x-pm-firmware.bin ${S}/firmware/
> +}
Have you looked at how it's done in Arago/AM-SDK? The firmware is staged in
the sysroots and gets picked up by the kernel:
do_install() {
install -d ${STAGING_FIRMWARE_DIR}/am33x-cm3
install ${S}/bin/am335x-pm-firmware.bin {STAGING_FIRMWARE_DIR}/am33x-cm3/
}
Where the kernel then copies it to ${S}/firmware:
# Copy the am33x-cm3 firmware if it is available
do_compile_prepend() {
if [ -e "${STAGING_FIRMWARE_DIR}/am33x-cm3/am335x-pm-firmware.bin" ]
then
cp "${STAGING_FIRMWARE_DIR}/am33x-cm3/am335x-pm-firmware.bin" ${S}/firmware"
fi
}
It's not the most elegant solution either, but at least it gets around the
need to keep the binary version of the firmware in the repository with the
kernel recipe...
Do you want me to make similar changes to your patches? Or do you have any
arguments against this approach?
--
Denys
More information about the meta-ti
mailing list