processor-firmware/system-firmware-image-gen.git
22 months agoHACK: j721e: rm-cfg: Use HOST_ALL for ethernet firmware flows ti2019.03 ti2019.03-rc2 ti2019.03-rc3 ti2019.03-rc4
Nikhil Devshatwar [Fri, 9 Aug 2019 09:18:42 +0000 (14:48 +0530)]
HACK: j721e: rm-cfg: Use HOST_ALL for ethernet firmware flows

Ethernet firmware acts as server for providing networking functionality
to other clients. It allocates few flows from its pool for the client
and then retuns the same to the client.

Client does not own the resource it is borrowing from server and
currently SYSFW lacks any APIs to allow shared ownership of this
resource dyanmically.

In absence of such an API, mark the ethernet firmware flows are HOST_ALL
so that clients can call FLOW_CONFIG with the borrowed flow.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
22 months agoj721e: rm-cfg: Partition GPIO interrupt router
Nikhil Devshatwar [Fri, 9 Aug 2019 09:17:00 +0000 (14:47 +0530)]
j721e: rm-cfg: Partition GPIO interrupt router

Currently the Main GPIO interrupt router is only assigned to A72_2.
Partition the IR lines such that few lines are assigned to
A72_3 for usage from another Virtual machine.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
22 months agolinux-firmware: Update am65x/j721e sysfw to v2019.07 ti2019.03-rc1
Andreas Dannenberg [Tue, 6 Aug 2019 20:58:34 +0000 (15:58 -0500)]
linux-firmware: Update am65x/j721e sysfw to v2019.07

Update the Makefile to automatically fetch and build the v2019.07
version of the sysfw binaries for both AM65x and J721E SoCs.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
22 months agoam65x: rm-cfg: Add resources for secure context of MCU R5
Vignesh Raghavendra [Wed, 31 Jul 2019 08:02:05 +0000 (13:32 +0530)]
am65x: rm-cfg: Add resources for secure context of MCU R5

ROM boots up MCU R5 in secure context and R5 SPL continues to run in the
same context. In order for R5 SPL to use DMA (e.g: with OSPI) add MCU
NAVSS resources with MCU R5 secure host ID that is used by R5 SPL.

Resources allocated are same as those allocated for A53.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
22 months agoj721e: rm-cfg: Add resources for secure context of MCU R5
Vignesh Raghavendra [Fri, 19 Jul 2019 12:51:26 +0000 (18:21 +0530)]
j721e: rm-cfg: Add resources for secure context of MCU R5

ROM boots up MCU R5 in secure context and R5 SPL continues to run in the
same context. In order for R5 SPL to use DMA (e.g: with OSPI) add MCU
NAVSS resources with MCU R5 secure host ID that is used by R5 SPL.

Resources allocated are same as those allocated for non secure context.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
23 months agoj721e: board-cfg: Drop MSMC cache size from 4MB to 3MB ti2019.02 ti2019.02-rc4
Andreas Dannenberg [Thu, 11 Jul 2019 18:59:09 +0000 (13:59 -0500)]
j721e: board-cfg: Drop MSMC cache size from 4MB to 3MB

Reduce the amount of MSMC memory allocated by System Firmware for the
main compute cluster's L3 cache from 4MB to 3MB.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Acked-by: Sunita Nadampalli <sunitan@ti.com>
Acked-by: Carlos Hernandez <ceh@ti.com>
23 months agolinux-firmware: Update am65x/j721e sysfw to v2019.06a ti2019.02-rc3
Dan Murphy [Tue, 9 Jul 2019 20:24:07 +0000 (15:24 -0500)]
linux-firmware: Update am65x/j721e sysfw to v2019.06a

Update the Makefile to automatically fetch and build the v2019.06a
version of the sysfw binaries for both AM65x and J721E SoCs.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
23 months agoj721e: rm-cfg: Start MAIN_0_R5_2 Tx and Rx at same level
Nikhil Devshatwar [Thu, 4 Jul 2019 08:48:54 +0000 (14:18 +0530)]
j721e: rm-cfg: Start MAIN_0_R5_2 Tx and Rx at same level

