Commit graph

39 commits

Author SHA1 Message Date
Lorenz Brun 6568016fa3 u-boot: ROCK64 RAM init improvements
This switches the ROCK64 over to the open-source RAM init as it now
works flawlessly. It also removes the HDCP flag from the ATF for the
RK3328 as it cannot use it, it is only used in the RK3399. This makes
the ROCK64 u-boot now fully open.

There is also an issue with the ROCK64 v2 revision where the DRAM
routing is marginal, making some of them unstable. So also package a
variant which uses a lower-speed DDR3 timing configuration which is
stable on these boards.
2023-11-25 11:14:50 +01:00
sternenseemann b1981b02e1 arm-trusted-firmware.armTrustedFirmwareTools: remove CC_FOR_BUILD
As explained in the new comment, we trick the build system here to build
its build tools for the host platform. To make this even more foolproof
/ reliable, stop adding CC_FOR_BUILD to the environment, so there can be
no mix up.
2023-08-17 09:57:18 +02:00
sternenseemann 994fcd68b9 arm-trusted-firmware: tell Makefile abt arm-embedded's targetPrefix
Some of the firmware requires an arm-embedded toolchain to be in PATH.
The Makefile offers a similar mechanism to CROSS_COMPILE for letting it
know what naming scheme is used for the accompanying tools.
2023-08-17 09:57:18 +02:00
sternenseemann 2fa0422405 arm-trusted-firmware: set HOSTCC to CC_FOR_BUILD
arm-trusted-firmware assumes that HOSTCC is `gcc` which is not
necessarily the case.
2023-08-17 09:57:18 +02:00
R. Ryantm a60989cbc9 armTrustedFirmwareTools: 2.8 -> 2.9.0 2023-07-06 05:23:28 +00:00
Sergei Trofimovich 09bd016d6f
Merge pull request #204562 from lopsided98/arm-trusted-firmware-update
arm-trusted-firmware: 2.7 -> 2.8
2023-05-19 08:07:41 +01:00
Sergey Makarov e97b960c4e u-Boot: add Orange Pi 3 support
Enable build of U-Boot for Orange Pi 3.

Signed-off-by: Sergey Makarov <setser200018@gmail.com>
2023-04-05 23:45:39 +03:00
Ben Wolsieffer c01ab05512 arm-trusted-firmware: 2.7 -> 2.8
sptool was replaced by a Python script. It wouldn't be too hard to install/wrap
the new script, but I doubt anyone uses it. I made sptool part of the
armTrustedFirmwareTools package when I created it simply because it was trivial
to add, not because it was actually necessary.
2022-12-04 19:51:37 -05:00
Samuel Dionne-Riel 528fcc8762 armTrustedFirmware: Fix bintools 2.39 regression (LOAD segment with RWX)
Fixes:

```
.../aarch64-unknown-linux-gnu-ld.bfd: warning: /build/source/build/rk3399/release/bl31/bl31.elf has a LOAD segment with RWX permissions
.../aarch64-unknown-linux-gnu-ld.bfd: warning: /build/source/build/rk3399/release/bl31/bl31.elf has a LOAD segment with RWX permissions
.../aarch64-unknown-linux-gnu-ld.bfd: warning: /build/source/build/rk3399/release/bl31/bl31.elf has a LOAD segment with RWX permissions
make: *** [Makefile:1306: /build/source/build/rk3399/release/bl31/bl31.elf] Error 1
```

See: https://developer.trustedfirmware.org/T996
2022-10-09 15:52:43 -04:00
Adam Joseph 65e4d13554 arm-trusted-firmware: remove version parameter
The arm-trusted-firmware/default.nix expression exposes
`buildArmTrustedFirmware` and its `version?"2.7"` field to
`top-level/all-packages.nix`.  Unfortunately it doesn't work.
Changing the version field doesn't change what version of the ATF
source code is used.  Attempting to "lock" an installation to a
specific version by overriding this field (e.g. version="2.7") won't
work either; when nixpkgs bumps the version to 2.8 the user will end
up building the 2.8 source code but the resulting expression will be
labeled misleadingly in the store:

```
  /nix/store/eeee...-arm-trusted-firmware-2.7/
```

**using the 2.8 source code**.  So not only does `version` not lock
the version, it will actually *conceal* the fact that the underlying
source code has been upgraded!

Let's just remove the `version` field.  It doesn't work and never did.

https://github.com/NixOS/nixpkgs/pull/185004#discussion_r939526830

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-08-12 18:45:17 -07:00
Ben Wolsieffer 208af5a599 arm-trusted-firmware: 2.6 -> 2.7 2022-06-11 22:47:31 -04:00
Adam Joseph 8485bfc9bf arm-trusted-firmware: unfree only if hdcp.bin used; otherwise delete it
The `unfreeIncludeHDCPBlob` parameter was introduced as a result of
this reviewer request:

  https://github.com/NixOS/nixpkgs/issues/148890#issuecomment-1032002903

The default value `unfreeIncludeHDCPBlob?true` causes a change in the
`meta.license` field for all of the subpackages within
`pkgs/misc/arm-trusted-firmware/`, and results in them needing
`NIXPKGS_ALLOW_NONFREE=1`.

For non-Rockchip platforms the file hdcp.bin does not get included in
the output; the blob is for a Synopsys HDCP core that is currently
used only by Rockchip (although other companies could license it from
Synopsys in the future). Therefore on non-Rockchip we can delete
hdcp.bin before building instead of changing the license. This
preserves the ability to build them without NIXPKGS_ALLOW_NONFREE=1.

