aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge patch series "board/ti: k3 boards: Stop using findfdt"WIP/20Feb2024Tom Rini2024-02-2028-48/+205
|\ | | | | | | | | | | | | | | | | | | Nishanth Menon <nm@ti.com> says: This is a wide cleanup to switch to setting fdtfile using env_set instead of scripted magic. 'fdtfile' is expected to be set by default. This allows the stdboot triggered efi loaders to find the correct OS device tree file even if regular boot process is interrupted by user intervention.
| * include: env: ti: Drop default_findfdtNishanth Menon2024-02-201-12/+0
| | | | | | | | | | | | | | | | We shouldn't need finfdt anymore. Drop the env script. Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: beagle: beagleplay: Set fdtfile from C code instead of findfdt scriptNishanth Menon2024-02-203-2/+16
| | | | | | | | | | | | | | | | | | Stop using the findfdt script and switch to setting the fdtfile from C code. Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: beagle: beagleboneai64: Set fdtfile from C code instead of findfdt scriptNishanth Menon2024-02-203-2/+16
| | | | | | | | | | | | | | | | | | Stop using the findfdt script and switch to setting the fdtfile from C code. Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: ti: j721s2: Set fdtfile from C code instead of findfdt scriptNishanth Menon2024-02-202-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". While at this, replace findfdt in environment with a warning as it is no longer needed. Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: ti: j721e: Set fdtfile from C code instead of findfdt scriptNishanth Menon2024-02-202-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". While at this, replace findfdt in environment with a warning as it is no longer needed. Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: ti: am65x: Set fdtfile from C code instead of findfdt scriptNishanth Menon2024-02-202-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". While at this, replace findfdt in environment with a warning as it is no longer needed. Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: ti: am64x: Set fdtfile from C code instead of findfdt scriptNishanth Menon2024-02-202-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". While at this, replace findfdt in environment with a warning as it is no longer needed. Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: ti: am62x: Set fdtfile from C code instead of findfdt scriptNishanth Menon2024-02-203-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | Stop using the findfdt script and switch to setting the fdtfile from C code. While at this, replace findfdt in environment with a warning as it is no longer needed Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: ti: am62ax: Set fdtfile from C code instead of findfdt scriptNishanth Menon2024-02-203-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | Stop using the findfdt script and switch to setting the fdtfile from C code. While at this, replace findfdt in environment with a warning as it is no longer needed Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: ti: common: Introduce a common fdt ops libraryNishanth Menon2024-02-204-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a common fdt operations library for basic device tree operations that are common between various boards. The first library to introduce here is the capability to set up fdtfile as a standard variable as part of board identification rather than depend on scripted ifdeffery. Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com>
| * board: ti: Add missing common/Kconfig referencesNishanth Menon2024-02-203-0/+6
| | | | | | | | | | | | | | | | | | Add missing board/ti/common/Kconfig references for the platforms that missed it. The intent is for the common Kconfig to be usable across TI reference boards as required. Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Nishanth Menon <nm@ti.com>
* | Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usbTom Rini2024-02-203-6/+8
|\ \
| * | usb: ehci-mx6: Add i.MX93 supportMathieu Othacehe2024-02-192-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | i.MX93 uses the same USB IP as i.MX8MM. It can then reuse the ehci-mx6 driver. Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Reviewed-by: Fabio Estevam <festevam@gmail.com>
| * | common: usb-hub: Reset USB 3.0 hubs onlyShantur Rathore2024-02-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additional testing of the changes introduced in commit 33e06dcbe57a "common: usb-hub: Reset hub port before scanning") revealed that some USB 2.0 and 3.0 flash drives didn't work in U-Boot on some Allwinner SoCs that support USB 2.0 interfaces only. More precisely, some of the tested USB 2.0 and 3.0 flash drives failed to be detected and work on an OrangePi Zero 3, based on the Allwinner H616 SoC that supports USB 2.0 only, while the same USB flash drives worked just fine on a Pine64 H64, based on the Allwinner H6 SoC that supports both USB 2.0 and USB 3.0 interfaces. The USB ID of the above-mentioned USB 3.0 flash drive that failed to work is 1f75:0917 (Innostor Technology Corporation IS917 Mass storage), it is 32 GB in size and sold under the PNY brand. The mentioned USB 2.0 drive is some inexpensive no-name drive with an invalid USB ID. Resetting USB 3.0 hubs only, which this patch introduces to the USB hub resets, has been tested to work as expected, resolving the identified issues on the Allwinner H616, while not introducing any new issues on other tested Allwinner SoCs. Thus, let's fix it that way. According to the USB 3.0 specification, resetting a USB 3.0 port is required when an attached USB device transitions between different states, such as when it resumes from suspend. Though, the Linux kernel performs additional USB 3.0 port resets upon initial USB device attachment, as visible in commit 07194ab7be63 ("USB: Reset USB 3.0 devices on (re)discovery") in the kernel source, to ensure proper state of the USB 3.0 hub port and proper USB mode negotiation during the initial USB device attachment and enumeration. These additional types of USB port resets don't exist for USB 2.0 hubs, according the USB 2.0 specification. The resets seem to be added to the USB 3.0 specification as part of the port and device mode negotiation. The Linux kernel resets USB 3.0 (i.e. SuperSpeed) hubs only, as visible in commit 10d674a82e55 ("USB: When hot reset for USB3 fails, try warm reset.") in the kernel source. The check for SuperSpeed hubs is performed in a way that also applies to newer SuperSpeed Plus (USB 3.1 or 3.2) hubs as well, which hopefully makes it future proof. Fixes: 33e06dcbe57a ("common: usb-hub: Reset hub port before scanning") Link: https://lore.kernel.org/u-boot/20240207102327.35125-1-i@shantur.com/T/#u Link: https://lore.kernel.org/u-boot/20240201164604.13315fa6@donnerap.manchester.arm.com/T/#u Signed-off-by: Shantur Rathore <i@shantur.com> Helped-by: Dragan Simic <dsimic@manjaro.org> Tested-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Dragan Simic <dsimic@manjaro.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | | Merge https://gitlab.denx.de/u-boot/custodians/u-boot-samsungTom Rini2024-02-2041-24/+5538
|\ \ \ | |/ / |/| |
| * | MAINTAINERS: Add new Samsung subsystemsSam Protsenko2024-01-241-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add next Samsung subsystems with Sam Protsenko as a maintainer: - Samsung CCF Clock Framework - Exynos850 SoC Support - Samsung SoC Drivers Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | board: samsung: Add support for E850-96 boardSam Protsenko2024-01-2413-1/+1786
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for WinLink E850-96 board [1]. It's based on Exynos850 SoC and follows 96boards specification, so it's compatible with 96boards mezzanine boards [2]. This patch enables next features: * Serial console * USI * PMU (muxing AP UART path) * Pinctrl * Clocks * Timer (ARMv8 architected) * Reset control It's quite a minimal enablement. Features like MMC, USB and Ethernet will be enabled later. The rationale for config values is as follows: * TEXT_BASE = 0xf8800000 That's where BL2 loads the U-Boot payload, so TEXT_BASE must be exactly this value. Overall the memory map is designed in a way to keep the bootloader in the upper 128 MiB area of RAM, which is 0xf8000000..0xffffffff. That includes bootloader's code, stack, data, heap, MMU tables, etc. All the memory below that 128 MiB chunk can be used for storing boot images (0x80000000..0xf8000000). * CUSTOM_SYS_INIT_SP_ADDR = 0xf8c00000 Just 4 MiB above the TEXT_BASE address, to leave enough space for U-Boot code and stack itself (grows downwards). * SYS_LOAD_ADDR = 0x80000000 The beginning of RAM. That's where Linux kernel image must be loaded. * SYS_MALLOC_LEN = 0x81f000 8 MiB for malloc() + ENV_SIZE (128 KiB) * SYS_MALLOC_F_LEN = 0x4000 Increase malloc() pool size available before relocation from 8 KiB (default) to 16 KiB. Otherwise "alloc space exhausted" message appears in U-Boot log during board_init_f() stage. There are next reasons for doing so: 1. Having "bootph-all" flags in some dts nodes leads to binding those during pre-relocation stage, and binding (DM) uses dynamic memory allocation 2. clk-exynos850 driver uses CCF clocks, which in turn use dynamic memory allocation Device tree file was imported from Linux kernel. All nodes and boot phase flags added in exynos850-e850-96-u-boot.dtsi are only needed to enable serial console: * oscclk -> cmu_top -> cmu_peri: generate UART/USI clocks * pinctrl_alive and uart1_pins: needed to mux UART pins * pmu_system_controller: configures AP UART path to uart1_pins * usi_uart: configures USI block to operate as a UART protocol * serial_0: enables serial console (UART) [1] https://www.96boards.org/product/e850-96b/ [2] https://www.96boards.org/products/mezzanine/ Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | arm: exynos: Add Exynos850 SoC supportSam Protsenko2024-01-245-0/+1594
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Samsung Exynos850 is ARMv8-based mobile-oriented SoC. It features Cortex-A55 CPU (8 cores) and it's built using 8nm process. Add Exynos850 support by enabling next features: * Import Exynos850 SoC dtsi files from Linux kernel * Add Exynos850 MMU memory map * Introduce ARCH_EXYNOS9 platform config option Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | serial: s5p: Add Exynos850 compatibleSam Protsenko2024-01-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable serial support for Exynos850 SoC by adding the corresponding compatible string. No additional changes needed, the driver works as is on Exynos850. Related USI and PMU configuration is enabled in separate drivers. The only other dependencies are clock and pinctrl drivers, which are already enabled too. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | pinctrl: exynos: Add pinctrl support for Exynos850Sam Protsenko2024-01-243-0/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add pinctrl support for Exynos850 SoC. It was mostly extracted from corresponding Linux kernel code [1]. Power down modes and external interrupt data were removed while converting the code for U-Boot, but everything else was kept almost unchanged. [1] drivers/pinctrl/samsung/pinctrl-exynos-arm64.c Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Chanho Park <chanho61.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | clk: exynos: Add Exynos850 clock driverSam Protsenko2024-01-243-0/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Heavily influenced by its Linux kernel counterpart. It's implemented on top of recently added Samsung CCF clock framework API. For now only UART leaf clocks are implemented, along with all preceding clocks in CMU_TOP and CMU_PERI. The UART baud clock is required in the serial driver, to get its rate for the consequent baud rate calculation. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Chanho Park <chanho61.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | clk: exynos: Add Samsung clock frameworkSam Protsenko2024-01-245-2/+546
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Heavily based on Linux kernel Samsung clock framework, with some changes to accommodate the differences in U-Boot CCF implementation. It's also quite minimal as compared to the Linux version. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Chanho Park <chanho61.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | clk: exynos: Move pll code into clk-exynos7420Sam Protsenko2024-01-244-47/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PLL utilities code is only used by clk-exynos7420 driver at the moment. Move it into clk-exynos7420 to make clk-pll.c file available for CCF PLL clocks implementation, which is coming in the next patches. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Chanho Park <chanho61.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | soc: samsung: Add Exynos PMU driverSam Protsenko2024-01-243-0/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add basic Power Management Unit (PMU) driver for Exynos SoCs. For now it's only capable of changing UART path in PMU, which is needed for E850-96 board. The driver's structure resembles the exynos-pmu driver from Linux kernel, and although it's very basic and slim at the moment, it can be easily extended in future if the need arises. UCLASS_NOP is used, as there are no benefits in using more elaborate classes like UCLASS_MISC in this case. The DM_FLAG_PROBE_AFTER_BIND flag is added in bind function, as the probe function must be always called for this driver. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Chanho Park <chanho61.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | soc: samsung: Add Exynos USI driverSam Protsenko2024-01-245-0/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USIv2 IP-core is found on modern ARM64 Exynos SoCs (like Exynos850) and provides selectable serial protocol (one of: UART, SPI, I2C). USIv2 registers usually reside in the same register map as a particular underlying protocol it implements, but have some particular offset. E.g. on Exynos850 the USI_UART has 0x13820000 base address, where UART registers have 0x00..0x40 offsets, and USI registers have 0xc0..0xdc offsets. Desired protocol can be chosen via SW_CONF register from System Register block of the same domain as USI. Before starting to use a particular protocol, USIv2 must be configured properly: 1. Select protocol to be used via System Register 2. Clear "reset" flag in USI_CON 3. Configure HWACG behavior (e.g. for UART Rx the HWACG must be disabled, so that the IP clock is not gated automatically); this is done using USI_OPTION register 4. Keep both USI clocks (PCLK and IPCLK) running during USI registers modification This driver implements the above behavior. Of course, USIv2 driver should be probed before UART/I2C/SPI drivers. It can be achieved by embedding UART/I2C/SPI nodes inside of the USI node (in Device Tree); driver then walks underlying nodes and instantiates those. Driver also handles USI configuration on PM resume, as register contents can be lost during CPU suspend. This driver is designed with different USI versions in mind. So it should be relatively easy to add new USI revisions to it later. Driver's code was copied over from Linux kernel [1] and adapted correspondingly for U-Boot API. UCLASS_MISC is used, and although no misc operations are implemented, it makes it easier to probe the driver this way (as compared to UCLASS_NOP) and keep the code compact. [1] drivers/soc/samsung/exynos-usi.c Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Chanho Park <chanho61.park@samsung.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | dt-bindings: clock: Add Exynos850 clock controllerSam Protsenko2024-01-242-0/+644
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add bindings documentation and the header file for Exynos850 clock controller. It was taken from Linux kernel [1,2]. [1] Documentation/devicetree/bindings/clock/samsung,exynos850-clock.yaml [2] include/dt-bindings/clock/exynos850.h Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | dt-bindings: soc: samsung: Add Exynos PMUSam Protsenko2024-01-241-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add bindings documentation for Exynos PMU hardware block. It was taken from Linux kernel [1], but minimized and modified to reflect features that will be actually supported in U-Boot soon. For example, the "samsung,uart-debug-1" property is not available in Linux kernel bindings and only present in U-Boot. [1] Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | dt-bindings: soc: samsung: Add Exynos USISam Protsenko2024-01-242-0/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add USI bindings documentation and header file. Those are taken from Linux kernel [1,2], but the documentation was reworked a bit to only describe the compatibles that will be supported in U-Boot soon. [1] Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml [2] include/dt-bindings/soc/samsung,exynos-usi.h Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | | Merge tag 'u-boot-imx-master-20240219' of ↵WIP/19Feb2024Tom Rini2024-02-1924-19/+1323
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/19683 - Convert msc_sm2s_imx8mp to DM_SERIAL. - Make Ethernel functional on msc_sm2s_imx8mp. - General improvements for msc_sm2s_imx8mp. - Add suport for the Sielaff i.MX6 Solo board. - Update GE HealthCare maitainers' e-mail addresses.
| * | | doc: board: Add minimal documentation for Sielaff i.MX6 Solo boardFrieder Schrempf2024-02-193-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | Describe how to build and boot for the Sielaff i.MX6 Solo board. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
| * | | board: Add support for Sielaff i.MX6 Solo boardFrieder Schrempf2024-02-1912-0/+1257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Sielaff i.MX6 Solo board is a control and HMI board for vending machines. Add support for this board. The devicetree files are taken from pending changes in the Linux kernel that are available from linux-next and will likely be part of Linux v6.9. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
| * | | mtd: spi-nor-ids: Add support for ESMT/EON EN25Q80BFrieder Schrempf2024-02-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The datasheet can be found here: https://www.esmt.com.tw/upload/pdf/ESMT/datasheets/EN25Q80B_Ver.E.pdf Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Reviewed-by: Fabio Estevam <festevam@gmail.com>
| * | | MAINTAINERS: Update after GEHC spin-offIan Ray2024-02-194-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update our email addresses, from @ge.com to @gehealthcare.com, after GE HealthCare was spun-off from GE. Remove Antti, who no longer works on the project. Signed-off-by: Ian Ray <ian.ray@gehealthcare.com>
| * | | msc_sm2s_imx8mp: Fix CONFIG_DEFAULT_FDT_FILEFabio Estevam2024-02-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no imx8mp-msc-sm2s.dtb file in upstream Linux. Change it to imx8mp-msc-sm2s-ep1.dtb. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
| * | | msc_sm2s_imx8mp: Add redundant environment supportFabio Estevam2024-02-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Redundant environment support is required for software updates. Add support for it. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
| * | | imx8mp-msc-sm2s: Add mmc aliasesFabio Estevam2024-02-191-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add mmc alias so that the eMMC is mmc0 and the SD card is mmc1 to have a well defined device numbering scheme. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
| * | | msc_sm2s_imx8mp: Make Ethernet functionalFabio Estevam2024-02-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the Ethernet ports are not working. The Ethernet PHY reset lines are controlled by the TCA6424 I2C GPIO expander. The TCA6424 I2C GPIO expander is supported by the CONFIG_DM_PCA953X driver. Select the CONFIG_DM_PCA953X option so that the Ethernet PHYs can go through a proper reset making Ethernet to be functional. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
| * | | msc_sm2s_imx8mp: Convert to DM_SERIALFabio Estevam2024-02-194-11/+9
|/ / / | | | | | | | | | | | | | | | | | | The conversion to DM_SERIAL is mandatory, so do the conversion. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
* | | Merge branch 'master-porter' of ↵WIP/17Feb2024Tom Rini2024-02-1711-1/+28
|\ \ \ | | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-sh - Renesas R-Car Gen2 fixes
| * | | ARM: renesas: Enable LTO on R-CarMarek Vasut2024-02-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable LTO globally on Renesas R-Car platforms. This has been enabled on a subset of boards already, but at this point it is safe to enable it globally. This saves units or tens of kiB from the resulting build. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
| * | | ARM: renesas: Set R-Car Gen2 board size limit to 512 kiBMarek Vasut2024-02-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The maximum size of u-boot.img on R-Car Gen2 is 0x80000 or 512 kiB, set the limit to avoid overflows as new functionality gets pulled in. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
| * | | ARM: renesas: Disable EFI on R-Car Gen2Marek Vasut2024-02-178-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These systems are unlikely to use EFI as this functionality has not been enabled until it got pulled in by Kconfig default. This functionality does add some 60-70 kiB to the u-boot.img size, which overflows the size limit. Disable it. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
| * | | clk: renesas: Fix broken clocks on all Gen2 boardsNiklas Söderlund2024-02-171-0/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To prepare support for multiple register layouts pointers to register tables where added to struct cpg_mssr_info. These pointers are suppose to be filled in at probe time and no intended change in behavior was intended. However the new pointers where only filled in by some paths of the driver implemented in clk-rcar-gen3.c. The path implemented in clk-rcar-gen2.c was not updated leaving the pointers uninitialized leading to a crash when trying to probe the clocks. Fix this by filling in the pointers in the Gen2 code path with the values used before they where moved to struct cpg_mssr_info. Fixes: d413214fb748 ("clk: renesas: Add register pointers into struct cpg_mssr_info") Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Acked-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Tested-by: Marek Vasut <marek.vasut+renesas@mailbox.org> # R8A7791 Porter Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
* | | Merge tag 'u-boot-dfu-20240215' of ↵WIP/15Feb2024Tom Rini2024-02-156-110/+180
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-dfu u-boot-dfu-20240215 - Fix avb_verify command with SD cards - Add u-boot-dfu maintainer tree for AB/AVB - Avb: report verified boot state based on lock state - Misc avb refactors improve code quality
| * | | doc: android: avb: sync usage detailsIgor Opaniuk2024-02-151-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sync usage info with the one cmd/avb.c. Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Link: https://lore.kernel.org/r/20240209192045.3961832-8-igor.opaniuk@foundries.io Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
| * | | cmd: avb: rework do_avb_verify_partIgor Opaniuk2024-02-151-33/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use existing str_avb_slot_error() function for obtaining verification fail reason details. Take into account device lock state for setting correct androidboot.verifiedbootstate kernel cmdline parameter. Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com> Link: https://lore.kernel.org/r/20240209192045.3961832-7-igor.opaniuk@foundries.io Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
| * | | common: avb_verify: add str_avb_io_error/str_avb_slot_errorIgor Opaniuk2024-02-152-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce str_avb_io_error() and str_avb_slot_error() functions, that provide a pointer to AVB runtime error message. Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com> Link: https://lore.kernel.org/r/20240209192045.3961832-6-igor.opaniuk@foundries.io Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
| * | | cmd: avb: rework printsIgor Opaniuk2024-02-151-48/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify and add more context for prints where it's needed. Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Link: https://lore.kernel.org/r/20240209192045.3961832-5-igor.opaniuk@foundries.io Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
| * | | common: avb_verify: rework error/debug printsIgor Opaniuk2024-02-151-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make error prints more verbose with additional context. Also s/print/debug/g for prints, which might be relevant only for debugging purposes. Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com> Link: https://lore.kernel.org/r/20240209192045.3961832-4-igor.opaniuk@foundries.io Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>