Channel allocation for MAIN_0_R5_2 is done such that
Main NAV UDMA Tx and Rx channels start with different offsets.

This cannot be used for block copy carveout since the Tx and Rx channels
are not overlapping at start or end of the range.

Fix this by allocating more channels to MAIN_0_R5_0 so that the
MAIN_0_R5_2 channel ranges start at same value.

Autogen table takes care of the corresponding ring allocations as well.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
23 months agoj721e: rm-cfg: Updated 2019.02 RM config
Nikhil Devshatwar [Mon, 1 Jul 2019 08:44:40 +0000 (14:14 +0530)]
j721e: rm-cfg: Updated 2019.02 RM config

This is auto generated RM config file to describe the
resource partitioning for 2019.02 use cases.

* Assign few channels/rings for A72_3 to be used by VMs
* Assign extended channels for DRU/VPAC/DMPAC
* Adjust resources for Main R5_0_1 for ethernet firmware
* Reduce resources for R5_1_* cores since nothing is running there
* Update the resource entry count

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Acked-by: Vignesh Raghavendra <vigneshr@ti.com>
23 months agolinux-firmware: Update am65x/j721e sysfw to v2019.06 ti2019.02-rc2
Suman Anna [Thu, 27 Jun 2019 00:27:48 +0000 (19:27 -0500)]
linux-firmware: Update am65x/j721e sysfw to v2019.06

Update the Makefile to automatically fetch and build the v2019.06
version of the sysfw binaries for both AM65x and J721E SoCs.

Signed-off-by: Suman Anna <s-anna@ti.com>
2 years agoMakefile: Fix HS builds by removing version reporting dependency ti2019.02-rc1
Andrew F. Davis [Tue, 11 Jun 2019 14:43:42 +0000 (10:43 -0400)]
Makefile: Fix HS builds by removing version reporting dependency

The rule for making the HS sysfw.bin file concatenates all its
dependencies, the rule for 'sysfw_version' is a phony target and does
not produce a file. Drop this dependency for HS.

While we are here lets do the same for non-HS builds. Phony targets
force the rebuilding of any rule that depends on them, this can
cause Make to perform more build steps than are actually needed.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Tested-by: Denys Dmytriyenko <denys@ti.com>
2 years agolinux-firmware: Update am65x/j721e sysfw to v2019.05
Andreas Dannenberg [Mon, 10 Jun 2019 16:57:31 +0000 (11:57 -0500)]
linux-firmware: Update am65x/j721e sysfw to v2019.05

Update the sysfw to v2019.05 from v2019.04a. Doing so also adds support
for the K3 family J721E SoCs which are now being represented with a
dedicated firmware image in the 'ti-linux-firmware' repository.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2 years agoreadme: Update TI firmware Git repository branch name
Andreas Dannenberg [Fri, 7 Jun 2019 20:44:06 +0000 (15:44 -0500)]
readme: Update TI firmware Git repository branch name

The official TI firmware Git repository branch name to download
firmware files from including but not limited to System Firmware is
'ti-linux-firmware'. Update the readme document to reflect the same.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agoIntroduce initial J721E EVM support
Andreas Dannenberg [Wed, 5 Jun 2019 20:00:05 +0000 (15:00 -0500)]
Introduce initial J721E EVM support

Add the consolidated configuration files that were arrived at during
J721E silicon wakeup. Note that SYSFW debug trace both to memory as well
as to the UART is disabled in alignment with the production configuration
used on AM65x. If debug trace output is desired during development refer
to the SYSFW release documentation (referenced in the included README.md
file) discussion related to 'trace_dst_enables' and 'trace_src_enables'.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Nikhil Devshatwar <nikhil.nd@ti.com>
2 years agoinclude: Add J721E specific headers corresponding to SYSFW
Andreas Dannenberg [Wed, 5 Jun 2019 19:58:09 +0000 (14:58 -0500)]
include: Add J721E specific headers corresponding to SYSFW

