Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SOF v2.3 #106

Merged
merged 3 commits into from
Oct 27, 2022
Merged

SOF v2.3 #106

merged 3 commits into from
Oct 27, 2022

Conversation

mengdonglin
Copy link
Contributor

Add v2.3 firmware binaries for Intel Tiger Lake, Alder Lake, and Raptor Lake platforms. This is the first release using Zephyr as the RTOS on these 3 platforms: https://github.com/thesofproject/sof/releases/tag/v2.3

Please note

  • v2.2.x is still the recommended stable release for Linux distributions. v2.3 is for community hobbyist to try Zephyr FW builds on TGL/ADL/RPL.
  • Name prefix sofz- is used for v2.3 FW to avoid name conflict with v2.2.x FW using XTOS as the RTOS.
  • The v2.3 tarball will combine v2.2.x FW & topology binaries with v2.3 FW binaries. After installation, the default FW binaries are still v2.2.x. To use v2.3 FW, please set kernel parameter fw_filename=sofz-<platform name>.ri

@mengdonglin
Copy link
Contributor Author

Still debugging the checksum difference between community-signed and Intel-signed FW binaries.

@mengdonglin mengdonglin marked this pull request as ready for review October 25, 2022 10:03
@mengdonglin
Copy link
Contributor Author

mengdonglin commented Oct 25, 2022

@lgirdwood @marc-hb I think the PR is ready to merge.

The PR BATS check failure is caused by a known issue on Zephyr side: The devicetree dependencies in .__device_handles_pass2 section has the same content but maybe in different order in different builds.

This issue was fixed by commit scripts: gen_handles: Sort the device handles in Zephyr upstream.

This fix is not in Zephyr snapshot for SOF v2.3

But with the fix we can compare different builds in future releases.

@marc-hb
Copy link
Collaborator

marc-hb commented Oct 25, 2022

This issue was fixed by commit scripts: gen_handles: Sort the device handles (zephyrproject-rtos/zephyr#48195) in Zephyr upstream.

Great find.

Can we backport this to a new stable-v2.3 branch here? https://github.com/thesofproject/zephyr/branches

We may need this stable branch in the future anyway for other reasons.

Then we can tag and release SOF v2.3.1 with it and make sure there's no mismatch.

@lgirdwood
Copy link
Member

Since this is a device tree ordering issue (where the DT data has the same values) and we have validated the binaries with this DT ordering then I'm good to merge this PR @mengdonglin. We can do v2.3.1 if we have runtime issues and include the DT ordering update.

@mengdonglin
Copy link
Contributor Author

@marc-hb I adjusted the BATS test to allow checksum difference for SOF v2.3 FW binaries. Now we can pass all PR checks.

@lgirdwood I added one commit to this PR to adjust BATs test as Marc suggested. We're good to merge.

Add v2.3 firmware binaries for Intel Tiger Lake, Alder Lake, and
Raptor Lake platforms. This is the first release using Zephyr as the
RTOS on these 3 platforms:
https://github.com/thesofproject/sof/releases/tag/v2.3

Name prefix sofz- is used for v2.3 FW to distinguish from v2.2.x FW
using XTOS as the RTOS.

v2.3.x/
└── sof-v2.3
    ├── community
    │   ├── sofz-adl.ri -> sofz-tgl.ri
    │   ├── sofz-adl-s.ri -> sofz-tgl-h.ri
    │   ├── sofz-rpl.ri -> sofz-tgl.ri
    │   ├── sofz-rpl-s.ri -> sofz-tgl-h.ri
    │   ├── sofz-tgl-h.ri
    │   └── sofz-tgl.ri
    ├── intel-signed
    │   ├── sofz-adl.ri
    │   ├── sofz-adl-s.ri
    │   ├── sofz-rpl.ri -> sofz-adl.ri
    │   ├── sofz-rpl-s.ri -> sofz-adl-s.ri
    │   ├── sofz-tgl-h.ri
    │   └── sofz-tgl.ri
    ├── sofz-adl.ldc -> sofz-tgl.ldc
    ├── sofz-adl.ri -> intel-signed/sofz-adl.ri
    ├── sofz-adl-s.ldc -> sofz-tgl-h.ldc
    ├── sofz-adl-s.ri -> intel-signed/sofz-adl-s.ri
    ├── sofz-rpl.ldc -> sofz-tgl.ldc
    ├── sofz-rpl.ri -> intel-signed/sofz-rpl.ri
    ├── sofz-rpl-s.ldc -> sofz-tgl-h.ldc
    ├── sofz-rpl-s.ri -> intel-signed/sofz-rpl-s.ri
    ├── sofz-tgl-h.ldc
    ├── sofz-tgl-h.ri -> intel-signed/sofz-tgl-h.ri
    ├── sofz-tgl.ldc
    └── sofz-tgl.ri -> intel-signed/sofz-tgl.ri

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
For shell completion convenience.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Allow checksum differences for v2.3 FW binaries

v2.3 is the 1st SOF release using Zephyr as RTOS. But there's an
unintended dependency on python version that would result in
differences in the output FW binaries built in different environment.

This has been fixed in Zephyr mainline by commit
zephyrproject-rtos/zephyr@f896fc2306
So future SOF binary releases will have same checksums.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
@lgirdwood lgirdwood merged commit 2610ea0 into thesofproject:main Oct 27, 2022
marc-hb added a commit to marc-hb/zephyr that referenced this pull request Nov 1, 2022
Be consistency with zephyr.strip

This will help with reproducibility issues like the one in
thesofproject/sof-bin#106

Use the `strip_command` introduced by commit c060b07 ("cmake:
toolchain: bintools abstraction")

boot.mod is already deterministic because it has no debug symbols; no
need to strip it.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
@marc-hb
Copy link
Collaborator

marc-hb commented Nov 4, 2022

nashif pushed a commit to zephyrproject-rtos/zephyr that referenced this pull request Nov 28, 2022
Be consistency with zephyr.strip

This will help with reproducibility issues like the one in
thesofproject/sof-bin#106

Use the `strip_command` introduced by commit c060b07 ("cmake:
toolchain: bintools abstraction")

boot.mod is already deterministic because it has no debug symbols; no
need to strip it.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
coreboot-org-bot pushed a commit to coreboot/zephyr-cros that referenced this pull request Nov 29, 2022
Be consistency with zephyr.strip

This will help with reproducibility issues like the one in
thesofproject/sof-bin#106

Use the `strip_command` introduced by commit c060b07 ("cmake:

boot.mod is already deterministic because it has no debug symbols; no
need to strip it.

(cherry picked from commit 57ea358)

Original-toolchain: bintools abstraction")
Original-Signed-off-by: Marc Herbert <marc.herbert@intel.com>
GitOrigin-RevId: 57ea358
Change-Id: Id7d856377a86cffa63d50b4d253aae7d23ff2f3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/4062711
Tested-by: Aaron Massey <aaronmassey@google.com>
Commit-Queue: Aaron Massey <aaronmassey@google.com>
Reviewed-by: Aaron Massey <aaronmassey@google.com>
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
jtbaumann pushed a commit to tmobile/DevEdge-IoTDevKit-ZephyrRTOS that referenced this pull request Dec 12, 2022
Be consistency with zephyr.strip

This will help with reproducibility issues like the one in
thesofproject/sof-bin#106

Use the `strip_command` introduced by commit c060b07 ("cmake:
toolchain: bintools abstraction")

boot.mod is already deterministic because it has no debug symbols; no
need to strip it.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants