summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-19arm64: gic: Add power up sequence for GIC-600Venkatesh Yadav Abbarapu
Arm's GIC-600 features a Power Register (GICR_PWRR), which needs to be programmed to enable redistributor operation. Power on the redistributor and wait until the power on state is reflected by checking the bit GICR_PWRR.RDPD == 0. While running U-Boot in EL3 without enabling this register, GICR_WAKER.ChildrenAsleep bit is not getting cleared and loops infinitely. This register(GICR_PWRR) must be programmed to mark the frame as powered on, before accessing other registers in the frame. Rest of initialization sequence remains the same. ARM GIC-600 IP complies with ARM GICv3 architecture. Enable this config if GIC-600 IP present. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]>
2024-03-19arm: dts: k3-j7200-r5-common: Add missing overrides for ringacc and udmapAniket Limaye
Corrects the ti,sci property to point to dm_tifs node for proper functioning of mcu_ringacc and mcu_udmap. Fixes: df73e791ce09 ("arm: dts: j7200: dts sync with Linux 6.6-rc1") Signed-off-by: Aniket Limaye <[email protected]>
2024-03-19arm: dts: k3-j7200-r5-common: fix the mcu_timer0 clock frequencyAniket Limaye
Correcting the clock-frequency property of the mcu_timer0 node Fixes: df73e791ce09 ("arm: dts: j7200: dts sync with Linux 6.6-rc1") Signed-off-by: Aniket Limaye <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2024-03-19arm: dts: k3-j7200: Fix support for OSPI flashAniket Limaye
- Add the missing bootph-all property in the flash subnode for ospi - Add the missing overrides for the ospi node in the r5 devicetree Signed-off-by: Aniket Limaye <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2024-03-19configs: j7200_evm_*_defconfig: Enable OSPI configsAniket Limaye
Add the necessary configs required for OSPI functionality. Also update the ospi flash partition offsets as per the devicetree. Signed-off-by: Aniket Limaye <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2024-03-19arm: mach-k3: Fix config check for FS_LOADERMD Danish Anwar
load_firmware() API calls fs-loader APIs and checks for CONFIG_FS_LOADER before calling those APIs. The if check only checks for CONFIG_FS_LOADER but not for CONFIG_SPL_FS_LOADER. When CONFIG_FS_LOADER is enabled, load_firmware() API calls fs-loader APIs but this is done at SPL stage and at this time FS_LOADER is not built yet as a result we see below build error. AR spl/boot/built-in.o LD spl/u-boot-spl arm-none-linux-gnueabihf-ld.bfd: arch/arm/mach-k3/common.o: in function `load_firmware': /home/danish/workspace/u-boot/arch/arm/mach-k3/common.c:184: undefined reference to `get_fs_loader' arm-none-linux-gnueabihf-ld.bfd: /home/danish/workspace/u-boot/arch/arm/mach-k3/common.c:185: undefined reference to `request_firmware_into_buf' make[2]: *** [/home/danish/workspace/u-boot/scripts/Makefile.spl:527: spl/u-boot-spl] Error 1 make[1]: *** [/home/danish/workspace/u-boot/Makefile:2055: spl/u-boot-spl] Error 2 make[1]: Leaving directory '/home/danish/uboot_images/am64x/r5' make: *** [Makefile:177: sub-make] Error 2 Fix this by modifying the if check to CONFIG_IS_ENABLED(FS_LOADER) instead of IS_ENABLED(CONFIG_FS_LOADER) as the former will check for the appropriate config option (CONFIG_SPL_FS_LOADER / CONFIG_FS_LOADER) based on the build stage. Signed-off-by: MD Danish Anwar <[email protected]> Acked-by: Ravi Gunasekaran <[email protected]>
2024-03-19Merge tag 'u-boot-socfpga-next-20240319' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-socfpga into next - A new driver in the misc to register setting from device tree. This also provides user a clean interface and all register settings are centralized in one place, device tree. - Enable Agilex5 platform for Intel product. Changes, modification and new files are created for board, dts, configs and makefile to create the base for Agilex5. Build-tested on SoC64 boards, boot tested on some of them.
2024-03-18arch: arm: Agilex5 enablementJit Loon Lim
This patch is to enable Agilex5 platform for Intel product. Changes, modification and new files are created for board, dts, configs and makefile to create the base for Agilex5. Signed-off-by: Jit Loon Lim <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2024-03-18drivers: misc: Add socfpga_dtreg driver for Intel SoCFPGAWan Yee Lau
Add socfpga_dtreg driver enablement for Intel SoCFPGA. Signed-off-by: Wan Yee Lau <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2024-03-17Merge tag 'u-boot-imx-next-20240317' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/19975 - Select polling-rate from cpu-thermal devicetree node on imx_tmu. - Re-organize the U-Boot environment and add RAUC logic for phycore_imx8mp. - Enable watchdog on colibri-imx7. - Move imx8mm-venice to use OF_UPSTREAM.
2024-03-17Merge tag 'u-boot-imx-master-20240317' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/19974 - Fix build error when SoM detection on Phytec board. - Fix sc_misc_otp_fuse_read() error check on colibri-imx8x/apalis-imx8. - Fix NPU/VPU fdt disable fixup on i.MX8M.
2024-03-17imx8m*_venice: move venice to OF_UPSTREAMTim Harvey
Move to imx8m{m,n,p}-venice to OF_UPSTREAM: - replace the non-upstream generic imx8m{m,n,p}-venice dt with one of the dt's from the OF_LIST - handle the fact that dtbs now have a 'freescale/' prefix - imply OF_UPSTREAM - remove rudundant files from arch/arm/dts leaving only the *-u-boot.dtsi files Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Sumit Garg <[email protected]>
2024-03-17board: phytec: phycore_imx8mp: Add RAUC boot logic to environmentLeonard Anderweit
Add RAUC boot logic to the environment. This is the first board to utilize this environment. Signed-off-by: Leonard Anderweit <[email protected]> Tested-by: Teresa Remmet <[email protected]>
2024-03-17include: env: Add phytec RAUC boot logicLeonard Anderweit
Add logic for booting systems with the RAUC update mechanism. This can be reused by other phytec boards. Signed-off-by: Leonard Anderweit <[email protected]> Tested-by: Teresa Remmet <[email protected]>
2024-03-17configs: phycore-imx8mp_defconfig: Use redundant environmentLeonard Anderweit
Add support for the redundant environment. Signed-off-by: Leonard Anderweit <[email protected]> Tested-by: Teresa Remmet <[email protected]>
2024-03-17phycore_imx8mp: Move default bootcmd to board envLeonard Anderweit
Move the default bootcmd from the defconfig to the board environment. No change in functionality. Signed-off-by: Leonard Anderweit <[email protected]> Tested-by: Teresa Remmet <[email protected]>
2024-03-17phycore_imx8mp: Move environment from include/config to boardLeonard Anderweit
Move the environment into the board directory and convert it from a C header to a text file. Sort the variables alphabetically. No functional changes. Signed-off-by: Leonard Anderweit <[email protected]> Reviewed-by: Teresa Remmet <[email protected]> Tested-by: Teresa Remmet <[email protected]>
2024-03-17drivers: imx_tmu: Select polling-rate from cpu-thermal devicetree nodeBenjamin Hahn
The polling rate is already specified in some devicetrees, like imx8mp.dtsi for example, but was not selected so far. For the trippoints, the cpu-thermal node is used. Also get the polling rate from this node. Use the default of 5000ms if the polling rate should not be specified in the devicetree. NOTE: The polling rate from the devicetree will be used after this patch. In imx8*.dtsi devicetrees the polling delay is set to 2000ms for example. Signed-off-by: Benjamin Hahn <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-03-17configs: colibri-imx7: enable watchdogParth Pancholi
Enable watchdog functionality for Toradex's Colibri iMX7 (NAND/EMMC) modules. Signed-off-by: Parth Pancholi <[email protected]>
2024-03-17arm: imx: imx8m: soc: Fix NPU/VPU fdt disable fixupVitor Soares
On imx8m[m|p|q].dtsi, upstream Linux uses different names for NPU/VPU IP block nodes. It leads variants without such HW block having it enabled by default. This patch adds the upstream Linux node's paths to the disable list while keep the compatibility with downstream Linux. Signed-off-by: Vitor Soares <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2024-03-17apalis-imx8: Fix sc_misc_otp_fuse_read() error checkFabio Estevam
Commit bfb3409d676f ("imx: toradex/apalis-imx8: correct SCU API usage") made an incorrect logic change in the error code check of sc_misc_otp_fuse_read(): - if (scierr == SC_ERR_NONE) { + if (scierr) { /* QP has one A72 core disabled */ is_quadplus = ((val >> 4) & 0x3) != 0x0; } The other changes in this commit are correct. sc_misc_otp_fuse_read() returns 0 on a successful fuse read. This inversion causes board_mem_get_layout() to report incorrect RAM size. Go back the original error check logic to fix the problem. Fixes: bfb3409d676f ("imx: toradex/apalis-imx8: correct SCU API usage") Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2024-03-17colibri-imx8x: Fix sc_misc_otp_fuse_read() error checkFabio Estevam
Commit aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage") made an incorrect logic change in the error code check of sc_misc_otp_fuse_read(): - if (sc_err == SC_ERR_NONE) { + if (sc_err) { /* DX has two A35 cores disabled */ return (val & 0xf) != 0x0; } The other changes in this commit are correct. sc_misc_otp_fuse_read() returns 0 on a successful fuse read. This inversion causes board_mem_get_layout() to report incorrect RAM size. Go back the original error check logic to fix the problem. Fixes: aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage") Reported-by: Hiago De Franco <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]> Acked-by: Marcel Ziswiler <[email protected]> Tested-by: Hiago De Franco <[email protected]> # Toradex Colibri iMX8X 1GB
2024-03-17board: phytec: define get_som_type also when SoM detection is disabledBenjamin Hahn
define the phytec_get_som_type function also when the SoM detection is disabled. Fixes: commit 110d321a56c3 ("board: phytec: common: phytec_som_detection: Add phytec_get_som_type") Signed-off-by: Benjamin Hahn <[email protected]>
2024-03-15Merge tag 'u-boot-rockchip-20240315' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip into next Please pull the updates for rockchip platform: - Add board: rk3588 Generic, Cool Pi CM5, Theobroma-Systems RK3588 Jaguar SBC, Toybrick TB-RK3588X; rk3588s Cool Pi 4B; rk3566 Pine64 PineTab2; - Add saradc v2 support; - Add PMIC RK806 support; - rk3588 disable force_jtag by default; - Migrate to use IO-domain driver for all boards; - Use common bss and stack addresses for rk33xx and rk35xx boards; - Other updates for driver, config and dts;
2024-03-15CI: Move to latest container imageTom Rini
This moves us to our latest container image, which is now based on the current "Jammy" tag. Signed-off-by: Tom Rini <[email protected]>
2024-03-14CI: Cherry-pick reset support for m68k for QEMUTom Rini
In order to support the reset pytest on QEMU on m68k platforms we need to grab this change from upstream. Signed-off-by: Tom Rini <[email protected]>
2024-03-14CI: Update to using clang-17Tom Rini
Currently, llvm-17 is the stable release. Update our container and CI to fetch and use that. Signed-off-by: Tom Rini <[email protected]>
2024-03-14Dockerfile: install xilinx-bootgen packageHeinrich Schuchardt
Bootgen is used in a binman test. The test is skipped without the binary. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-03-14Dockerfile: build fiptoolHeinrich Schuchardt
Fiptool is used in a binman test. The test is skipped without the binary. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-03-14rockchip: boot_mode: fix rockchip_dnl_key_pressed requiring ADC supportQuentin Schulz
ADC support is implied by the Rockchip arch Kconfig but that means it should be possible to disable ADC support and still be able to build. However the weak implementation of rockchip_dnl_key_pressed() currently blindly use functions from the ADC subsystem which do not exist when ADC is not enabled, failing the build. Therefore, let's encapsulate this logic with a check on the ADC symbol being selected. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14button: add missing ADC dependency for BUTTON_ADCQuentin Schulz
The BUTTON_ADC symbol guards the compilation of button-adc driver whose name very well makes it explicit that it requires ADC support to be enabled. Fix build issue of button-adc driver when ADC support isn't enabled by making sure it cannot be built without ADC support. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14adc: add missing depends on ADC for controller driversQuentin Schulz
The ADC controller drivers are obviously all depending on ADC symbol being selected. While they don't seem to fail to build without, they won't be useful without that symbol selected, so let's make sure the options aren't shown in menuconfig when ADC isn't selected. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14rockchip: jaguar-rk3588: enable SARADC and derivativesQuentin Schulz
The SARADC is used on Jaguar for multiple things: - channel 0 is used (at runtime) as a BIOS button, - channel 2 is exposed on the Mezzanine connector for customer specific logic, - channel 5 and 6 are used for identification, Since the SARADC requires a vref-supply provided by the RK806 PMIC, its support and the support for its regulators are also enabled. The button, adc, pmic and regulator commands are also enabled for CLI use in U-Boot for debugging and scripting purposes. The RK806 PMIC on Jaguar being routed on the SPI bus, let's enable Rockchip SPI controller driver. Finally, the SARADC channel 1 on Jaguar is hardwired so will never change in the lifetime of a unit, for that reason, disable the Rockchip Download Mode check by setting ROCKCHIP_BOOT_MODE_REG symbol to 0. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14power: pmic: rk8xx: fix duplicate promptQuentin Schulz
SPL_PMIC_RK8XX and PMIC_RK8XX both share the same prompt making it difficult to know at first glance in menuconfig what's for what, let's fix this by adding "in SPL" at the end of the prompt for the SPL symbol. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14rockchip: adc: rockchip-saradc: add support for RK3588Quentin Schulz
This adds support for the SARADCv2 found on RK3588. There is no stop callback as it is currently configured in single conversion mode, where the ADC is powered down after a single conversion has been made. Due to what seems to be a silicon bug, a controller reset needs to be issued before starting a channel conversion otherwise Rockchip says that channel 1 will error whatever that means. This is aligned with upstream and downstream Linux kernel as well as downstream U-Boot. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14rockchip: adc: rockchip-saradc: factor out stop callbackQuentin Schulz
SARADC v2 doesn't have a stop mechanism once in single mode. In series conversion, the logic is different anyway. Therefore, let's abstract this function so that it can be provided from the udevice.data pointer. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14rockchip: adc: rockchip-saradc: factor out start_channel callbackQuentin Schulz
SARADC v1 and v2 have a different way of starting a channel, therefore let's abstract this function so that it can be provided from the udevice.data pointer. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14rockchip: adc: rockchip-saradc: factor out channel_data callbackQuentin Schulz
SARADC v1 and v2 have a different way of reading data, therefore let's abstract this function so that it can be provided from the udevice.data pointer. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14rockchip: adc: rockchip-saradc: use union for preparing for v2Quentin Schulz
The registers are entirely different between SARADC v1 and SARADC v2, so let's prepare to add another struct for accessing v2 registers by adding a union. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14pmic: reword help textQuentin Schulz
Reword the help text for the pmic read and pmic write commands to better match what's expected from the user. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14power: rk8xx: add support for RK806Quentin Schulz
This adds support for RK806, only the SPI variant has been tested. The communication "protocol" over SPI is the following: - write three bytes: - 1 byte: [0:3] length of the payload, [6] Enable CRC, [7] Write - 1 byte: LSB register address - 1 byte: MSB register address - write/read length of payload The CRC is always disabled for now. The RK806 technically supports I2C as well, and this should be able to support it without any change, but it wasn't tested. The DT node name prefix for the buck converters has changed in the Device Tree and is now dcdc-reg. The logic for buck converters is however manageable within the current logic inside the rk8xx regulator driver. The same cannot be said for the NLDO and PLDO. Because pmic_bind_children() parses the DT nodes and extracts the LDO index from the DT node name, NLDO and PLDO will have overlapping indices. Therefore, we need a separate logic from the already-existing ldo callbacks. Let's reuse as much as possible though. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14regulator: rk8xx: add indirection level for some ldo callbacksQuentin Schulz
By passing a rk8xx_reg_info directly to the internal get_value, it'd be possible to call this same function with a logic for getting the rk8xx_reg_info different from the current get_ldo_reg, e.g. for NLDO and PLDO support for RK806. No logic change is expected. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14regulator: rk8xx: fix SWITCH enable on RK809William Wu
On RK809 in PMIC_POWER_ENX registers, in order to set or clear a bit N, the bit at offset N + 4 needs to be set otherwise nothing is done. This fixes the inability to modify the SWITCH state on RK809. Cc: Quentin Schulz <[email protected]> Signed-off-by: William Wu <[email protected]> [reworded commit log] Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14regulator: rk8xx: remove unused functionsQuentin Schulz
Those two functions had their last user removed in commit f9c68a566c4d ("rockchip: phycore_rk3288: remove phycore_init() function") part of v2023.01 release, so let's do some cleanup here. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14rockchip: spi: rk_spi: do not write bytes when in read-only modeQuentin Schulz
The read-only mode is currently supported but only for 16b-aligned buffers. For unaligned buffers, the last byte will be read in RW mode right now, which isn't what is desired. Instead, let's put the controller back into RO mode for that last byte and skip any write in the xfer loop. This is required for 3-wire SPI mode where PICO/POCI lanes are shorted on HW level. This incidentally the recommended design for RK806 PMIC for RK3588 products. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-14rockchip: load env from boot MMC deviceBen Wolsieffer
Currently, if the environment is stored on an MMC device, the device number is hardcoded by CONFIG_SYS_MMC_ENV_DEV. This is problematic because many boards can choose between booting from an SD card or a removable eMMC. For example, the Rock64 defconfig sets CONFIG_SYS_MMC_ENV_DEV=1, which corresponds to the SD card. If an eMMC is used as the boot device and no SD card is installed, it is impossible to save the environment. To avoid this problem, we can choose the environment MMC device based on the boot device. The theobroma-systems boards already contain code to do this, so this commit simply moves it to the common Rockchip board file, with some refactoring. I also removed another implementation of mmc_get_env_dev() from tinker_rk3288 that performed MMC boot device detection by reading a bootrom register. This has been tested on a Rock64v2. Signed-off-by: Ben Wolsieffer <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2024-03-14board: rockchip: Add early ADC button detect for RGxx3Chris Morgan
Add ADC button detect for early SPL stage for RGxx3 device. This is important because on at least the RG353P and RG353V a clk pin is not exposed that would allow us to take the eMMC out of the boot path. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-03-14configs: Remove unnecessary options from RGxx3 configChris Morgan
Based on feedback from the mailing list while adding support for a new device (the Powkiddy X55), correct the config options for the RGxx3 as well to remove unnecessary drivers and increase the SPL stack size. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-03-14board: rockchip: Add support for Powkiddy RGB10MAX3Chris Morgan
Add support to the RGxx3 device for the Powkiddy RGB10MAX3. This device is extremely similar to all the other devices and can use the same bootloader with the same detection logic. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-03-14arm: dts: rockchip: rk3566: Remove unnecessary clks from rgxx3Chris Morgan
Remove unnecessary clock frequency defines from the RGxx3 u-boot dts. Move the necessary defines to the RGxx3 main dts file. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>