Let's do that.

Deleting hdcp.bin ensures that we won't be caught by surprise if some
future non-Rockchip Arm CPU licenses the same Synopsys HDCP core that
Rockchip is using.

Use easier-to-follow names for controlling the blob
inclusion/exclusion.  Also, if the blob is believed to be unnecessary,
delete it beforehand so we will know if we were wrong about that belief.

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-05-29 16:07:15 -07:00
Adam Joseph d94759023d make meta.license be a list rather than a single value 2022-02-08 01:53:25 -08:00
Adam Joseph a5b8650f8d arm-trusted-firmware: add unfreeIncludeHDCPBlob?true to control license and blob-removal patch
This change implements @lukegb's idea:

  https://github.gitop.top/NixOS/nixpkgs/issues/148890#issuecomment-1032002903

Specifically, it introduces a new parameter unfreeIncludeHDCPBlob
(defaults to true):

* If unfreeIncludeHDCPBlob==true then the license is changed to
  unfreeRedistributable, which will alert the user to the fact that
  the blob is being included (unless they set NIXPKGS_ALLOW_UNFREE=1).

* If unfreeIncludeHDCPBlob==false then the license is kept as bsd3, but
  a patch is applied to remove the HDCP blob from the build.
2022-02-08 01:44:21 -08:00
Adam Joseph bb0a925a76 remove unfree HDCP blob from arm-trusted-firmware, closes #148890
This patch comes from https://gitlab.com/vicencb/kevinboot/-/blob/master/atf.patch

I have been running firmware with this patch on my daily driver rk3399
laptop for the past four months.
2022-02-05 16:38:47 -08:00
Felix Buehler a4cf5b79fd treewide: rename name to pname&version 2022-01-27 17:29:01 +01:00
R. Ryantm 30149a0856 armTrustedFirmwareTools: 2.5 -> 2.6 2021-12-11 22:59:11 +00:00
Markus S. Wamser b0249fdf99 pkgs.misc: remove unused args 2021-11-13 23:09:33 +01:00
Samuel Dionne-Riel db8ab32efd
Merge pull request #125743 from novmar/novmar/orange_pi_zero2_support
ubootOrangePiZero2: init
2021-10-04 21:55:24 -04:00
Florian Klink 1cbe006fb4 armTrustedFirmware*: fix hash
Either this was republished with another hash, or the hash was wrong
before all ready. Now I'm able to fetch and build it :-)
2021-06-22 12:33:21 +02:00
Marcel Novotny 25a4ef905f armTrustedFirmwareAllwinnerH616: init 2021-06-14 00:29:15 +02:00
R. RyanTM 8ac72be1ab armTrustedFirmwareTools: 2.4 -> 2.5 2021-05-22 09:08:02 +00:00
R. RyanTM 0cbb80e7f1 armTrustedFirmwareTools: 2.3 -> 2.4 2020-11-22 19:57:06 +00:00
Pavol Rusnak 84ff95a95a
arm-trusted-firmware: 2.2 -> 2.3 2020-04-22 12:11:28 +02:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
R. RyanTM 26165d98df armTrustedFirmwareTools: 2.1 -> 2.2 2020-01-15 06:48:02 +00:00
Ben Wolsieffer d00a38aa70 armTrustedFirmwareS905: init
This supports the Amlogic S905, otherwise known as Meson GXBB.
2019-12-05 21:59:07 -05:00
Ben Wolsieffer b5ec2b5c63 armTrustedFirmwareTools: init
This package currently contains fiptool, cert_create and sptool.
2019-12-05 21:59:07 -05:00
volth 08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
Samuel Dionne-Riel b64a5cfc72 arm-trusted-firmware: Switch Allwinner to upstream 2019-05-18 13:41:52 -04:00
Samuel Dionne-Riel b69c4744e3 arm-trusted-firmware: 2.0 -> 2.1 2019-05-18 13:41:27 -04:00
Ben Wolsieffer 7edd0389e1 arm-trusted-firmware: add RK3399 2019-01-18 17:53:21 -05:00
Ben Wolsieffer 8a816723ce arm-trusted-firmware: 1.5 -> 2.0 2019-01-18 17:53:21 -05:00
Patrick Hilhorst 0e381e084e
arm-trusted-firmware: correctly handle version overrides 2018-11-06 00:06:22 +01:00
Tuomas Tynkkynen bab5a0664c armTrustedFirmware: Disable parallel build
I think https://hydra.nixos.org/build/71541345 is parallel build
related.
2018-03-23 19:03:26 +02:00
Tuomas Tynkkynen 107eaa8780 armTrustedFirmwareQemu: 1.4 -> 1.5, fixes build with GCC7 2018-03-23 19:03:04 +02:00
Tuomas Tynkkynen a2d8a9aad7 armTrustedFirmware: Remove targetPlatforms like was done in U-Boot
Should also fix Hydra attempting to build this stuff on x86, like
https://hydra.nixos.org/build/71533289
2018-03-20 02:33:40 +02:00
Samuel Dionne-Riel f2175e1bd4 arm-trusted-firmware: Inits at various versions
For qemu, at 1.4 from upstream.

For Sopine / Pine A64-LTS, at 1.0 from fork.
2018-03-18 18:53:12 +02:00
Ben Wolsieffer 0ab76c5a4e arm-trusted-firmware: init
ARM trusted firmware is required as part of the boot process on some ARMv8-A
boards. Currently, only the RK3328 is supported in nixpkgs.

This makes the Rock64 u-boot image bootable.
2018-03-18 18:53:12 +02:00