summaryrefslogtreecommitdiffstats
path: root/firmware
Commit message (Collapse)AuthorAgeFilesLines
* firmware: fix SoC variant in help text of FIRMWARE_IMX93_OPTEEBastian Krause2024-03-251-1/+1
| | | | | | Signed-off-by: Bastian Krause <bst@pengutronix.de> Link: https://lore.barebox.org/20240318163531.2348091-1-bst@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: i.MX6: TQMa6ulx: add OP-TEE supportSascha Hauer2024-03-132-0/+6
| | | | | | | | | | | This adds OP-TEE support for the TQMa6ulx board. The OP-TEE binary is loaded from PBL. Later on in barebox proper the OP-TEE provided overlay node is applied to the barebox live tree for barebox to probe OP-TEE and also to reserve the memory used by OP-TEE. The overlay is also registered as a fixup to be applied on the Linux device tree. Link: https://lore.barebox.org/20240223125922.2865359-1-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/layerscape'Sascha Hauer2024-01-232-0/+4
|\
| * mci: imx-esdhc-pbl: implement esdhc xload for ls1028aSascha Hauer2024-01-082-0/+4
| | | | | | | | | | | | | | | | | | This implements esdhc xload support for LS1028a. Unlike LS1046a we use TF-A rather than obsoleted PPA for EL3, so this code also starts the TF-A. Link: https://lore.barebox.org/20240104141746.165014-19-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/imx'Sascha Hauer2024-01-232-1/+36
|\ \
| * | ARM: i.MX93: Add OP-TEE supportSascha Hauer2024-01-222-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables OP-TEE support for i.MX93. This is done in a way very similar to how it's done on i.MX8M. One major difference is that the i.MX93 needs a RAM firmware for the EdgeLock secure enclave. Without it OP-TEE doesn't work properly. The firmware can be integrated into the i.MX93 image where the ROM picks it up automatically. The firmware image is SoC revision specific though, so we load the firmware during runtime to avoid having to create a barebox image for each SoC revision. Link: https://lore.barebox.org/20240119142413.3206832-8-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | firmware: i.MX OP-TEE: Add some Kconfig helpSascha Hauer2024-01-221-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By enabling FIRMWARE_IMX8M*_OPTEE barebox will load and start OP-TEE via the TF-A. Add some help text which explains where the OP-TEE binaries are expected during barebox build. Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20240119142413.3206832-4-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | firmware: add missing FIRMWARE_IMX8MQ_OPTEE symbolSascha Hauer2024-01-221-0/+4
| |/ | | | | | | | | | | | | | | | | CONFIG_FIRMWARE_IMX8MQ_OPTEE is used but not defined in Kconfig. Add the missing symbol like existing for the other i.MX8M variants. Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20240119142413.3206832-2-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | firmware: fix missing firmware handling for external firmwareMarco Felsch2024-01-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we depend on the external firmware file since we need it for the sha256sum. But this dependency break the 'optional missing firmware' feature. Fix this by dropping the firmware file prerequisite and instead evaluate the FWNAME_EXISTS variable. If the firmware file does not exist a dummy file is created and the build continues till the linking process (like we do for the other firmware). Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20240110145908.3965855-1-m.felsch@pengutronix.de Link: https://lore.barebox.org/20240119080706.2381579-1-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | firmware: fix external firmware dependenciesSascha Hauer2024-01-171-2/+3
|/ | | | | | | | | | | | | | | | | | | | A pbl is not rebuilt when the firmware file specified in fw-external-y changes. $(patsubst %.gen.o,$(obj)/%.extgen.pbl.o, $(pbl-y)) is executed before pbl-y actually contains the contents of fw-external-y. Also we want to do the subsitution only for the external firmware files, not for pbl-y. To fix this use a intermediate variable pbl-fwext-y instead of pbl-y and initialize it before usage. Also, use $$(wildcard $(fwdir)/%) instead of $(fwdir)/% to successfully compile when the external firmware file is missing. Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20240116091020.2971875-1-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: initial i.MX9 supportSascha Hauer2023-11-202-0/+4
| | | | | Link: https://lore.barebox.org/20231110125800.1901232-2-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: fix dependency tracking for PBL firmware filesAhmad Fatoum2023-09-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | $(wildcard $(fwdir)/%) was added to allow for optional firmware, but in return it broke dependency tracking, because it was evaluated before the static pattern rule it's a part of. Fix the dependency tracking by only evaluating it in a secondary expansion. That this works as expected can be verified with: make -p | grep 'imx8mn-bl31.bin.gen.pbl.o:.*imx8mn-bl31.bin ' Which will return no result before this patch, but with it applied, it will correctly show the dependency. Manual touching and rebuilding also builds the firmware now as expected: AS [P] firmware/imx8mm-bl31.bin.gen.pbl.o Fixes: 5b171b7b7eda ("firmware: turn missing firmware into linker error") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230905142328.2935148-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: use portable newline escapeAhmad Fatoum2023-07-041-1/+1
| | | | | | | | | | | | | | | | | | | We want to print `\n' literally into the *.gen.S file, so gas turns it into a literal new line character. Depending on shell, the current scheme might not work: $ dash -c echo\ '\\\\n' \n $ bash -c echo\ '\\\\n' \\n Fix this by using printf instead. This fixes a cosmetic issue of non-escaped `\n' making it into the missing section when building without bash, e.g. on NixOS. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230703185515.1146362-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: fix alignment of firmware imagesAhmad Fatoum2023-07-041-2/+2
| | | | | | | | | | | | | ASM_LGPTR is a preprocessor symbol, not a Make variable, so expanding it in the Makefile results in .p2align without an argument, which disables alignment requirement. Fix this to restore the sizeof(void *) alignment we had before. Fixes: a59e2740b4a7 ("firmware: reference pointer alignment defined in <asm-generic/pointer.h>") Reported-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230703142122.1522533-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: don't hardcode firmware paths in srctree for existence checkAhmad Fatoum2023-06-281-39/+0
| | | | | | | | | | | | | | | | | | | Now that PBL firmware can be made optional, we can drop the existence checks in the Kconfig. These were flawed anyway, because they didn't take CONFIG_EXTRA_FIRMWARE_DIR into account and they led to issues with build system recipes that didn't expect firmware to be required before compilation step at oldconfig/menuconfig time. This effectively reverts commits: 624962fb45c6 ("ARM: i.MX: make boards selectable only when firmware files are present") 4ff2e5510ec9 ("ARM: Rockchip: make boards only selectable when firmware is present") 41a89611774a ("ARM: rockchip: don't attempt building MACH_RADXA_ROCK5 without firmware") Reported-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230627055239.3908872-8-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: optionally turn missing firmware errors into warningsAhmad Fatoum2023-06-282-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previous commit turned compile-time errors into link-time errors. This commit goes a step further and allows the link to succeed unconditionally for build coverage and then dependent on the newly introduced CONFIG_MISSING_FIRMWARE_ERROR option abort the build with an error code and a listing of missing firmware printed to stderr. In any case, barebox images which contain firmware in their PBL that's not available will be marked specially to reduce the risk of accidentally putting them to use: * They're truncated to zero size * The final "images built:" section marks them as having firmware missing * They are omitted from the listing in the barebox-flash-images file * Each barebox-broken.img is accompanied with a barebox-broken.img.missing-firmware containing a newline delimited list of missing firmware images Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230627055239.3908872-5-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: turn missing firmware into linker errorAhmad Fatoum2023-06-281-1/+6
| | | | | | | | | | | | | | | | Appending to firmware-y results in an assembly file being generated that defines a section embedding the firmware in question verbatim via .incbin. To update the assembly file as required, the target has a dependency on the firmware. When the firmware is missing, the build will abort there. In preparation for deferring missing PBL firmware errors till the very end, let's remove the firmware dependency if the missing firmware file is built into PBL and replace the .incbin with a reference to an ultimately undefined variable. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230627055239.3908872-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: mark firmware used in PBL as pbl-onlyAhmad Fatoum2023-06-281-15/+16
| | | | | | | | | | | | | | Failing early on finding firmware that is only needed in PBL is a bit unfortunate as there may be other entry points that don't require it. In preparation for adding the option to turn missing PBL firmware into warnings, mark all PBL firmware specially. No functional change intended. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230627055239.3908872-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: reference pointer alignment defined in <asm-generic/pointer.h>Ahmad Fatoum2023-06-281-3/+3
| | | | | | | | | We already define pointer size constants for use in assembly. Make use of this header. No functional change. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230627055239.3908872-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: mark firmware sections as having non-executable stackAhmad Fatoum2023-06-131-0/+1
| | | | | | | | | | allyesconfig on sandbox detects that firmware misses the annotation, which we already have for environment, DTs and other generated assembly files. Fix it there too. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230612130239.1087599-19-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/rockchip'Sascha Hauer2023-05-241-0/+2
|\
| * ARM: rockchip: Add rk3588 supportSascha Hauer2023-05-231-0/+2
| | | | | | | | | | | | | | This adds the assorted rk3588 support stuff which is very similar to the existing rk3568 support Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: i.MX: make boards selectable only when firmware files are presentSascha Hauer2023-05-041-0/+39
|/ | | | | | | | | Some i.MX boards need firmware files in the source tree. Make the boards depending on firmware files selectable only when the firmware is there to avoid failing compilation. Link: https://lore.barebox.org/20230426090354.1350981-4-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: i.MX8M: add option to install OP-TEEAhmad Fatoum2023-03-103-3/+19
| | | | | | | | | | While infrastructure for installing OP-TEE was already there, no upstream boards made use of it. Let's have OP-TEE installation happen in generic code, so it may be enabled for any upstream board. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230307093426.1551193-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: Kconfig: unify whitespace used for indentationAhmad Fatoum2023-01-121-6/+6
| | | | | | | | | File has a mixture of tabs, spaces and even both in the same line. Use tabs throughout. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230112125528.2936698-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: Makefile: fix firmware file dependency trackingMarco Felsch2022-12-021-3/+3
| | | | | | | | | | | | | | | | Commit 663894d99c64 ("firmware: refactor firmware/Makefile") aligned the barebox code with the kernel code. This commit replaced the usage of $(fw-external-y) by $(obj-pbl-y) and added the '.gen.o' suffix directly but didn't adapted the patsubst logic for tracking the binary firmware files. As result a firmware binary file update is not recognized by make and and won't make into the final binary. This commit fixes this and so an update will be recognized automatically without require a 'make clean' before. Fixes: 663894d99c64 ("firmware: refactor firmware/Makefile") Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20221201145418.2709053-1-m.felsch@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: add external firmware PBL supportAhmad Fatoum2022-08-221-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally, barebox embds firmware into the binary referencing it, which means that device tree blobs, RAM training code and e.g. TF-A for i.MX8M end up in the prebootloader, while, e.g. Freescale FMan microcode ends up in barebox proper. The only exception so far was barebox proper: When only the PBL fits in on-chip SRAM, barebox proper is chainloaded from the boot medium. To avoid TOCTOU attack, it's read fully into DRAM after setup and then a SHA256 is calculated and compared against the hash embedded in barebox PBL, which in a secure boot system would be trusted by virtue of the PBL as a whole being verified beforehand by the BootROM. Reuse this mechanism to support arbitrary firmware, which is now termed external firmware. Such firmware is placed beyond the piggydata (barebox proper) and only offset and hash are included in the prebootloader image. The new get_builtin_firmware_ext() is used to retrieve this external firmware after integrity verification with SHA256. This enables referencing firmware blobs from PBL that would bloat the size of the PBL beyond what can fit into on-chip SRAM, e.g. very big OP-TEE binaries. As users of get_builtin_firmware() didn't have to worry about TOCTOU so far, we panic when a firmware verification fails to ensure that we never load an OP-TEE that has been modified in-transit We can't include the OP-TEE binary in barebox proper, because we need to install it in EL3, but barebox proper on the i.MX8M runs as BL33 in a lower exception level. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220818050447.2072932-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/spdx'Sascha Hauer2022-01-192-0/+4
|\
| * treewide: add SPDX-License-Identifier for .gitignoreAhmad Fatoum2022-01-051-0/+2
| | | | | | | | | | | | | | | | | | Makes the files not appear when searching for files that lack SPDX-License-Identifier. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220103120539.1730644-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * treewide: add SPDX-License-Identifier for Kbuild/KconfigAhmad Fatoum2022-01-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To verify only Kconfig/Makefile is touched: git show --numstat --format=oneline HEAD | grep -v 'Kconfig\|Makefile' will print only arch/powerpc/Kbuild. To verify nothing unexpected is added: git show -U0 | grep '^-[^-]\|^+[^+]' | sort -u Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220103120539.1730644-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM64: rockchip: add config symbol for ARMv8-based rk3399 SoCAhmad Fatoum2022-01-171-0/+2
|/ | | | | | | | | As preperation for adding support for the RK3399-based Radxa Rock Pi N10, define the ARCH_RK3399 config symbol and associated boilerplate. Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Link: https://lore.barebox.org/20220114083825.726347-2-ahmad@a3f.at Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ddr: imx8m: ddrphy_train: add DDR4 supportAhmad Fatoum2021-10-052-0/+9
| | | | | | | | | | | | | | | There are DDR3L, DDR4 and LPDDR4 variants of the i.MX8M* SoMs used with the NXP EVKs. So far, we only supported LPDDR4. For DDR4, we just need different PHY training code. Encode the DRAM variant information into a new dram_timing_info::dram_type and adjust the driver to make use of it. The new CONFIG_FIRMWARE_IMX_DDR4_PMU_TRAIN Kconfig symbol can co-exist with CONFIG_FIRMWARE_IMX_LPDDR4_PMU_TRAIN, allowing the same barebox binary to target different memory types, provided board code can determine what kind of DRAM is fitted. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20211001100949.6891-7-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: i.MX: extend drivers for i.MX8MN (Nano) supportAhmad Fatoum2021-10-052-0/+4
| | | | | | | | | | | | Extend match tables and function definitions for i.MX USB, ATF, MCI, NVMEM, pinctrl and serial drivers for the i.MX8M Nano. There is no special handling required for those, compared with the mini. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20211001100949.6891-5-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: Rockchip: Add rk3568 supportSascha Hauer2021-06-281-1/+2
| | | | | | | | | This adds basic support for the Rockchip rk3568 SoC. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20210615141641.31577-8-s.hauer@pengutronix.de Link: https://lore.barebox.org/20210621092802.27275-8-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: refactor firmware/MakefileMasahiro Yamada2021-05-311-36/+20
| | | | | | | | | | | | | | | | | | Linux commit 3470d9eb638722212ac44787eaf13486823fa011 Clean up the Makefile. Equivalent *.gen.S files are still produced. - Use filechk to remove ugly wordsize_deps - Get FWNAME, FWSTR, ASM_WORD, ASM_ALIGN, and PROGBITS out of the recipe for readability - Remove 'mkdir' because filechk takes care of it Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Link: https://lore.barebox.org/20210530145842.2610109-1-masahiroy@kernel.org Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: Fix dependencies for PBLSascha Hauer2020-11-051-1/+1
| | | | | | | | | | The firmware object files for PBL have the name %.gen.pbl.o, not pbl-%.gen.o. Fix The dependencies so that the object files for PBL get rebuilt when the firmware changes. Fixes: ff047395b9 ("kbuild: rename pbl object pbl-*.o to *.pbl.o") Reported-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: imx: Add Support for Webasto ccbv2Rouven Czerwinski2020-10-142-0/+7
| | | | | | | | | Add support for the Webasto Common Communication Board Version 2. The device tree included with barebox can eventually be replaced with the required barebox changes when the ccbv2 device tree is upstream. Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: imx: add initial imx8mp supportOleksij Rempel2020-07-142-0/+4
| | | | | | | | | | | | This adds base support for the i.MX8MP SoC. Not much to do here as this SoC is quite similar to the i.MX8M. This adds: - Kconfig symbols - bootsource detection - register base address defines - iomux defines Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
* kbuild: resync top Makefile, mkmakefile, tags.sh with Linux 5.7-rc4Masahiro Yamada2020-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The prologue of the build system is not specific to Linux or Barebox. Paritially resync with Linux 5.7-rc4 - In Linux, $(objtree) is always '.', and $(srctree) might be relative. I am keeping both absolute for now to avoid unexpected breakage. - I did not resync single target for now. We need to touch Makefile.build a lot if we want to resync it. - 'export CDPATH=' is Barebox-only code, which was added by commit 6cc8d0544658 ("Makefile: disable CDPATH"). Keep it. - KBUILD_SRC no longer exists in the upstream Linux. I replaced it with building_out_of_srctree. - scripts/mkmakefile does not contain anything specific to Linux or Barebox. Resync it with Linux 5.7-rc4 - scripts/tags was imported from Linux 3.6 with some cherry-picks on top of that. Resync it with Linux 5.7-rc4 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2020-03-181-0/+3
|\
| * firmware: Fix dependencies for firmware in PBLSascha Hauer2020-03-021-0/+3
| | | | | | | | | | | | | | | | | | The object files for the PBL are not regenerated when the firmware files are updated. The dependency from the pbl-*.gen.o to the firmware files are missing, add them. Reported-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: i.MX8M: Add TF-A loading support for i.MX8MMSascha Hauer2020-02-192-0/+4
|/ | | | | | | Basically the same as for i.MX8MQ, just some function split up needed to account for different base addresses for the TF-A on both SoCs. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2019-06-111-0/+1
|\
| * firmware: add gitignore file for *.binRouven Czerwinski2019-06-071-0/+1
| | | | | | | | | | | | | | | | There is no intention to commit static firmware to this directory. If there is a use case, gitignore can be overridden explicitly. Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: Layerscape: Add PPA firmware supportSascha Hauer2019-05-131-0/+2
|/ | | | | | | | | | | The "Primary Protected Application" (PPA) is a PSCI compliant firmware distributed by NXP. It is needed to start the secondary cores on Layerscape SoCs. Without it Linux will be started in EL3 and doesn't work properly. The precompiled firmware images can be found on https://github.com/NXP/qoriq-ppa-binary and are not included in barebox. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* net: Add Freescale FMan ethernet supportSascha Hauer2019-03-131-0/+2
| | | | | | | | | | | | | | | | | | | This adds ethernet support for the Freecale Layerscape SoCs. The architecture in these SoCs is called "Data Path Acceleration Architecture" (DPAA). It is comprised of: - The Queue Manager (QMan) - Buffer Manager (BMan) - Frame Manager (FMan) - Multirate Ethernet Media Access Controller (mEMAC) The code is based on the corresponding U-Boot driver enriched with device tree parsing and proper device driver support. Tested on LS1046a, should work on other SoCs aswell with some minor quirks. SerDes support has been removed for now. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: drop the imx subdirLucas Stach2019-02-011-5/+5
| | | | | | | | | | We don't intend to ship any files in this directory, so there is no risk of the directory getting too crowded over time. Drop the subdir as this makes it easier for a outer build system to drop all the needed firmwares into the correct directory. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: add a note about license implicationsLucas Stach2019-02-011-0/+7
| | | | | | | | | Building additional firmware into the boot image has some license implications, which should be considered by the user, so add a short note about this. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: imx: remove prebuilt ATF binaryLucas Stach2019-02-011-0/+0
| | | | | | | | | | | | | | | | | | | | The prebuilt ATF binary is in fact a license compliance issue. While the used BSD-3-clause license allows aggregation with the Barebox binary, the chosen license requires us to ship the license text itself for the source distribution and also for the binary form if the built boot image contains the ATF binary. As this is a restriction that only applies to some boot images, depending on the Barebox configuration, it's non-trivial to do proper license compliance from within the Barebox source. Remove the prebuilt binary and rely on the external build system or user to provide the correct binary. Most system build systems already provide a proper way to handle the license dependency issue. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* firmware: Fix copy-paste comment mistakeAndrey Smirnov2018-08-091-2/+2
| | | | | Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>