summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-12-20board: phytec: phytec_som_detection: fix uninitialized bugYannic Moog
When som_type does not match any case, it is uninitialized and the function still tries to print the SoM info. Rather, this is an error condition and the function should abort prematurely. Highlight this by printing an error message and returning early. Signed-off-by: Yannic Moog <[email protected]>
2023-12-20board: phytec: som_detection: move definitions to source fileYannic Moog
Move all function definitions in {phytec|imx8m}_som_detection from the header to the source file to prevent potential linker error regarding multiple definitions. Also move the #if blocks with the definitions. Signed-off-by: Yannic Moog <[email protected]>
2023-12-20board: phytec: phytec_som_detection: fix eeprom_data zero checkYannic Moog
In phytec_eeprom_data_init, after reading eeprom data into buffer, it is checked whether all bytes are 0x0 by iterating over chunks of the buffer. The offset, or index of the chunk, was never changed, leading to repeated comparison of only the first chunk. Use array notation and access chunk via array index to compare all chunks of the buffer. Signed-off-by: Yannic Moog <[email protected]>
2023-12-20board: phytec: imx8m_som_detection: fix uninitialized pointer bugYannic Moog
Pointer in phytec_imx8m_detect was accessed without checking it first. Fix this by moving the pointer check in front of any accesses. Signed-off-by: Yannic Moog <[email protected]>
2023-12-20board: phytec: imx8m_som_detection: change phytec_imx8m_detect return typeYannic Moog
phytec_imx8m_detect returns -1 on error, but the return type is u8 leading to 255 return values. Fix this by changing the return type to int; there is no reason to keep it as u8 . Signed-off-by: Yannic Moog <[email protected]>
2023-12-20configs: imx8m{m, n, p}_venice_defconfig: add arch_misc_initTim Harvey
Enable call to arch_misc_init in order to probe the CAAM driver. Signed-off-by: Tim Harvey <[email protected]>
2023-12-20arm: dts: imx8mp-venice-gw72xx: add TPM deviceTim Harvey
Add the TPM device found on the GW72xx revision F PCB. This hangs off of SPI2, uses gpio1_10 as a CS and gpio1_11 as RST#. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-20arm: dts: imx8mm-venice-gw72xx: add TPM deviceTim Harvey
Add the TPM device found on the GW72xx revision F PCB. This hangs off of SPI2, uses gpio1_10 as a CS and gpio1_11 as RST#. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-20mxs: Fix VDDx brownout interrupt disable/enableCody Green
Incorrect registers HW_POWER_VDDIOCTRL, HW_POWER_VDDACTRL and HW_POWER_VDDDCTRL are used in the current code to disable/enable brownout interrupts in 'mxs_power_set_vddx()'. Change register to HW_POWER_CTRL which contains brownout interrupt enable bits ENIRQ_VDDIO_BO, ENIRQ_VDDA_BO and ENIRQ_VDDD_BO. Signed-off-by: Cody Green <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Lukasz Majewski <[email protected]>
2023-12-20command: Move command completion temporary buffer to stackMarek Vasut
The command completion temporary buffer seems to be only used by the argv tokenizer, move it to stack. This saves 2 kiB from the binary size (depends on configuration) per: $ aarch64-linux-gnu-readelf -s u-boot | sort -n -k 3 Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-20command: Allocate history buffer using calloc()Marek Vasut
The history buffer is currently a static array which can be some 10-40 kiB depending on configuration, and so adds considerably to the U-Boot binary size. Allocate it dynamically instead to reduce the U-Boot binary size. Signed-off-by: Marek Vasut <[email protected]>
2023-12-20bootflow: Allow setting a cmdline arg with no valueSimon Glass
This is supposed to be supported by the 'bootflow cmd' command, at least according to the help. There is a 'bootflow cmd clear' but it is often more intuitive to use 'bootcmd cmd set' with an empty value. Update the command to pass BOOTFLOWCL_EMPTY in this case. Signed-off-by: Simon Glass <[email protected]>
2023-12-20bootm: Fix flags used for bootargs string substitutionPiotr Kubik
Commit 51bb33846ad2 ("bootm: Support string substitution in bootargs") introduced a feature of bootargs string substitution and changed a flag used in bootm_process_cmdline_env() call to be either true or false. With this flag value, condition in bootm_process_cmdline() `if (flags & BOOTM_CL_SUBST)` is never true and process_subst() is never called. Add a simple test to verify if substitution works OK. Signed-off-by: Piotr Kubik <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-20arm: afs: Set the filesize env. var. on loadRobert Catherall
The `afs load` command copies data to RAM. Set the filesize environment variable to record how much data was 'loaded' Signed-off-by: Robert Catherall <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Tested-by: Andre Przywara <[email protected]>
2023-12-20rsa: use pkcs11 uri as defined in rfc7512Ayoub Zaki
pkcs11 : change engine uri to use full pk11-URI as defined in: https://www.rfc-editor.org/rfc/rfc7512.html Signed-off-by: Ayoub Zaki <[email protected]>
2023-12-20imxtract: specify max gunzip sizeNikita Shubin
Specify max gunzip size from config to override SYS_XIMG_LEN default value wich is 0x800000. In case we have a large portion of FIT image, for example gzipped kernel with decompressed size large than 0x800000 we should enlarge imxract area, otherwise extracting it will fail. It used to be a hardcoded define in cmd/ximg.c and we are moving it to config. Signed-off-by: Nikita Shubin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-20Merge tag 'u-boot-amlogic-next-20231220' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-amlogic into next - Add support for new GXL MDIO mux, with driver and Linux DT sync from v6.4
2023-12-20Merge branch 'staging' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tegra into next This PR contains 4 patchsets: 1. PMIC GPIO cells bringup. Created drivers for MAX7663 and Palmas PMICs and gpio-uclass patch isolated behind configs for these 2 drivers. No unintentional size increase on any board. (proposed 2023-11-06 without any reaction) 2. Simple PLL clocks support in common tegra clock code which allows use of simple PLL the same way main PLLs are used (before only clock_start_pll was available). PLLD2 is an example of simple PLL, it is used as a video subsystem parent clock and was used to test this code. So far everything worked as expected. (proposed 2023-11-16 without any reaction) 3. A small patch for tegra emmc to allow pass max frequency from device tree since some devices may not support full speed. 4. Pinmux DM conversion. Patchset consists of commit with DM wrapper for existing pinmux code for t20/t30/t114, pinmux and funcmux files relocation into a dedicated folder inside pinctrl, conversion of some tegra boards to device tree pinmux setup.
2023-12-19board: compal: paz00: clean up the boardSvyatoslav Ryhel
Since implementation of pinctrl driver for T20 Paz00 can switch to device tree pinmux setup along with remove of board pinmux and some minor device tree and defconfig tweaks. Tested-by: Agneli <[email protected]> # Toshiba AC100 T20 Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19board: htc: endeavoru: switch to DM pinmuxSvyatoslav Ryhel
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used for the Linux device tree and are set according to the downstream kernel.  Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19board: asus: transformer: switch to DM pinmuxSvyatoslav Ryhel
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used in the Linux device tree.  Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19board: lg: x3-t30: switch to DM pinmuxSvyatoslav Ryhel
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used for the Linux device tree and are set according to the service manual. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19board: asus: grouper: switch to DM pinmuxSvyatoslav Ryhel
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used in the Linux device tree. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19drivers: pinctrl: tegra: incorporate existing codeSvyatoslav Ryhel
Move all existing pinmux and funcmux code into a dedicated folder in pinctrl to simplify further maintenance. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19drivers: pinctrl: create Tegra DM pinctrl driverSvyatoslav Ryhel
The existing pinctrl driver available for Tegra SOC is well designed, but it lacks DM support. Let's add a DM compatible overlay, which allows use of the device tree, along with preserving backward compatibility with all existing setups and the ability to use it in SPL board configuration stage. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19ARM: mach-tegra: rearrange SPL configsSvyatoslav Ryhel
SPL configs are used only by the ARMv7-based Tegra SOC's, so move SPL_SYSRESET under TEGRA_ARMV7_COMMON selection and enable SPL_DM since SPL_SYSRESET depends on it. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19mmc: tegra: use max-frequency from device tree if providedPeter Geis
The driver currently hard-codes the max freqency for the sdhci controllers. If the controller is unable to operate at the max frequency, the mmc card will not be available on the first scan. Subsequent scans will eventually find a working combination. Fix this by allowing the driver to check for the max-frequency property and default to the original value if it doesn't exist. Signed-off-by: Peter Geis <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19ARM: tegra114: clock: implement PLLD2 supportSvyatoslav Ryhel
PLLD2 is a simple clock (controlled by 2 registers) and appears starting from T30. Primary use of PLLD2 is as main HDMI clock parent. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19ARM: tegra30: clock: implement PLLD2 supportSvyatoslav Ryhel
PLLD2 is a simple clock (controlled by 2 registers) and appears starting from T30. Primary use of PLLD2 is as main HDMI clock parent. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19ARM: tegra: clock: support get and set rate for simple PLLSvyatoslav Ryhel
Simple PLL clocks like PLLD2 were omitted since they do not share common 4 register structure with main clocks. Such clocks are containd in simple PLL group. Only clock_start_pll function supported them. This patch expands this support on clock_set_rate and clock_get_rate which should make simple PLL clocks equal to main PLL clocks. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19drivers: gpio-uclass: support PMIC GPIO childrenSvyatoslav Ryhel
UCLASS_PMIC may have GPIO children without exposed fdt node, in this case if requesting fails, check if uclass is PMIC. Restrict build for supported devices only to save those precious bytes on devices with no spare memory. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19drivers: gpio: implement PALMAS GPIO cellSvyatoslav Ryhel
Add gpio driver for TI Palmas series PMIC. This has 8 gpio which can work as input/output. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19drivers: gpio: implement MAX77663 GPIO cellSvyatoslav Ryhel
MAXIM Semiconductor's PMIC, MAX77663 has 8 GPIO pins and 3 GPIO-like pins. It also supports interrupts from these pins. Add GPIO driver for these pins to control via GPIO APIs. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-19Merge patch series "Fix J7200 kernel boot when using upstream u-boot"Tom Rini
Reid Tonking <[email protected]> says: Since the 09.01.00.002 release of ti-linux-firmware [0] upstream uboot has led to the kernel hanging during boot [1] for the TI J7200 S0C. The issue was found to be a few patches that had be added to ti-u-boot, but not yet upstreamed. This series adds the missing two patches to allow upstream u-boot to boot the kernel properly [2]. [0] https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/commit/?h=ti-linux-firmware-next&id=952fd03e36a50ec070e73560dc1060102d637ce0 Boot logs: [1] https://gist.github.com/reidt1/5f4e85a0db258bcf20d7168bd0caebd0 [2] https://gist.github.com/reidt1/e950dc97f15ad0a09623d64f81edac39 Links to patches on ti-u-boot: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/commit/?h=ti-u-boot-2023.04-next&id=d878fbef4d4460e87608d8d2dfe5311499de49c5 https://git.ti.com/cgit/ti-u-boot/ti-u-boot/commit/?h=ti-u-boot-2023.04-next&id=543e735fe495be233a8a75b19b3d7f8ed44251e0
2023-12-19Merge patch series "Add support for MediaTek MT8365 EVK Board"Tom Rini
Julien Masson <[email protected]> says: This patch series add the support for the MediaTek MT8365 EVK Board [1]. Most of the code have been copied/adapted from Linux tag v6.7-rc2. For now we only enable/test these features: Boot, UART, Watchdog and MMC. [trini: This includes two clocks not listed in the Linux binding, which needs resyncing later]
2023-12-19Merge branch '2023-12-19-assorted-platform-updates' into nextTom Rini
- Assorted platform updates for TI K3, vexpress64, mediatek and related cleanups to the DW GPIO driver and OPTEE
2023-12-19arm: dts: k3-j7200-r5-common-proc-board: Set parent clock for clock ID 323Reid Tonking
Previously, dynamic frequency scaling supported rates only through fixed divison. This virtual clock mux configuration enables more varied rates on A72 clock ID 202 by setting up the required register. Reviewed-by: Udit Kumar <[email protected]> Signed-off-by: Apurva Nandan <[email protected]> Signed-off-by: Reid Tonking <[email protected]>
2023-12-19arm: mach-k3: j72xx: add new 'virtual' muxBryan Brattlof
In order for the Cortex-A72s to operate at different frequencies other than the default 2GHz, add in a new 'virtual' mux (a mux that does not physically exist in the clock tree) that can be selected. CC: Vishal Mahaveer <[email protected]> Signed-off-by: Bryan Brattlof <[email protected]> Signed-off-by: Apurva Nandan <[email protected]> Signed-off-by: Reid Tonking <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2023-12-19board: mediatek: add MT8365 EVK board supportJulien Masson
This adds support for the MT8365 EVK board with the following features enabled/tested: Boot, UART, Watchdog and MMC. Signed-off-by: Julien Masson <[email protected]>
2023-12-19dt-bindings: clock: add Mediatek MT8365 pinctrl bindingsJulien Masson
This adds the pinctrl bindings for Mediatek MT8365 SoC based on the dt-bindings in Linux tag v6.7-rc2. (commit 8b4c397d88d97d4fd9c3f3527aa66688b1a3387a) Signed-off-by: Julien Masson <[email protected]>
2023-12-19arm: mediatek: add support for MediaTek MT8365 SoCJulien Masson
This patch adds basic support for MediaTek MT8365 SoC. The dtsi has been copied from Linux source code tag v6.7-rc2. (commit 9b5d64654ea8f51fe1e8e29ca1777b620be8fb7c) Signed-off-by: Julien Masson <[email protected]>
2023-12-19dt-bindings: power: add power-domain header for MediaTek MT8365 SoCJulien Masson
Add power-domain header for MediaTek MT8365 SoC copied from Linux source code tag v6.7-rc2. (commit a1571f1f333c2fced076f0d54ed771d1838d827f) Signed-off-by: Julien Masson <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2023-12-19clk: mediatek: add clock driver support for MediaTek MT8365 SoCJulien Masson
This patch adds clock driver support for MediaTek MT8365 SoC. The changes are based on the Linux source code tag v6.7-rc2. clk-mt8365.c has been written based on these kernel files: - clk-mt8365.c (a96cbb146a9736f501fe66ebda6a9018735e5e8a) - clk-mt8365-apmixedsys.c (65c9ad77cbc0eed78db94d80041aba675cfbdfa9) And adapted following the clk attributes supported by U-Boot. Signed-off-by: Julien Masson <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2023-12-19dt-bindings: clock: add Mediatek MT8365 SoC clock bindingsJulien Masson
This adds the clock bindings for Mediatek MT8365 SoC based on the dt-bindings in Linux tag v6.7-rc2. (commit c61978175ac1337f028ac1f956666f16db84f4e5) Signed-off-by: Julien Masson <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2023-12-19arm: mach-k3: am625: Relax emmc boot conditionMichael Trimarchi
spl_mmc_emmc_boot_partition return a number different from 0 if the partition is a boot one. We can have the uboot img for instance in a raw offset in emmc partition 0 so we would like to continue to load the next stage. If the user want to use EMMC as boot device allow him to use any part of the emmc and not only boot partition Signed-off-by: Michael Trimarchi <[email protected]>
2023-12-19mmc: mediatek: set b_max according CONFIG_SYS_MMC_MAX_BLK_COUNTJulien Masson
The block count limit on MMC based devices should be set according to CONFIG_SYS_MMC_MAX_BLK_COUNT instead of hardcoding value. Signed-off-by: Julien Masson <[email protected]>
2023-12-19gpio: dw: Drop unused headersMaksim Kiselev
Drop headers which are not used or needed in this file. Signed-off-by: Maksim Kiselev <[email protected]>
2023-12-19tee: optee: don't enumerate services if there ain't anyEtienne Carriere
Change optee driver service enumeration to not enumerate (and allocate a zero sized shared memory buffer) when OP-TEE reports that there is no service to enumerate. This change fixes an existing issue that occurs when the such zero sized shared memory buffer allocated from malloc() has a physical address of offset 0 of a physical 4kB page. In such case, OP-TEE secure world refuses to register the zero-sized shared memory area and makes U-Boot optee service enumeration to fail. Fixes: 94ccfb78a4d6 ("drivers: tee: optee: discover OP-TEE services") Signed-off-by: Etienne Carriere <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Jens Wiklander <[email protected]>
2023-12-19tee: optee: don't fail on services enumeration failureEtienne Carriere
Change optee probe function to only warn when service enumeration sequence fails instead of reporting an optee driver probe failure. Indeed U-Boot can still use OP-TEE even if some OP-TEE services are not discovered. Fixes: 94ccfb78a4d6 ("drivers: tee: optee: discover OP-TEE services") Signed-off-by: Etienne Carriere <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Jens Wiklander <[email protected]>
2023-12-19remoteproc: k3-dsp: Avoid reloading of firmwareUdit Kumar
DSP core is going into abnormal state when load callback is called after starting of DSP core. Reload of firmware needs core to be stopped first, followed by load. So avoid loading of firmware, when core is started. Signed-off-by: Udit Kumar <[email protected]>