Introduce initial J721E specific headers

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agogen_its.sh: Add SIG version and build info into the generated itb
Nishanth Menon [Sat, 18 May 2019 12:19:29 +0000 (07:19 -0500)]
gen_its.sh: Add SIG version and build info into the generated itb

Introduce the version of System Firmware Image Generator (SIG) as well
as the SOC variant and used CONFIG back into the generated image tree
blob so we can track those important aspects after deployment.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agoMakefile: Allow for builds for multiple SoCs
Andreas Dannenberg [Fri, 7 Jun 2019 19:21:08 +0000 (14:21 -0500)]
Makefile: Allow for builds for multiple SoCs

Allow for multiple SoCs to be built and object file names per SoC.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agocommon.h: Move to be inside include folder
Nishanth Menon [Sat, 18 May 2019 12:19:34 +0000 (07:19 -0500)]
common.h: Move to be inside include folder

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agocommon.h: Drop all AM65x specific header definitions
Nishanth Menon [Sat, 18 May 2019 12:19:32 +0000 (07:19 -0500)]
common.h: Drop all AM65x specific header definitions

Drop all the AM65x specific header definitions

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agocommon.h: Make board config data structure names generic
Nishanth Menon [Sat, 18 May 2019 12:19:31 +0000 (07:19 -0500)]
common.h: Make board config data structure names generic

Rename board config data structures for better alignment as well as
to be SoC independent. While at it drop the exporting of those data
structures that was inherited from a previous project which is no
longer necessary.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agocommon.h: Make AM65_BOARDCFG_RM_RESASG_ENTRIES generic
Nishanth Menon [Sat, 18 May 2019 12:19:30 +0000 (07:19 -0500)]
common.h: Make AM65_BOARDCFG_RM_RESASG_ENTRIES generic

Make AM65_BOARDCFG_RM_RESASG_ENTRIES to be generic to allow for cross
SoC usage. While at it, add include guards to the header file.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agoinclude: Add AM65X specific headers corresponding to SYSFW
Nishanth Menon [Sat, 18 May 2019 12:19:26 +0000 (07:19 -0500)]
include: Add AM65X specific headers corresponding to SYSFW

Introduce initial AM65X specific headers

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agoMakefile: Use SoC variable to pick up relevant binaries and include paths
Nishanth Menon [Sat, 18 May 2019 12:19:28 +0000 (07:19 -0500)]
Makefile: Use SoC variable to pick up relevant binaries and include paths

Let's use the define and use an SoC variable to pick up various include
definitions.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agoMakefile: Add -f to rm so that we can ignore nonexistent files
Nishanth Menon [Sat, 18 May 2019 12:19:27 +0000 (07:19 -0500)]
Makefile: Add -f to rm so that we can ignore nonexistent files

Stop complaining that files don't exist if folks do multiple cleans or
mrpropers.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agoMakefile: Drop the asm rule
Nishanth Menon [Sat, 18 May 2019 12:19:33 +0000 (07:19 -0500)]
Makefile: Drop the asm rule

We dont build ASM, so, why have a rule for the same.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agobuild: Default to use TI degenerate key for signing on non-HS devices
Andreas Dannenberg [Wed, 7 Nov 2018 16:48:20 +0000 (10:48 -0600)]
build: Default to use TI degenerate key for signing on non-HS devices

Switch to using the TI degenerate key to sign the system firmware binary
image on GP devices during the image tree blob build process. Using this
key speeds up the time needed by the ROM code execution for processing
this image and with this shortens our boot time.

The previous default behavior of signing with a random key can still
be triggered by passing an empty KEY variable to the make command as
follows:

$ make KEY=""

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agobuild: Allow signing SYSFW with custom key on non-HS devices
Andreas Dannenberg [Wed, 5 Jun 2019 20:08:06 +0000 (15:08 -0500)]
build: Allow signing SYSFW with custom key on non-HS devices

