- Sep 15, 2022
-
-
Add J7200 High Security EVM defconfig. These defconfigs are the same as for the non-secure part, except for: CONFIG_TI_SECURE_DEVICE option set to 'y' CONFIG_BOOTCOMMAND uses FIT images for booting Signed-off-by:
Andrew Davis <afd@ti.com> [j-choudhary@ti.com: add few configs from GP variant which were missing] Signed-off-by:
Jayesh Choudhary <j-choudhary@ti.com>
-
- Sep 13, 2022
-
-
This patch adds the cyclic command, which currently only supports the 'list' subcommand, to list all currently registered cyclic functions. Here an example: => cyclic list function: cyclic_demo, cpu-time: 7010 us, frequency: 99.80 times/s function: cyclic_demo2, cpu-time: 1 us, frequency: 1.13 times/s As you can see, the cpu-time is accounted, so that cyclic functions that take too long might be discovered. Additionally the frequency is logged. The 'cyclic demo' commands registers the cyclic_demo() function to be executed all 'cycletime_ms' milliseconds. The only thing this function does is delaying by 'delay_us' microseconds. Signed-off-by:
Stefan Roese <sr@denx.de> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Add the basic infrastructure to periodically execute code, e.g. all 100ms. Examples for such functions might be LED blinking etc. The functions that are hooked into this cyclic list should be small timewise as otherwise the execution of the other code that relies on a high frequent polling (e.g. UART rx char ready check) might be delayed too much. This patch also adds the Kconfig option CONFIG_CYCLIC_MAX_CPU_TIME_US, which configures the max allowed time for such a cyclic function. If it's execution time exceeds this time, this cyclic function will get removed from the cyclic list. How is this cyclic functionality executed? The following patch integrates the main function responsible for calling all registered cyclic functions cyclic_run() into the common WATCHDOG_RESET macro. This guarantees that cyclic_run() is executed very often, which is necessary for the cyclic functions to get scheduled and executed at their configured periods. This cyclic infrastructure will be used by a board specific function on the NIC23 MIPS Octeon board, which needs to check periodically, if a PCIe FLR has occurred. Signed-off-by:
Stefan Roese <sr@denx.de> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Add ASPEED BMC FMC/SPI memory controller driver with spi-mem interface for AST2500 and AST2600 platform. There are three SPI memory controllers embedded in an ASPEED SoC. - FMC: Named as Firmware Memory Controller. After AC on, MCU ROM fetches initial device boot image from FMC chip select(CS) 0. - SPI1: Play the role of a SPI Master controller. Or, there is a dedicated path for HOST(X86) to access its BIOS flash mounted under BMC. spi-aspeed-smc.c implements the control sequence when SPI1 is a SPI master. - SPI2: It is a pure SPI flash controller. For most scenarios, flashes mounted under it are for pure storage purpose. ASPEED SPI controller supports 1-1-1, 1-1-2 and 1-1-4 SPI flash mode. Three types of command mode are supported, normal mode, command read/write mode and user mode. - Normal mode: Default mode. After power on, normal read command 03h or 13h is used to fetch boot image from SPI flash. - AST2500: Only 03h command can be used after power on or reset. - AST2600: If FMC04[6:4] is set, 13h command is used, otherwise, 03h command. The address length is decided by FMC04[2:0]. - Command mode: SPI controller can send command and address automatically when CPU read/write the related remapped or decoded address area. The command used by this mode can be configured by FMC10/14/18[23:16]. Also, the address length is decided by FMC04[2:0]. This mode will be implemented in the following patch series. - User mode: It is a traditional and pure SPI operation, where SPI transmission is controlled by CPU. It is the main mode in this patch. Each SPI controller in ASPEED SoC has its own decoded address mapping. Within each SPI controller decoded address, driver can assign a specific address region for each CS of a SPI controller. The decoded address cannot overlap to each other. With normal mode and command mode, the decoded address accessed by the CPU determines which CS is active. When user mode is adopted, the CS decoded address is a FIFO, CPU can send/receive any SPI transmission by accessing the related decoded address for the target CS. This patch only implements user mode initially. Command read/write mode will be implemented in the following patches. Signed-off-by:
Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>
-
- Aug 20, 2022
-
-
My professional e-mail will change and the BayLibre one will bounce after mid-september of 2022. This updates the MAINTAINERS files and adds an entry in the .mailmap file. Signed-off-by:
Neil Armstrong <neil.armstrong@linaro.org>
-
- Aug 16, 2022
-
-
caam driver model enabled in spl for secure boot. fsl_rsa_mod_exp driver enabled in spl for validating uboot image. Signed-off-by:
Gaurav Jain <gaurav.jain@nxp.com>
-
- Aug 10, 2022
-
-
Replace former professional address by my personal e-mail. Signed-off-by:
Joao Marcos Costa <jmcosta944@gmail.com>
-
- Aug 01, 2022
-
-
After a discussion with Tom Rini, we've agreed that I am going to take over custodianship of the MPC85XX platform, since it seems other people do not have necessary interest or time and getting things done over there takes too long. Since I am only working on one MPC85XX board, Turris 1.x, and do not have time to do thorough reviews of patches for this entire platform (other than those concerning Turris 1.x board), for other boards I will only run patches through CI and checkpatch, and then send them via PR upwards to Tom. Signed-off-by:
Marek Behún <kabel@kernel.org> Acked-by:
Tom Rini <trini@konsulko.com>
-
- Jul 26, 2022
-
-
The MAINTAINERS file currently lists files in arch/arm/include/asm/arch-imx/ being part of the IMX maintainers purview, however the arch/arm/include/asm/ directory also contains the directories arch-imx8, arch-imx8m, arch-imx8ulp and arch-imxrt which would also appear to be relevant to the team. Tweak the entry to cover these directories so that tools like get_maintainers.pl will suggest relevant maintainers when making changes just in these directories. Signed-off-by:
Martyn Welch <martyn.welch@collabora.com>
-
- Jul 25, 2022
-
-
On AM43xx HS devices, QSPI boot is XIP and we use a single stage bootloader. Add a defconfig for this. Signed-off-by:
Andrew Davis <afd@ti.com>
-
- Jul 21, 2022
-
-
Fix diacritics in some instances of my name and change my e-mail address to kabel@kernel.org. Add corresponding .mailmap entries. Signed-off-by:
Marek Behún <kabel@kernel.org> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Fix MAINTAINERS files for Turris devices, add missing files and add Pali as maintainer. Signed-off-by:
Marek Behún <marek.behun@nic.cz> Reviewed-by:
Stefan Roese <sr@denx.de>
-
I am currently maintaing the Methode uDPU and eDPU boards so add myself as the maintainer for them. Remove the old entry from board/Marvell/mvebu_armada-37xx/MAINTAINERS. Signed-off-by:
Robert Marko <robert.marko@sartura.hr> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Add support for hardware watchdog timer for Amlogic SoCs. This driver has been heavily inspired by his Linux equivalent (meson_gxbb_wdt.c). Reviewed-by:
Jerome Brunet <jbrunet@baylibre.com> Reviewed-by:
Neil Armstrong <narmstrong@baylibre.com> Signed-off-by:
Philippe Boos <pboos@baylibre.com> Reviewed-by:
Stefan Roese <sr@denx.de>
-
- Jul 13, 2022
-
-
Update maintainer for MediaTek MIPS platform Signed-off-by:
Weijie Gao <weijie.gao@mediatek.com>
-
Ilias has since long been reviewing UEFI patches. Now he has volunteered to assist me in maintaining the sub-system. Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
- Jul 07, 2022
-
-
Tom Rini authored
With the last platform for this architecture removed, remove the rest of the architecture support as well. Cc: Marek Vasut <marex@denx.de> Signed-off-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- Jul 01, 2022
-
-
Both of us are working on NAND subsystem on several architectures and we have boards and projects to improve the subsystem in uboot. The idea is to guarantee quick feedback on patches sent on mailing list and most of the time the possibilities to test them. Cc: Dario Binacchi <dario.binacchi@amarulasolutions.com> Signed-off-by:
Michael Trimarchi <michael@amarulasolutions.com> Acked-by:
Tom Rini <trini@konsulko.com>
-
- Jun 29, 2022
-
-
T Karthik Reddy authored
Add support for cadence ospi driver for Versal platform. This driver provides support for DMA read operation which utilizes cadence qspi driver. If "cdns,is-dma" DT property is specified use dma for read operation from cadence_qspi driver. As cadence_qspi_apb_dma_read() is defined in cadence_ospi_versal driver add a weak function defination in cadence_qspi driver. Signed-off-by:
T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by:
Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Link: https://lore.kernel.org/r/20220512100535.16364-3-ashok.reddy.soma@xilinx.com Signed-off-by:
Michal Simek <michal.simek@amd.com>
-
- Jun 24, 2022
-
-
Michal Simek authored
Move axi timer driver from Microblaze to generic location. Origin implementation was irq based with counting down timer. CONFIG_TIMER drivers are designed differently that timer is free running up timer with automatic reload without any interrupt. Information about clock rates are find out in timer_pre_probe() that's why there is no need to get any additional information from DT in the driver itself (only register offset). Signed-off-by:
Michal Simek <michal.simek@amd.com> Tested-by:
Ovidiu Panait <ovidiu.panait@windriver.com> Link: https://lore.kernel.org/r/6c12fc86bbc1f17d05c25018862e7b7b03346b36.1654684731.git.michal.simek@amd.com
-
- Jun 23, 2022
-
-
Adds random number generator driver using Arm SMCCC TRNG interface to get entropy bytes from secure monitor. The driver registers as an Arm SMCCC feature driver to allow PSCI driver to bind a device for when secure monitor exposes RNG support from Arm SMCCC TRNG interface. Cc: Sughosh Ganu <sughosh.ganu@linaro.org> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Etienne Carriere <etienne.carriere@linaro.org>
-
Signed-off-by:
Janne Grunau <j@jannau.net> Reviewed-by:
Mark Kettenis <kettenis@openbsd.org>
-
Create a section in MAINTAINERS for the GXP HPE architecture Signed-off-by:
Nick Hawkins <nick.hawkins@hpe.com>
-
- Jun 20, 2022
-
-
This adds a driver for the Security Fuse Processor (SFP) present on LS1012A, LS1021A, LS1043A, and LS1046A processors. It holds the Super-Root Key (SRK), One-Time-Programmable Master Key (OTPMK), and other "security" related fuses. Similar devices (sharing the same name) are present on other processors, but for the moment this just supports the LS2 variants. The mirror registers are loaded during power-on reset. All mirror registers must be programmed or read at once. Because of this, `fuse prog` will program all fuses, even though only one might be specified. To prevent accidentally burning through all your fuse programming cycles with something like `fuse prog 0 0 A B C D`, we limit ourselves to one programming cycle per reset. Fuses are numbered based on their address. The fuse at 0x1e80200 is 0, the fuse at 0x1e80204 is 1, etc. The TA_PROG_SFP supply must be enabled when programming fuses, but must be disabled when reading them. Typically this supply is enabled by inserting a jumper or by setting a register in the board's FPGA. I've also added support for using a regulator. This could be helpful for automatically issuing the FPGA write, or for toggling a GPIO controlling the supply. I suggest using the following procedure for programming: 1. Override the fuses you wish to program => fuse override 0 2 A B C D 2. Inspect the values and ensure that they are what you expect => fuse sense 0 2 4 3. Enable TA_PROG_SFP 4. Issue a program command using OSPR0 as a dummy. Since it contains the write-protect bit you will usually want to write it last anyway. => fuse prog 0 0 0 5. Disable TA_PROG_SFP 6. Read back the fuses and ensure they are correct => fuse read 0 2 4 Signed-off-by:
Sean Anderson <sean.anderson@seco.com>
-
- Jun 17, 2022
-
-
Patrick Delaunay authored
Add a directory in drivers/clk to regroup the clock drivers for all STM32 Soc with CONFIG_ARCH_STM32 (MCUs with cortex M) or CONFIG_ARCH_STM32MP (MPUs with cortex A). Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by:
Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by:
Grzegorz Szymaszek <gszymaszek@short.pl> Acked-by:
Sean Anderson <seanga2@gmail.com> Change-Id: I955af307963f732167396f0157a30cf2fc91f150
-
- Jun 10, 2022
-
-
This is the initial support for Broadcom's ARM-based 47622 SOC. In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart. The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba. The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there. Signed-off-by:
William Zhang <william.zhang@broadcom.com> Signed-off-by:
Kursad Oney <kursad.oney@broadcom.com> Signed-off-by:
Anand Gore <anand.gore@broadcom.com> Reviewed-by:
Philippe Reynes <philippe.reynes@softathome.com>
-
- Jun 08, 2022
-
-
This adds support for "nvmem cells" as seen in Linux. The nvmem device class in Linux is used for various assorted ROMs and EEPROMs. In this sense, it is similar to UCLASS_MISC, but also includes UCLASS_I2C_EEPROM, UCLASS_RTC, and UCLASS_MTD. New drivers corresponding to a Linux-style nvmem device should be implemented as one of the previously-mentioned uclasses. The nvmem API acts as a compatibility layer to adapt the (slightly different) APIs of these uclasses. It also handles the lookup of nvmem cells. While nvmem devices can be accessed directly, they are most often used by reading/writing contiguous values called "cells". Cells typically hold information like calibration, versions, or configuration (such as mac addresses). nvmem devices can specify "cells" in their device tree: qfprom: eeprom@700000 { #address-cells = <1>; #size-cells = <1>; reg = <0x00700000 0x100000>; /* ... */ tsens_calibration: calib@404 { reg = <0x404 0x10>; }; }; which can then be referenced like: tsens { /* ... */ nvmem-cells = <&tsens_calibration>; nvmem-cell-names = "calibration"; }; The tsens driver could then read the calibration value like: struct nvmem_cell cal_cell; u8 cal[16]; nvmem_cell_get_by_name(dev, "calibration", &cal_cell); nvmem_cell_read(&cal_cell, cal, sizeof(cal)); Because nvmem devices are not all of the same uclass, supported uclasses must register a nvmem_interface struct. This allows CONFIG_NVMEM to be enabled without depending on specific uclasses. At the moment, nvmem_interface is very bare-bones, and assumes that no initialization is necessary. However, this could be amended in the future. Although I2C_EEPROM and MISC are quite similar (and could likely be unified), they present different read/write function signatures. To abstract over this, NVMEM uses the same read/write signature as Linux. In particular, short read/writes are not allowed, which is allowed by MISC. The functionality implemented by nvmem cells is very similar to that provided by i2c_eeprom_partition. "fixed-partition"s for eeproms does not seem to have made its way into Linux or into any device tree other than sandbox. It is possible that with the introduction of this API it would be possible to remove it. Signed-off-by:
Sean Anderson <sean.anderson@seco.com>
-
- May 26, 2022
-
-
Add the rest of the ASPEED drivers that are in tree. Most are obvious, except for ftgmac100 which matches the register layout used in the ASPEED SoC. I am the Linux maintainer for the ASPEED kernel port, and help maintain the fork of u-boot used for OpenBMC, so add myself as a reviewer so I can stay informed about u-boot changes. Signed-off-by:
Joel Stanley <joel@jms.id.au> Reviewed-by:
Chia-Wei Wang <chiawei_wang@aspeedtech.com>
-
- Apr 25, 2022
-
-
Tom Rini authored
As removal of nds32 has been ack'd for the Linux kernel, remove support here as well. Cc: Rick Chen <rick@andestech.com> Signed-off-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Rick Chen <rick@andestech.com>
-
I ended up learning most of binman internals while trying to add a few features to it, and I recently started reviewing binman series that would not affect me personally. I'll keep working on it and try to do more reviews. Add myself as a maintainer for binman. Signed-off-by:
Alper Nebi Yasak <alpernebiyasak@gmail.com> Acked-by:
Tom Rini <trini@konsulko.com>
-
Add documentation for this feature, including the commands and full devicetree bindings. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a set of combined tests for the bootdev, bootflow and bootmeth commands, along with associated functionality. Expand the sandbox console-recording limit so that these can work. These tests rely on a filesystem script which is not yet added to the Python tests. It is included here as a shell script. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a bootdev driver for Ethernet. It can use the PXE boot mechanism to locate a file, added later. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a bootdev driver for MMC. It mostly just calls the bootdev helper function. Add a function to obtain the block device for an MMC controller. Fix up the comment for mmc_get_blk_desc() while we are here. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a bootmeth driver which handles distro boot from a disk, so we can boot a bootflow using this commonly used mechanism. In effect, this provides the same functionality as the 'sysboot' command and shares the same code. But the interface into it is via a bootmeth. For now this requires the 'pxe' command be enabled. Future work may tidy this up so that it can be used without CONFIG_CMDLINE being enabled. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a 'bootdev' command to handle listing and selection of bootdevs. Disable standard boot for a few boards which otherwise run out of space. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add support for bootflows, including maintaining a list of them and iterating to find them. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
A bootmeth is a method of locating an operating system. For now, just add the uclass itself. Drivers for particular bootmeths are added later. If no bootmeths devices are included in the devicetree, create them automatically. This avoids the need for boilerplate in the devicetree files. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
A 'bootdev' is a device which can be used to boot an operating system. It is a child of the media device (e.g. MMC) which handles reading files from that device, such as a bootflow file. Add a uclass for bootdev and the various helpers needed to make it work. Also add a binding file, empty for now. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
The 'bootstd' device provides the central information about U-Boot standard boot. Add a uclass for bootstd and the various helpers needed to make it work. Also add a binding file. Signed-off-by:
Simon Glass <sjg@chromium.org>
-