| 3017e932 | 09-Jul-2021 |
Pali Rohár <pali@kernel.org> |
fix(plat/marvell/a3k): disable HANDLE_EA_EL3_FIRST by default
It was enabled in commit 3c7dcdac5c50 ("marvell/a3700: Prevent SError accessing PCIe link while it is down") with a workaround for a bug
fix(plat/marvell/a3k): disable HANDLE_EA_EL3_FIRST by default
It was enabled in commit 3c7dcdac5c50 ("marvell/a3700: Prevent SError accessing PCIe link while it is down") with a workaround for a bug found in U-Boot and Linux kernel driver pci-aardvark.c (PCIe controller driver for Armada 37xx SoC) which results in SError interrupt caused by AXI SLVERR on external access (syndrome 0xbf000002) and immediate kernel panic.
Now when proper patches are in both U-Boot and Linux kernel projects, this workaround in TF-A should not have to be enabled by default anymore as it has unwanted side effects like propagating all external aborts, including non-fatal/correctable into EL3 and making them as fatal which cause immediate abort.
Add documentation for HANDLE_EA_EL3_FIRST build option into Marvell Armada build section.
Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: Ic92b65bf9923505ab682830afb66c2f6cec70491
show more ...
|
| 068fe919 | 26-Jun-2021 |
Pali Rohár <pali@kernel.org> |
fix(plat/marvell/a3k): update information about PCIe abort hack
A3700 plat_ea_handler was introduced into TF-A codebase just because of bugs in U-Boot and Linux kernel PCIe controller driver pci-aar
fix(plat/marvell/a3k): update information about PCIe abort hack
A3700 plat_ea_handler was introduced into TF-A codebase just because of bugs in U-Boot and Linux kernel PCIe controller driver pci-aardvark.c.
These bugs were finally fixed in both U-Boot and Linux kernel drivers: https://source.denx.de/u-boot/u-boot/-/commit/eccbd4ad8e4e182638eafbfb87ac139c04f24a01 https://git.kernel.org/stable/c/f18139966d072dab8e4398c95ce955a9742e04f7
Add all these information into comments, including printing error message into a3k plat_ea_handler. Also check that abort is really asynchronous and comes from lower level than EL3.
Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I46318d221b39773d5e25b3a0221d7738736ffdf1
show more ...
|
| d3f8db07 | 11-Jul-2021 |
Pali Rohár <pali@kernel.org> |
fix(plat/marvell/a3k): Fix building uart-images.tgz.bin archive
For UART secure boot it is required also TIMN image, so pack it into uart-images.tgz.bin archive which is created by mrvl_uart target.
fix(plat/marvell/a3k): Fix building uart-images.tgz.bin archive
For UART secure boot it is required also TIMN image, so pack it into uart-images.tgz.bin archive which is created by mrvl_uart target.
$(TIMN_IMAGE) and $(TIM_IMAGE) variables are used only for UART images so their content needs to be initialized from $(TIMN_UART_CFG) and $(TIM_UART_CFG) config files. And not from $(TIMN_CFG) and $(TIM_CFG) as it is now because they are not generated during mrvl_uart target. Fix it to allow building mrvl_uart target before mrvl_flash target.
To match usage of these variables, rename them to $(TIMN_UART_IMAGE) and $(TIM_UART_IMAGE).
To not complicate rule for building uart-images.tgz.bin archive, set list of image files into a new $(UART_IMAGES) variable.
Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I83b980abb4047a3afb3ce3026842e1d873c490bf
show more ...
|
| 618287da | 11-Jul-2021 |
Pali Rohár <pali@kernel.org> |
refactor(plat/marvell/a3k): Rename *_CFG and *_SIG variables
For TIM config file use TIM name instead of DOIMAGE and use underscores to make variable names more readable.
Signed-off-by: Pali Rohár
refactor(plat/marvell/a3k): Rename *_CFG and *_SIG variables
For TIM config file use TIM name instead of DOIMAGE and use underscores to make variable names more readable.
Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I1282ce11f1431c15458a143ae7bfcee85eed2432
show more ...
|
| 7937b3c7 | 10-Jul-2021 |
Pali Rohár <pali@kernel.org> |
refactor(plat/marvell/a3k): Rename DOIMAGETOOL to TBB
Armada 3700 uses external TBB tool for creating images and does not use internal TF-A doimage tool from tools/marvell/doimage/
Therefore set co
refactor(plat/marvell/a3k): Rename DOIMAGETOOL to TBB
Armada 3700 uses external TBB tool for creating images and does not use internal TF-A doimage tool from tools/marvell/doimage/
Therefore set correct name of variable.
Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I38a94dca78d483de4c79da597c032e1e5d06d92d
show more ...
|
| 7b209717 | 10-Jul-2021 |
Pali Rohár <pali@kernel.org> |
refactor(plat/marvell/a3k): Remove useless DOIMAGEPATH variable
Armada 3700 uses WTP so use WTP variable directly.
Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I216b40ffee1f3f8abba4677f05
refactor(plat/marvell/a3k): Remove useless DOIMAGEPATH variable
Armada 3700 uses WTP so use WTP variable directly.
Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I216b40ffee1f3f8abba4677f050ab376c2224ede
show more ...
|
| 5a91c439 | 14-May-2021 |
Pali Rohár <pali@kernel.org> |
fix(plat/marvell/a3720/uart): fix UART parent clock rate determination
The UART code for the A3K platform assumes that UART parent clock rate is always 25 MHz. This is incorrect, because the xtal cl
fix(plat/marvell/a3720/uart): fix UART parent clock rate determination
The UART code for the A3K platform assumes that UART parent clock rate is always 25 MHz. This is incorrect, because the xtal clock can also run at 40 MHz (this is board specific).
The frequency of the xtal clock is determined by a value on a strapping pin during SOC reset. The code to determine this frequency is already in A3K's comphy driver.
Move the get_ref_clk() function from the comphy driver to a separate file and use it for UART parent clock rate determination.
Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I8bb18a2d020ef18fe65aa06ffa4ab205c71be92e
show more ...
|