aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-02-03scripts/checkpatch.pl: Resync with v5.16Simon Glass3-96/+641
This resyncs us with the version found in v5.16 of the Linux kernel with the following exceptions: - Keep our u-boot specific tests / code area. - Change the location of checkpatch.rst - Drop the "use strscpy" test as we don't have that, but do have strlcpy and want that used now. - Keep debug/printf in the list for $logFunctions This also syncs the spdxcheck.py tool and all the associated documentation. S Signed-off-by: Simon Glass <sjg@chromium.org>
2022-02-03armv8: start.S: remove CONFIG_SYS_RESET_SCTRL codeAndre Przywara1-37/+0
There is some code that tries to "reset" the SCTLR_ELx register early in the boot process. The idea seems to be to guarantee some sane settings that U-Boot actually relies on, for instance running in little-endian mode, with the MMU off initially. However the current code has multiple problems: - For a start, no platform or config defines the symbol that would enable that code. - The code itself really only works if the bits that it tries to clear are already cleared: - If we run in big-endian mode initially, any previous loads would have been wrong already. That applies to the (optional) relocation code, but more prominently to the mask that it uses to clear those bits: "ldr x1, =0xfdfffffa" looks innocent, but actually involves a memory access to the literal pool, using the current endianness. - If we run with the MMU enabled, we are probably doomed already. We *could* hope that we are running with an identity mapping, but would need to do some cache maintenance to avoid losing dirty cache lines. - The idea of doing a read-modify-write of SCTLR is somewhat questionable to begin with, because as the owner of the current exception level we should initialise all bits of this register with a certain fixed value. - The code is unnecessarily complicated, and the function name is misspelled. While those problems *could* admittedly be fixed, the point that is does not seem to be used at all at the moment tells me we should just remove this code, and be it to not give a bad example. If people care, I could introduce some proper SCTLR initialisation code. We are about to work this out for the boot-wrapper[1] as we speak, but apparently we got away without doing this in U-Boot ever since, so it might not be worth the potential trouble. [1] https://lore.kernel.org/linux-arm-kernel/20220114105653.3003399-7-mark.rutland@arm.com/ Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2022-02-03scripts: Makefile: also clean subdir dtcPhilippe Reynes1-1/+1
Since commit 93b196532254 ("Makefile: Only build dtc if needed"), the sub directory scripts/dtc is never cleaned. Adds the directory dtc to subdir to always clean it. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-02-03net: ti: am65-cpsw: Cleanup resources before jump to kernelVignesh Raghavendra1-1/+1
In case fastboot over Ethernet, am65_cpsw_stop() is not called unless DM_FLAG_OS_PREPARE is set. Without call to am65_cpsw_stop(), DMA resources are not released thus leading to failures in kernel. Fix this by adding DM_FLAG_OS_PREPARE flag to am65_cpsw_nuss_port driver. Reported-by: Christian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2022-02-03arm: pdu001: Exend the list of maintained filesFelix Brack1-1/+3
Add the PDU001 board specific DT files to MAINTAINERS. This should help for better tracking of changes to these files. Signed-off-by: Felix Brack <fb@ltec.ch>
2022-02-03armv8: spl: Fix build with LINUX_KERNEL_IMAGE_HEADERAlper Nebi Yasak1-0/+4
Setting LINUX_KERNEL_IMAGE_HEADER=y attempts to include an ARM64 Linux kernel image header at the start of both U-Boot proper and SPL binaries. However, some definitions that the image header uses are not included by the SPL linker script, resulting in a build error. Include them the way they are included in U-Boot proper's linker script to fix the error. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-02-03spl: ymodem: Fix buffer overflow during Image copyVignesh Raghavendra1-1/+14
ymodem_read_fit() driver will end copying up to BUF_SIZE boundary even when requested size of copy operation is less than that. For example, if offset = 0, size = 1440B, ymodem_read_fit() ends up copying 2KB from offset = 0, to destination buffer addr This causes data corruption when malloc'd buffer is passed during UART boot since commit 03f1f78a9b44 ("spl: fit: Prefer a malloc()'d buffer for loading images") With this, UART boot works again on K3 (AM654, J7, AM64) family of devices. Fixes: 03f1f78a9b44 ("spl: fit: Prefer a malloc()'d buffer for loading images") Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2022-02-03Dockfile, CI: Update to latest focal tag and buildTom Rini3-3/+3
- Latest focal tag - Add libgnutls to image Signed-off-by: Tom Rini <trini@konsulko.com>
2022-02-03Dockerfile: Add libgnutls package for building mkeficapsule commandAKASHI Takahiro1-0/+2
For adding signing feature for capsule authentication to the host tool, mkeficapsule, we will link gnutls library for crypto operation. Since we need this command to complete the capsule authentication test on sandbox in CI loop, necessary packages must be installed on the host. See my patch, "tools: mkeficapsule: add firmware image signing." Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
2022-02-02Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriqWIP/02022022Tom Rini53-138/+2028
Update and fixes for ls1088a, FMAN, ls1046ardb, ls1043ardb sync ls1028ardb u-boot and Linux device-tree
2022-02-01Merge https://source.denx.de/u-boot/custodians/u-boot-cfi-flashWIP/01Feb2022Tom Rini1-0/+3
- cfi_mtd: populate mtd->dev with flash_info->dev (Patrice)
2022-02-01mtd: cfi_mtd: populate mtd->dev with flash_info->devPatrice Chotard1-0/+3
Populate mtd->dev with flash_info->dev which allows to get full mtd information using the "mtd list" command. Before, "mtd list" command returns : List of MTD devices: * nor0 - type: NOR flash - block size: 0x40000 bytes - min I/O: 0x1 bytes - 0x000000000000-0x000004000000 : "nor0" After this patch we get for example: List of MTD devices: * nor0 - device: flash@0 - parent: spi@40430000 - driver: cfi_flash - path: /soc/spi@40430000/flash@0 - type: NOR flash - block size: 0x40000 bytes - min I/O: 0x1 bytes - 0x000000000000-0x000004000000 : "nor0" Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Stefan Roese <sr@denx.de>
2022-02-01board: ls1046ardb: force PCI device enumerationMartin Schiller1-0/+4
Commit 045ecf899252 ("configs: enable DM_ETH support for LS1046ARDB") resulted in the PCI bus no longer being implicitly enumerated. However, this is necessary for the fdt pcie fixups to work. Therefore, similar to commit 8b6558bd4187 ("board: ls1088ardb: transition to DM_ETH"), pci_init() is now called in the board_init() routine when CONFIG_DM_ETH is active. Signed-off-by: Martin Schiller <ms@dev.tdt.de> CC: Priyanka Jain <priyanka.jain@nxp.com> Acked-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01board: ls1088a: update ifc node name to be memory-controllerJianpeng Bu1-5/+5
IFC-NOR and QSPI are muxed on SoC. So disable IFC node in dts if QSPI is enabled or disable QSPI node in dts in case QSPI is not enabled. "ifc/nor" will be changed to "memory-controller/nor" in linux. So need to modify "ifc/nor" to "memory-controller/nor" in fdt_path_offset(). Signed-off-by: Jianpeng Bu <jianpeng.bu@nxp.com> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01configs: fsl: add missing FMAN/QE_FW_ADDR definesCamelia Groza4-0/+4
The initial patch had typos that caused four defconfigs to miss the symbol transition to Kconfig. CONFIG_SYS_QE_FW_ADDR and CONFIG_SYS_FMAN_FW_ADDR are currently initialized to 0 by default on these builds, which prevents the firmware from loading. Add the correct symbols to these defconfigs. Fixes: a97a071d10d2b ("configs: fsl: migrate FMAN/QE specific defines to Kconfig") Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01arm: dts: ls1028a-qds: declare in-band autoneg for Ethernet portsVladimir Oltean6-0/+18
The commit in the Fixes: tag below broke traffic through switch ports where the SERDES protocol requires in-band autoneg and this requirement isn't described in the device tree: SGMII, QSGMII, USXGMII (with 2500Base-X, in-band autoneg isn't supported). The LS1028A-QDS boards are not yet ready for syncing their device trees with Linux, since Ethernet is missing there (but has been submitted): https://lore.kernel.org/lkml/20211112223457.10599-11-leoyang.li@nxp.com/ When agreement is reached for the Ethernet support in Linux, there will be a sync for these boards as well. For now, just enable in-band autoneg to fix the breakage. Fixes: e3789a726269 ("net: dsa: felix: configure the in-band autoneg property based on OF node info") Cc: Ramon Fried <rfried.dev@gmail.com> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01arm: dts: ls1028a-rdb: sync device tree with LinuxVladimir Oltean1-12/+146
Allow device trees to be reused between Linux and U-Boot. The source for these device trees is linux-next as of commit bd8a9cd624c6 ("arm64: dts: ls1028a-rdb: update copyright"), which was chosen because some changes needed to be done to the Linux DTs too, before they could be shared: https://lore.kernel.org/linux-arm-kernel/20211202141528.2450169-5-vladimir.oltean@nxp.com/T/#m6f63c92e75fa79a01144b2c2c6dc4776e7971395 There are two more commits on the RDB device tree which haven't been picked up yet, because they have dependencies on the SoC device tree: dd3d936a1b17 ("arm64: dts: ls1028a: add ftm_alarm1 node to be used as wakeup source") b2e2d3e02fb6 ("arm64: dts: ls1028a-rdb: enable pwm0") These will be picked up on the next resync. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: Michael Walle <michael@walle.cc>
2022-02-01arm: dts: ls1028a-rdb: enable PCIe controllers from U-Boot dtsiVladimir Oltean2-8/+15
Reuse the scheme implemented by the Kontron SL28 boards in commit d08011d7f9b4 ("arm: dts: ls1028a: disable the PCIe controller by default") and move the 'status = "okay"' lines for the PCIe controllers inside a separate U-Boot dtsi for the LS1028A-RDB board. This way, the existing Linux device tree can simply be dropped in. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01arm: dts: ls1028a-rdb: disable I2C buses 1 through 7Vladimir Oltean1-28/+0
There is no I2C peripheral on these buses on the reference design board, and the Linux device tree does not enable them either. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01arm: dts: ls1028a-rdb: disable DSPI nodesVladimir Oltean1-12/+0
There is no SPI peripheral on the LS1028A-RDB, therefore no reason to enable these nodes in the U-Boot device tree (and Linux does not enable them either). Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01arm: dts: ls1028a-rdb: sync Ethernet device tree nodes with LinuxVladimir Oltean1-14/+18
In a bit of a blunder, the blamed commit in the Fixes: tag below made the mscc_felix switch driver look at the 'managed = "in-band-status"' device tree property, forgetting that the U-Boot device tree had not been updated to include that property, whereas the Linux one does. The switch is therefore described in the device tree as not requiring in-band autoneg, but the PHY driver for VSC8514 (drivers/net/phy/mscc.c) still enables that feature. This results in a mismatch => no traffic. This patch is a copy-paste of the Ethernet device tree nodes from Linux, which resolves that issue. The device tree update also renames the Ethernet PHY labels. Fixes: e3789a726269 ("net: dsa: felix: configure the in-band autoneg property based on OF node info") Cc: Ramon Fried <rfried.dev@gmail.com> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01arm: dts: ls1028a-rdb: sort nodes alphabeticallyVladimir Oltean1-55/+55
The nodes in the NXP LS1028A-RDB device tree are out of order, regroup them alphabetically to have a simple delta when the Linux device tree is brought in. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01rtc: pcf2127: remove U-Boot specific compatible stringVladimir Oltean1-1/+0
Now that all in-tree boards have been converted to the compatible strings from Linux, delete the support for the ad-hoc "pcf2127-rtc" one. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01arm: dts: lx2160a-rdb: use Linux compatible string for RTCVladimir Oltean1-1/+1
During the LS1028A-RDB sync with Linux device trees, it was observed that the same RTC is present on the two boards, and the wrong compatible string is used in both places. This change updates the RTC from the LX2160A-RDB to use the compatible string that was established in Linux. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: Michael Walle <michael@walle.cc>
2022-02-01arm: dts: ls1028a-rdb: use Linux compatible string for RTCVladimir Oltean1-1/+1
During this board's sync with Linux device trees, it was observed that it doesn't use the same compatible string for the RTC node as in U-Boot. This change makes the RTC compatible strings match, for a smoother sync. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01arm: dts: ls1028a-qds: use Linux compatible string for RTCVladimir Oltean1-1/+1
The LS1028A-QDS board won't be synced with the Linux device trees right now, since those are currently still in progress (Ethernet is missing). However, while we're at converting the RDB, it can be observed that the same RTC is present on the two boards, and the wrong compatible string is used in both places. This change updates the RTC from the QDS to use the compatible string that was established in Linux. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: Michael Walle <michael@walle.cc>
2022-02-01arm: dts: lx2160a-qds: use Linux compatible string for RTCVladimir Oltean1-1/+1
During the LS1028A-RDB sync with Linux device trees, it was observed that the same RTC is present on the two boards, and the wrong compatible string is used in both places. This change updates the RTC from the LX2160A-QDS to use the compatible string that was established in Linux. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: Michael Walle <michael@walle.cc>
2022-02-01arm: dts: ls1088a-rdb: use Linux compatible string for RTCVladimir Oltean1-1/+1
During the LS1028A-RDB sync with Linux device trees, it was observed that the same RTC is present on the two boards, and the wrong compatible string is used in both places. This change updates the RTC from the LS1088A-RDB to use the compatible string that was established in Linux. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: Michael Walle <michael@walle.cc>
2022-02-01arm: dts: ls1088a-qds: use Linux compatible string for RTCVladimir Oltean1-1/+1
During the LS1028A-RDB sync with Linux device trees, it was observed that the same RTC is present on the two boards, and the wrong compatible string is used in both places. This change updates the RTC from the LS1088A-QDS to use the compatible string that was established in Linux. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: Michael Walle <michael@walle.cc>
2022-02-01rtc: pcf2127: sync with Linux compatible stringsVladimir Oltean1-0/+3
Allow this driver to be used by boards which inherit their device trees from Linux. Compatibility is temporarily retained with the old compatible string which is U-Boot specific, and will be removed after a few changes. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01i2c: muxes: pca954x: add PCA9847 variantVladimir Oltean1-1/+8
This seems to be very similar to the already existing PCA9547, save for the fact that it supports 0.8V and doesn't support 5V. In fact, it is so similar to the PCA9547 that the NXP LS1028A-RDB board has been driving this chip using a "nxp,pca9547" compatible string. Create a new compatible for the PCA9847 (which is the same as in Linux) and define the same operating parameters for it as for PCA9547. Cc: Heiko Schocher <hs@denx.de> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: Michael Walle <michael@walle.cc>
2022-02-01pci: layerscape: update the searching compatible of LX2160A PCIeHou Zhiqiang2-7/+6
The current fixup of LX2160A PCIe nodes is based on non-production rev1 silicon, and in Linux the nodes have been updated for rev2 silicon, so update the searching compatible string to match the kernel changes. And for compatibility with the rev1 nodes, move forward the board specific fixup. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01board: ls1043ardb: force PCI device enumerationMartin Schiller1-0/+4
Commit eb1986804d1d ("configs: enable DM_ETH support for LS1043ARDB") resulted in the PCI bus no longer being implicitly enumerated. However, this is necessary for the fdt pcie fixups to work. Therefore, similar to commit 8b6558bd4187 ("board: ls1088ardb: transition to DM_ETH"), pci_init() is now called in the board_init() routine when CONFIG_DM_ETH is active. Signed-off-by: Martin Schiller <ms@dev.tdt.de> CC: Priyanka Jain <priyanka.jain@nxp.com> CC: Camelia Groza <camelia.groza@nxp.com> Acked-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01km/ls102xa: use unused scratchrw4 address for post wordAleksandar Gerasimovski1-6/+5
The SCRATCHRW4 is only used in secure boot scenario that is unsupported by our design, so this address can be stolen for storing POST status. The SCRATCHRW4 is initialized to zero at core rest. Using a DDR address was unfortunate choice, the DDR at boot time has a random contend and it happens that sometimes is matching POST magic number. This behavior can lead to undefined POST behavior and u-boot ending in failbootcmd command. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01configs/expu1/seli8: limit autoboot stop to space keyAleksandar Gerasimovski2-0/+6
Make it in a same way as on the other FOXMC products, this also helps to avoid unwanted stop caused by some terminal servers that are sending junk on the serial line. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01arm/expu1/seli8: adapt dts NOR partition table to the latest usedAleksandar Gerasimovski2-3/+26
Even not used by u-boot, this has to be inline with the hw and kernel dts. U-boot partition table is defined by MTDPARTS_DEFAULT Kconfig. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01configs/expu1: add u-boot update defconfigAleksandar Gerasimovski2-0/+84
This patch adds default defconfig for u-boot update version, the u-boot update defconfig is a copy of the default (factory) defconfig with: - adapted text base and environment addresses - explicit flag that this is a field updated u-boot version At the time of implementation this version is only used to verify the update procedure, in future depend on the needs this defconfig can be extended with additional options. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01configs/expu1: enable field fail-safe u-boot updateAleksandar Gerasimovski1-1/+4
Field fail-safe u-boot update for pg-wcom-ls102x designs is introduced with patch: 81fb05e. This patch enables already added support by: - Defining default u-boot build as bootpackage (factory) image. - Defining u-boot update image location according to the EXPU1 NOR layout. - Extending mtd partitions according defined EXPU1 NOR layout. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01configs: expu1: enable ver envvar for version_stringAleksandar Gerasimovski1-0/+1
This is used by out ESW for reading u-boot build version. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01configs: seli8: enable ver envvar for version_stringAleksandar Gerasimovski1-0/+1
This is used by out ESW for reading u-boot build version. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01km/ls102xa: fix device disable configurationAleksandar Gerasimovski1-2/+1
This was probably broken when mainlining, CONFIG_FSL_DEVICE_DISABLE is not Kconfig but whitelisted. It's fine to be without flag as this is always enabled for abec1020 (pg-wcom-ls102xa.h) Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01configs/seli8: add u-boot update defconfigAleksandar Gerasimovski2-0/+84
This patch adds default defconfig for u-boot update version, the u-boot update defconfig is a copy of the default (factory) defconfig with: - adapted text base and environment addresses - explicit flag that this is a field updated u-boot version At the time of implementation this version is only used to verify the update procedure, in future depend on the needs this defconfig can be extended with additional options. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01configs/seli8: enable field fail-safe u-boot updateAleksandar Gerasimovski1-1/+4
Field fail-safe u-boot update for pg-wcom-ls102x designs is introduced with patch 81fb05e. This patch enables already added support by: - Defining default u-boot build as bootpackage (factory) image. - Defining u-boot update image location according to the SELI8 NOR layout. - Extending mtd partitions according defined SELI8 NOR layout. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01km/ls102xa: add support for field fail-safe u-boot updateAleksandar Gerasimovski2-0/+9
Field fail-safe u-boot update procedure for pg-wcom boards is defined and implemented by patch: 59b3403. This patch invokes the update procedure for pg-wcom-ls102x designs during early misc_init_f execution. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01km: common: implement field fail-safe u-boot updateAleksandar Gerasimovski4-0/+104
This patch provides possibility for field fail-safe u-boot updates. The implementation can be used on all pg-wcom boards that are booting from parallel NOR flash. When used in a board design, provided check_for_uboot_update function will start new u-boot at defined location if updateduboot envvar is set to yes. With this implementation it is expected that factory programmed u-boot will always stay as it is, and optionally new u-boot can be safely programmed by embedded software when the unit is rolled out on the field. It is expected check_for_uboot_update to be called early in execution before relocation (*_f) once SoC is basically initialized and environment can be read, with this possibilities to not be able to fix a u-boot bug by a u-boot update are reduced to minimum. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01km: qrio: add access functions for ebootcountAleksandar Gerasimovski2-0/+41
The EBOOTCNT is a reserved persistent static memory area in QRIO, and similar to BOOTCNT is intended to be used as boot counter location. Comparable to BOOTCNT that is reserved for u-boot main bootcount infrastructure, EBOOTCNT is intended to be used for pg-wcom board specific purposes (e.g implementing early boot counter for fail-safe u-boot update). Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01km/ls102xa: dbg phy prst depends on piggy presenceAleksandar Gerasimovski1-1/+3
The PHY for the debug interface was placed on the board for the pg_wcom_ls102x. Hence only when a piggy is plugged, a RJ45 jack including magnetics is connected to the MDI of the PHY. Without a piggy the MDI lines are left floating and it does not make sense to have an active debug PHY. In case of expu1 an active PHY without a piggy even led to increased jitter for syncE. This patch only deactivates the prst line of the debug PHY when a piggy is detected persent. Signed-off-by: Rainer Boschung <rainer.boschung@hitachienergy.com> Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01km: qrio: add function to read PGY_PRES pin statusAleksandar Gerasimovski2-0/+14
It is necessary to read the status of the PGY_PRES pin so that u-boot can react accordingly. Signed-off-by: Rainer Boschung <rainer.boschung@hitachienergy.com> Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01km/ls102xa: use qrio selftest_pin for reading selftestAleksandar Gerasimovski1-3/+2
QRIO library now supports direct read of the test pin status. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-01km: qrio: add function to read SLFTEST pin statusAleksandar Gerasimovski2-0/+14
There is a request from HW designers to use this QRIO pin for detecting DIC26_SELFTEST status instead of a GPIO pin. This pin is typically used during production for executing POST tests and starting test ESW bank. Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>