summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-12pmic: pca9450: Add PCA9450C compatible stringMarek Vasut
Add DT compatible string for PCA9450C PMIC. This is a variant of the PCA9450 PMIC with 6 A dual-phase buck regulator and 3 A buck regulator, and is software-wise compatible with the PCA9450B. This variant of the PCA9450 is designed for use as companion PMIC for i.MX8MP. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2022-04-12ARM: dts: net: dwc_eth_qos: Fix i.MX8MP compatible stringMarek Vasut
The correct compatible string for i.MX8MP variant of DWC EQoS MAC is "nxp,imx8mp-dwmac-eqos", use it. Drop the two current users of the current wrong compatible string to avoid breaking them. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Marcel Ziswiler <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2022-04-12imx: imx8mm/imx8mn_beacon: Remove redundant codeAdam Ford
The Ethernet controller and PHY use the device tree info to configure themselves, so it's not necessary to manually do it in the board file. This permits the removal of a bunch of headers as well. Signed-off-by: Adam Ford <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Acked-by: Peng Fan <[email protected]>
2022-04-12ARM: imx: imx8mn-*-evk: add qca, disable-smarteee phy nodeHeiko Thiery
To be in sync with the linux devicetree add the disable-smarteee property. Signed-off-by: Heiko Thiery <[email protected]> Tested-by: Marek Vasut <[email protected]> # 8MNANOD4-EVK
2022-04-12ARM: imx: imx8mn-*-evk: use reset-gpios in phy nodeHeiko Thiery
To be in sync with the linux devicetree change the 'phy-reset-gpios' in the fec node to 'reset-gpios' in the phy node. The PHY reset will be done by the eth-phy-uclass driver while probing the PHY. This is ok since it is done before probing the fec. Signed-off-by: Heiko Thiery <[email protected]> Tested-by: Marek Vasut <[email protected]> # 8MNANOD4-EVK Reviewed-by: Fabio Estevam <[email protected]>
2022-04-12ARM: imx: imx8mn-*-evk: use DM settings for PHY configurationHeiko Thiery
With the correct settings described in the device-tree the PHY settings in the board init are no longer required. The values are taken from the linux device tree. The PHY latency settings are derived from the phy-mode property and the voltage seetings are done via the regulator. Suggested-by: Michael Walle <[email protected]> Signed-off-by: Heiko Thiery <[email protected]> Tested-by: Marek Vasut <[email protected]> # 8MNANOD4-EVK Reviewed-by: Fabio Estevam <[email protected]>
2022-04-12pinctrl: nxp: don't automatically select DEVRESAngus Ainslie
If we select DEVRES here then it breaks building an imx8m SPL without DEVRES support. Signed-off-by: Angus Ainslie <[email protected]>
2022-04-12include/linux/byteorder: fix cpu_to_be32_array()Heinrich Schuchardt
In cpu_to_be32_array() and be32_to_cpu_array() we should not compare an int counter to a size_t parameter. Correct the type of the counter. This exists in upstream as b4c80629c5c9 ("include/linux/byteorder/generic.h: fix index variables"). Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-04-12Makefile.lib: Re-use $(UBOOTINCLUDE) in dtc_cpp_flagsAndy Shevchenko
As in ASL case use same basic set of the inclusions. Signed-off-by: Andy Shevchenko <[email protected]>
2022-04-12configs: imx6dl_mamoj_defconfig: Enable LTO on imx6dl_mamoj boardMichael Trimarchi
Enable LTO on mamoj to reduce SPL and uboot size. Tested with gcc gcc-11.1.0 U-Boot 2022.04-rc4-00051-g17fc5facd0 (Mar 23 2022 - 16:43:43 +0100) CPU: Freescale i.MX6DL rev1.3 996 MHz (running at 792 MHz) CPU: Extended Commercial temperature grade (-20C to 105C) at 40C Reset cause: POR Model: BTicino i.MX6DL Mamoj board DRAM: 512 MiB Core: 29 devices, 12 uclasses, devicetree: separate MMC: FSL_SDHC: 2 Loading Environment from MMC... OK In: serial Out: serial Err: serial Net: Error: ethernet@2188000 address not set. No ethernet found. Tested-by: Raffaele RECALCATI <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-04-12update CAAM MAINTAINERGaurav Jain
updated CAAM driver files maintainer. Signed-off-by: Gaurav Jain <[email protected]>
2022-04-12PPC: Enable Job ring driver model.Gaurav Jain
removed sec_init() call from board files. sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2022-04-12PPC: Add crypto node in device treeGaurav Jain
device tree imported from linux kernel. c500bee1c5b2 (tag: v5.14-rc4) Linux 5.14-rc4 Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2022-04-12Layerscape: Enable Job ring driver model.Gaurav Jain
LS(1021/1012/1028/1043/1046/1088/2088), LX2160, LX2162 platforms are enabled with JR driver model. removed sec_init() call from board files. sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Priyanka Jain <[email protected]> Reviewed-by: Michael Walle <[email protected]>
2022-04-12Layerscape: Add crypto node in device treeGaurav Jain
LS(1021/1012/1028/1043/1046/1088/2088), LX2160 - updated device tree Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2022-04-12crypto/fsl: i.MX8: Enable Job ring driver model.Gaurav Jain
i.MX8(QM/QXP) - added support for JR driver model. sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain <[email protected]> Signed-off-by: Horia Geantă <[email protected]> Reviewed-by: Ye Li <[email protected]>
2022-04-12i.MX8: Add crypto node in device treeGaurav Jain
i.MX8(QM/QXP) - updated device tree for supporting DM in SPL. disabled use of JR1 in SPL and uboot, as JR1 is reserved for SECO FW. Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Ye Li <[email protected]>
2022-04-12i.MX7ULP: Enable Job ring driver model.Gaurav Jain
added crypto node in device tree. sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Ye Li <[email protected]>
2022-04-12i.MX7: Enable Job ring driver model.Gaurav Jain
i.MX7D - added support for JR driver model. removed sec_init() call, sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Ye Li <[email protected]>
2022-04-12i.MX6: Enable Job ring driver model.Gaurav Jain
i.MX6,i.MX6SX,i.MX6UL - added support for JR driver model. removed sec_init() call, sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Ye Li <[email protected]>
2022-04-12mx6sabre: Remove unnecessary SPL configsYe Li
Because we don't use SPL_DM on mx6sabresd and mx6sabreauto, so it is unnecessary to have SPL DTB related configs and SPL_OF_CONTROL enabled. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Gaurav Jain <[email protected]>
2022-04-12crypto/fsl: i.MX8M: Enable Job ring driver model.Gaurav Jain
i.MX8MM/MN/MP/MQ - added support for JR driver model. sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Ye Li <[email protected]>
2022-04-12i.MX8M: crypto: updated device tree for supporting DM in SPLGaurav Jain
Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Ye Li <[email protected]>
2022-04-12crypto/fsl: Add support for CAAM Job ring driver modelGaurav Jain
added device tree support for job ring driver. sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain <[email protected]> Reviewed-by: Ye Li <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-12LS1043ARDB, LS1046ARDB, LS1088ARDB: Enable SPL_OF_CONTROL in SECURE Boot ↵Kshitiz Varshney
defconfig If enable SPL_DM without SPL_OF_CONTROL, build errors "undefined reference to fdt_get_resource", is coming in function `caam_jr_probe'. Added SPL_OF_CONTROL to remove the error. Signed-off-by: Kshitiz Varshney <[email protected]>
2022-04-11linux/mtd/mtd.h: Add <dm/ofnode.h>Tom Rini
We need to know where the typedef of 'ofnode' comes from. Fixes: c86a4de8df61 ("mtd: Add flash_node in struct mtd_info") Signed-off-by: Tom Rini <[email protected]>
2022-04-11Merge branch '2022-04-11-assorted-updates'Tom Rini
- Assorted fixes/updates including K3-J721s2 timer dts fix, assorted crypto improvements, led-pwm driver, improve handling of mtd partitions, align mkimage hash output buffers and backport a UBIFS bugfix from Linux.
2022-04-11ahci: add PCI bindings for Marvell 88SE6121/45 SATA controllersHajo Noerenberg
Add AHCI PCI bindings for Marvell 88SE6121/45 SATA controllers. The 88SE6121 controller is used, for example, in the Seagate Blackarmor NAS440 or the Iomega ix4-200d NAS. As Pali Rohár explained [1], these controllers do not match the standard AHCI class code and therefore require an explizit PCI binding. The Linux kernel also uses this approach [2]. [1] https://lists.denx.de/pipermail/u-boot/2022-March/479197.html [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/ata/ahci.c?h=v5.17#n557 Signed-off-by: Hajo Noerenberg <[email protected]> Reviewed-by: Pali Rohár <[email protected]>
2022-04-11ubifs: Fix journal replay wrt. xattr nodesVille Baillie
Backport commit 1cb51a15b576 ("ubifs: Fix journal replay wrt. xattr nodes") from the Linux Kernel, which has the following Signed-off-by line: Signed-off-by: Richard Weinberger <[email protected]> For U-Boot, after comapring with the upstream commit: Signed-off-by: Tom Rini <[email protected]>
2022-04-11image: fit: Align hash output buffersSean Anderson
Hardware-accelerated hash functions require that the input and output buffers be aligned to the minimum DMA alignment. memalign.h helpfully provides a macro just for this purpose. It doesn't exist on the host, but we don't need to be aligned there either. Fixes: 5dfb521386 ("[new uImage] New uImage low-level API") Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-11cmd: pxe_utils: sysboot: replace cls command by video_clear in PXE parserPatrick Delaunay
Since the commit bfaa51dd4adf ("cmd: add serial console support for the cls command") the cls command is not enough to clear the video display when ANSI console is activated. This patch clears the video device with the video_clear() API before to display the bitmap used for the PXE background. This patch avoids to display the LOGO, activated by default with commit 7a8555d87136 ("video: Show the U-Boot logo by default"). Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-04-11mtd: Update the way partitions are parsedPatrice Chotard
In case mtd_info's dev field is not populated (raw nand's case), use the flash_node new field which reference the DT flash node where can be found "partitions" node with "fixed-partitions" compatible. Signed-off-by: Patrice Chotard <[email protected]> Cc: Farhan Ali <[email protected]> Cc: Heinrich Schuchardt <[email protected]> Cc: Jagan Teki <[email protected]> Cc: Marek Behun <[email protected]> Cc: Miquel Raynal <[email protected]> Cc: Simon Glass <[email protected]> Cc: Wolfgang Denk <[email protected]>
2022-04-11mtd: Add flash_node in struct mtd_infoPatrice Chotard
Currently, add_mtd_partitions_of() can be used only if dev field of mtd_info struct is populated. It's the case, for example, for a spi nor flash, which has a DT compatible "jedec,spi-nor" and an associated device. mtd->dev is populated in spi_nor_scan(). But in case of a raw nand node, mtd_info's dev field can't be populated as flash node has no compatible, so no associated device. add_mtd_partitions_of() can't be used to parse "partitions" subnode. To remove this constraint, add an ofnode field in mtd_info struct which reference the DT flash node. This new field is populated by nand_scan_tail(). This new field will be used by add_mtd_partitions_of() to parse the flash node for "partitions" defined in DT. Signed-off-by: Patrice Chotard <[email protected]> Cc: Farhan Ali <[email protected]> Cc: Heinrich Schuchardt <[email protected]> Cc: Jagan Teki <[email protected]> Cc: Marek Behun <[email protected]> Cc: Miquel Raynal <[email protected]> Cc: Simon Glass <[email protected]> Cc: Wolfgang Denk <[email protected]>
2022-04-11drivers: led: bcm6858: Set a default brightness when probing LEDsPaul HENRYS
When probing the LEDs, a default brightness is set based on settings from the U-Boot device tree, i.e. the 'default-brightness' property of the LED nodes. If that property is not present, the default maximum brightness is set. This should make sure the LED controller's registers affecting the brightness are correctly initialized and should give a consistent behaviour. Signed-off-by: Paul HENRYS <[email protected]>
2022-04-11spl: allow boot from first bootable partitionJérôme Carretero
This was implemented in order to get dual-slot bootloader partitions on the BeagleBone Black, whose MLO boots from the first bootable partition: MLO chainloads u-boot in the same way. Signed-off-by: Jérôme Carretero <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2022-04-11lib/crypto: support sha384/sha512 in x509/pkcs7Dhananjay Phadke
Set digest_size SHA384 and SHA512 algorithms in pkcs7 and x509, (not set by ported linux code, but needed by __UBOOT__ part). EFI_CAPSULE_AUTHENTICATE doesn't select these algos but required for correctness if certificates contain sha384WithRSAEncryption or sha512WithRSAEncryption OIDs. Signed-off-by: Dhananjay Phadke <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-04-11led: led_pwm: Add a driver for LEDs connected to PWMIvan Vozvakhov
Add a driver which allows to use of LEDs connected to PWM (Linux compatible). MAINTAINERS: add i.vozvakhov as a maintainer of leds-pwm C(required during new functionality adding). Signed-off-by: Ivan Vozvakhov <[email protected]>
2022-04-11lib: rsa: Update function padding_pss_verify (any-salt)SESA644425
Modify function to support any salt length instead of max length only. Function now detects salt length by parsing the content of db buffer. Note that it works with (but is not limited to) zero-length, digest-length and max-length Signed-off-by: SESA644425 <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-11lib: rsa: Leverage existing data buffer instead of systematic copySESA644425
Prior to introduction of modifications in rsassa_pss functions related to padding verification, doing a pass to reduce memory consumption of function by replacing memory copies of parts of const buffer by pointers to the original buffer (masked_db and h are subparts of msg buffer which is declared const, salt is a subpart of db which is a working buffer, unmodified after being filled). New pointers scope is limited to the function where they are declared (not returned to caller by any mean), zeroing risk of memory fault related to the change. Signed-off-by: SESA644425 <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-11lib: rsa: Fix const-correctness of rsassa_pss functionsSESA644425
Prior to introduction of modifications in rsassa_pss functions related to padding verification, doing a pass to update const-correctness in targeted functions to comply with coding-rules and avoid const-cast Signed-off-by: SESA644425 <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-11ARM: dts: k3-j721s2: Correct timer frequencyVignesh Raghavendra
MCU Timer0 runs at 250MHz, and the clock-frequency defined in DT appears incorrect. Without this delays in R5 SPL are 10x off. Signed-off-by: Vignesh Raghavendra <[email protected]>
2022-04-11Merge branch '2022-04-11-add-OP-TEE-rng'Tom Rini
- Add support for OP-TEE providing an RNG to use, and enable on some stm32mp15 configurations.
2022-04-11configs: add support of OPTEE RNG in stm32mp15 defconfigPatrick Delaunay
When the RNG device is secured with OP-TEE, it is only accessible with the HWRNG TA, the CONFIG_RNG_OPTEE is needed for STM32MP15 targets with OP-TEE support. The probe of this RNG driver fails when the TA is not available in OP-TEE and the previous driver can be used, as CONFIG_RNG_STM32MP1 is activated and when the associated node is activated in the device tree with: &rng1 { status = "okay"; }; When the RNG is used in OP-TEE, this node should be deactivated in the Linux and U-Boot device tree. Signed-off-by: Patrick Delaunay <[email protected]>
2022-04-11tee: optee: bind rng optee driverPatrick Delaunay
In U-Boot, the discovery of TA based on its UUID on the TEE bus is not supported. This patch only binds the driver associated to the new supported OP-TEE TA = TA_HWRNG when this driver is enable. Signed-off-by: Patrick Delaunay <[email protected]>
2022-04-11rng: add OP-TEE based Random Number GeneratorPatrick Delaunay
Add driver for OP-TEE based Random Number Generator on ARM SoCs where hardware entropy sources are not accessible to normal world and the RNG service is provided by a HWRNG Trusted Application (TA). This driver is based on the linux driver: char/hw_random/optee-rng.c Signed-off-by: Patrick Delaunay <[email protected]>
2022-04-11Merge branch '2022-04-11-initial-valgrind-support'Tom Rini
To quote the author: This series adds support for running valgrind against U-Boot's internal malloc. This allows for much more useful reports to be generated. Some example output of valgrind run against u-boot/master with this branch applied may be found at [1]. Note that valgrind gives up around acpi. This feature still needs a lot of work on suppressions/hints to filter out the noise properly. [1] https://gist.githubusercontent.com/Forty-Bot/199bf06f9cdd6871e54f8f484c16e111/raw/2a2f99108eef84b48e27a54332f3f71f4e2e5342/gistfile1.txt
2022-04-11doc: sandbox: Document how to run sandbox with valgrindSean Anderson
This documents how to get more detailed results from valgrind made possible by the last two commits. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-11malloc: Annotate allocator for valgrindSean Anderson
This annotates malloc and friends so that valgrind can track the heap. To do this, we need to follow a few rules: * Call VALGRIND_MALLOCLIKE_BLOCK whenever we malloc something * Call VALGRIND_FREELIKE_BLOCK whenever we free something (generally after we have done our bookkeeping) * Call VALGRIND_RESIZEINPLACE_BLOCK whenever we change the size of an allocation. We don't record the original request size of a block, and neither does valgrind. For this reason, we pretend that the old size of the allocation was for 0 bytes. This marks the whole allocaton as undefined, so in order to mark all bits correctly, we must make the whole new allocation defined with VALGRIND_MAKE_MEM_DEFINED. This may cause us to miss some invalid reads, but there is no way to detect these without recording the original size of the allocation. In addition to the above, dlmalloc itself tends to make a lot of accesses which we know are safe, but which would be unsafe outside of dlmalloc. For this reason, we provide a suppression file which ignores errors ocurring in dlmalloc.c Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-11Add valgrind headers to U-BootSean Anderson
Valgrind uses magic code sequences to define an ABI that the client may use to request behavior from the host. In particular, this may be used to inform valgrind about custom allocators, such as the one used in U-Boot. This adds headers defining these sequences to U-Boot. It also adds a config option to disable emission of these sequences entirely, in the (likely) event that the user does not wish to use valgrind. Note that this option is called NVALGRIND upstream, but was renamed (and inverted) to CONFIG_VALGRIND. Aside from this and the conversion of a few instances of VALGRIND_DO_CLIENT_REQUEST_EXPR to STMT, these headers are unmodified. These headers were copied from valgrind 3.16.1-4 as distributed in Arch Linux. They are licensed with the bzip2 1.16 license. This appears to be a BSD license with some clauses from Zlib. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-11Kconfig: Fix SYS_MALLOC_F_LEN for i.MX8MQPeng Fan
i.MX8MQ use SYS_MALLOC_F_LEN 0x2000, not 0x10000. The OCRAM_S only has 32KB memory, use 0x10000 will make SPL not bootable. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>