Enable the existing make variable KEY that was introduced to specify
the signing key used to sign SYSFW for use on HS devices to also be
used to sign SYSFW images destined for GP devices, overriding the
default random key that is used for signing.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
2 years agolinux-firmware: Update am65x sysfw to v2019.04a ti2019.01 ti2019.01-rc3 ti2019.01-rc4 ti2019.01-rc5
Praneeth Bajjuri [Wed, 8 May 2019 15:40:20 +0000 (10:40 -0500)]
linux-firmware: Update am65x sysfw to v2019.04a

Update the sysfw to v2019.04a from v2019.02

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2 years agocommon: Add basic BIT(x) macro defininiton
Andreas Dannenberg [Tue, 6 Nov 2018 20:17:31 +0000 (14:17 -0600)]
common: Add basic BIT(x) macro defininiton

For that we can use macros that rely on BIT(x) in the different
configuration files we need to actually have that underlying macro
defined in the first place so go ahead and add the missing
definition.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Acked-by: Suman Anna <s-anna@ti.com>
2 years agobuild: Add support for HS devices
Andrew F. Davis [Tue, 23 Apr 2019 14:21:13 +0000 (10:21 -0400)]
build: Add support for HS devices

This tool can be used to download and sign HS SYSFW images, add
support for this here. Usage is described in the README.

Signed-off-by: Andrew F. Davis <afd@ti.com>
2 years agobuild: Use TI support email as default instead of Albert
Andrew F. Davis [Tue, 23 Apr 2019 14:21:12 +0000 (10:21 -0400)]
build: Use TI support email as default instead of Albert

Use a slightly more valid default certificate signer.

Signed-off-by: Andrew F. Davis <afd@ti.com>
2 years agolinux-firmware: Update am65x sysfw to v2019.02
Suman Anna [Tue, 5 Mar 2019 23:07:05 +0000 (17:07 -0600)]
linux-firmware: Update am65x sysfw to v2019.02

Update the sysfw to v2019.02 from v2018.10. Also update
the license year.

Signed-off-by: Suman Anna <s-anna@ti.com>
2 years agolinux-firmware: Update am65x sysfw to v2018.10
Andrew F. Davis [Tue, 6 Nov 2018 19:00:53 +0000 (13:00 -0600)]
linux-firmware: Update am65x sysfw to v2018.10

Update the sysfw to v2018.10 from v2018.09.

Signed-off-by: Andrew F. Davis <afd@ti.com>
2 years agolinux-firmware: Update am65x sysfw to v2018.09
Andreas Dannenberg [Mon, 29 Oct 2018 17:03:46 +0000 (12:03 -0500)]
linux-firmware: Update am65x sysfw to v2018.09

Update the sysfw to v2018.09 from v2018.08b.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2 years agorm-cfg: Partition interrupt resources between R5F contexts
Sam Nelson [Tue, 23 Oct 2018 15:52:05 +0000 (10:52 -0500)]
rm-cfg: Partition interrupt resources between R5F contexts

Partitioning the MCU R5F IRQs to be distributed between R5F context 0
and context 1.

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
2 years agoAdd software manifest as required for external release
Andreas Dannenberg [Fri, 28 Sep 2018 20:21:20 +0000 (15:21 -0500)]
Add software manifest as required for external release

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2 years agoIntroduce framework to build SYSFW and config data into an ITB
Andreas Dannenberg [Fri, 31 Aug 2018 18:09:00 +0000 (13:09 -0500)]
Introduce framework to build SYSFW and config data into an ITB

In order to be able to consume system firmware (SYSFW) as well as the
associated configuration data from the boot media introduce a framework
that allows building the SYSFW image itself as well as the different
domain-specific configuration fragments (board, pm, rm, and sec) into an
image tree blob (ITB) file called sysfw.itb.

To establish a known-good starting point for development and testing use
U-Boot commit 7501705610 ("arm: K3: am654: Update board config for
v2018.07a enforcement in 2018.08 release of sysfw") as a baseline for the
AM654x board configuration data. Furthermore integrate SYSFW v2018.08b as
released on 09/12/2018 by way of download URL.

See included README.md for a more complete description.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>