summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2022-04-08m53menlo: Drop CONFIG_DISCOVER_PHYTom Rini
This is not used in code, drop. Signed-off-by: Tom Rini <[email protected]>
2022-04-08Convert CONFIG_FSL_QIXIS et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_FSL_QIXIS CONFIG_QIXIS_I2C_ACCESS Signed-off-by: Tom Rini <[email protected]>
2022-04-08Convert CONFIG_DIMM_SLOTS_PER_CTLR to KconfigTom Rini
This converts the following to Kconfig: CONFIG_DIMM_SLOTS_PER_CTLR Signed-off-by: Tom Rini <[email protected]>
2022-04-08galileo: Remove CONFIG_DESIGNWARE_ETH referenceTom Rini
This platform has CONFIG_ETH_DESIGNWARE set already, which is the correct value for the driver in question. Remove this incorrect line. Signed-off-by: Tom Rini <[email protected]>
2022-04-08powerpc: mpc83xx: Migrate DEFAULT_IMMR to KconfigTom Rini
As no platforms override this value, set it for all mpc83xx platforms. Cc: Mario Six <[email protected]> Cc: Wolfgang Denk <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-04-08microblaze: Migrate DCACHE/ICACHE to KconfigTom Rini
Move these two options to the arch Kconfig file. Cc: Michal Simek <[email protected]> Signed-off-by: Tom Rini <[email protected]> Acked-by: Michal Simek <[email protected]>
2022-04-08tegra: Drop CONFIG_CHROMEOS_EXTRA_ENV_SETTINGSTom Rini
This is not currently set by any boards, so drop. Signed-off-by: Tom Rini <[email protected]>
2022-04-08controlcenterdc: Migrate CUSTOMER_BOARD_SUPPORT to KconfigTom Rini
This symbol is only possibly useful on some mvebu platforms, so move the symbol there and select it for the only current user. Cc: Mario Six <[email protected]> Cc: Stefan Roese <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-04-08spi: cadence_qspi: Migrate CONFIG_CQSPI_REF_CLK to KconfigTom Rini
This is a little tricky since SoCFPGA has code to determine this as runtime. Introduce a guard variable for platforms to select if they have a static value to use. Then for ARCH_SOCFPGA, call cm_get_qspi_controller_clk_hz() and otherwise continue the previous behavior. Cc: Jagan Teki <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-04-08Convert CONFIG_SH_SCIF_CLK_FREQ to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SH_SCIF_CLK_FREQ Signed-off-by: Tom Rini <[email protected]>
2022-04-08Convert CONFIG_CONS_SCIF0 et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CONS_SCIF0 CONFIG_CONS_SCIF1 CONFIG_CONS_SCIF2 CONFIG_CONS_SCIF4 CONFIG_CONS_SCIFA0 Signed-off-by: Tom Rini <[email protected]>
2022-04-08at91: Remove unused LED codeTom Rini
These LED files (and CONFIG values) are unused today, remove the code in question. Signed-off-by: Tom Rini <[email protected]>
2022-04-08stm32f429-discovery: Migrate CONFIG_*_LED out of CONFIG namespaceTom Rini
These values are only used in one file, reference them more directly. Cc: Kamil Lulko <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: [email protected] Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-04-08corvus: Migrate CONFIG_*_LED out of CONFIG namespaceTom Rini
This code is only used on the corvus platform, so migrate the LED on/off code to this platform and remove it from the CONFIG namespace. In theory, this should likely be moved to the modern GPIO LED driver as a further cleanup. Cc: Heiko Schocher <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2022-04-08MPC837XERDB: Stop using CONFIG_RAMDISKFILETom Rini
We don't really configure this, just set it directly in the environment section. Signed-off-by: Tom Rini <[email protected]>
2022-04-08s5p_goni, smdkc100: Move some environment settings out of CONFIGTom Rini
A number of CONFIG options are used on these platforms as part of the default environment. Set some of these more directly and in other cases, just reference them directly. Cc: Jaehoon Chung <[email protected]> Cc: Minkyu Kang <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-04-08arm: integrator: Migrate platform-specific options and cleanup armcoremodule.hTom Rini
This converts the following to Kconfig: CONFIG_CM_INIT CONFIG_CM_REMAP CONFIG_CM_SPD_DETECT CONFIG_CM_MULTIPLE_SSRAM CONFIG_CM_TCRAM We make the first three of these options be always enabled, as that matches usage. We select the last two based on how they were defined in armcoremodule.h. This also allows us to remove some unused code in board/armltd/integrator/lowlevel_init.S Cc: Linus Walleij <[email protected]> Cc: Andre Przywara <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-04-08Convert CONFIG_CMDLINE_PS_SUPPORT to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CMDLINE_PS_SUPPORT Signed-off-by: Tom Rini <[email protected]>
2022-04-08tegra: Migrate CI_UDC_HAS_HOSTPC to KconfigTom Rini
This option is only enabled for CI_UDC and !TEGRA20, so implement it as such in Kconfig directly. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Tested-by: Peter Robinson <[email protected]>
2022-04-08Convert CONFIG_BOARD_SIZE_LIMIT to KconfigTom Rini
This converts the following to Kconfig: CONFIG_BOARD_SIZE_LIMIT To do this, introduce CONFIG_HAS_BOARD_SIZE_LIMIT. Signed-off-by: Tom Rini <[email protected]>
2022-04-07env: fat: Allow overriding interface, device and partitionHe Yong
For platform which can boot on different device, this allows to override interface, device and partition from board code Signed-off-by: He Yong <[email protected]>
2022-04-06dm: blk: Expand iteration and add testsSimon Glass
Add some functions which support iteration before probing. Also add tests for the functions. Signed-off-by: Simon Glass <[email protected]>
2022-04-06dm: core: Tidy up comments in uclass headersSimon Glass
Improve some of the comments in these files, which don't follow the correct style. Signed-off-by: Simon Glass <[email protected]>
2022-04-06dm: core: Add a required struct declarationSimon Glass
This file uses struct driver, so declare it at the top in case the header-inclusion order is not as expected. Signed-off-by: Simon Glass <[email protected]>
2022-04-06stdint: Add a definition of UINT8_MAXSimon Glass
This is normally defined in stdint.h but is not used in U-Boot. When libraries (such as Chromium OS vboot) are built against U-Boot they may expect this value to be available. Add it to avoid build errors in this case. Signed-off-by: Simon Glass <[email protected]>
2022-04-06cros_ec: Complete the comment for cros_ec_read_batt_charge()Simon Glass
Add the missing 'Return' information. Signed-off-by: Simon Glass <[email protected]>
2022-04-06cbfs: Add some more definititionsSimon Glass
Add definitions for a payload or 'self', which is like an unpacked ELF file. Signed-off-by: Simon Glass <[email protected]>
2022-04-06errno: Avoid including strings in SPLSimon Glass
At present the header file defines this function in SPL but the file may not actually be built. This causes a build error if the option is enabled. Fix the condition in the header file. Signed-off-by: Simon Glass <[email protected]>
2022-04-06dm: fix function documentation in include/dm/ofnode.hHeinrich Schuchardt
We use Sphinx style comments to describe functions. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2022-04-05power: Rename CONFIG_POWER_TPS65217 with CONFIG_PMIC_TPS65217Lukasz Majewski
Up till now the CONFIG_POWER_TPS65217 has been defined in several header files for am335x SoC. This patch renames it to CONFIG_PMIC_TPS65217, which better reflects the role of this IC circuit. Moreover, new CONFIG_PMIC_TPS65217 has been introduced in Kconfig to be used with boards, which both support DM_PMIC and DM_I2C. Signed-off-by: Lukasz Majewski <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> [trini: Migrate all other platforms as well] Signed-off-by: Tom Rini <[email protected]>
2022-04-05Merge branch '2022-04-04-platform-updates'Tom Rini
- Updates for exynos78x0 and TI K3 platforms
2022-04-05Merge tag 'xilinx-for-v2022.07-rc1-v2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze Xilinx changes for v2022.07-rc1 v2 xilinx: - Allow booting bigger kernels till 100MB zynqmp: - DT updates (reset IDs) - Remove unneeded low level uart initialization from psu_init* - Enable PWM features - Add support for 1EG device serial_zynq: - Change fifo behavior in DEBUG mode zynq_sdhci: - Fix BASECLK setting calculation clk_zynqmp: - Add support for showing video clock gpio: - Update slg driver to handle DT flags net: - Update ethernet_id code to support also DM_ETH_PHY - Add support for DM_ETH_PHY in gem driver - Enable dynamic mode for SGMII config in gem driver pwm: - Add driver for cadence PWM versal: - Add support for reserved memory firmware: - Handle PD enabling for SPL - Add support for IOUSLCR SGMII configurations include: - Sync phy.h with Linux - Update xilinx power domain dt binding headers
2022-04-05firmware: firmware-zynqmp: Add zynqmp_pm_set_gem_config apiT Karthik Reddy
Add zynqmp_pm_set_gem_config() api to configure GEM secure registers. Signed-off-by: T Karthik Reddy <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/f69e32355c6a6be7d2780663353c52757530207d.1648631275.git.michal.simek@xilinx.com
2022-04-05dt-bindings: xilinx: Add missing ids for PDMichal Simek
There are some new power domain IDs which are used in Linux kernel that's why add them here too. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/e6092e1d3766c0ac11bf620820739c93ab677a85.1648626981.git.michal.simek@xilinx.com
2022-04-05net: phy: Fix rgmii-id phy reset timeout issueT Karthik Reddy
While creating a phy device using phy_device_create(), we need to provide a valid phyaddr instead of 0 causing phy address being registered as 0 with mdio bus and shows mdio phy list as below ZynqMP> mdio list eth0: 0 - TI DP83867 <--> ethernet@ff0b0000 eth1: 0 - TI DP83867 <--> ethernet@ff0c0000 Also PHY soft reset is being requested on 0 instead of valid address causing "PHY reset timed out" error. So add phyaddr argument to phy_connect_phy_id() and to its prototype to create phy device with valid phyaddress. Fixes: a744a284e354 ("net: phy: Add support for ethernet-phy-id with gpio reset") Signed-off-by: T Karthik Reddy <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Bin Meng <[email protected]> Link: https://lore.kernel.org/r/fe35fddb9faa5af577ffdfabaec6879c935a30f8.1648562755.git.michal.simek@xilinx.com
2022-04-05Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
A big part is the DM pinctrl driver, which allows us to get rid of quite some custom pinmux code and make the whole port much more robust. Many thanks to Samuel for that nice contribution! There are some more or less cosmetic warnings about missing clocks right now, I will send the trivial fixes for that later. Another big chunk is the mkimage upgrade, which adds RISC-V and TOC0 (secure images) support. Both features are unused at the moment, but I have an always-secure board that will use that once the DT lands in the kernel. On top of those big things we have some smaller fixes, improving the I2C DM support, fixing some H6/H616 early clock setup and improving the eMMC boot partition support. The gitlab CI completed successfully, including the build test for all 161 sunxi boards. I also boot tested on a A64, A20, H3, H6, and F1C100 board. USB, SD card, eMMC, and Ethernet all work there (where applicable).
2022-04-05xilinx: Increase max size of image from 60 to 100MBMichal Simek
Recently big Linux kernels can have more then 60MB that's why increase this limit to also cover these large kernels. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/f52f7c8ea419d69b248ba1460a96d1635194e128.1648551279.git.michal.simek@xilinx.com
2022-04-04ram: k3-ddrss: Introduce ECC Functionality for full memory spaceDave Gerlach
Introduce ECC Functionality for full memory space as implemented in the DDRSS. The following is done to accomplish this: * Introduce a memory region "ss" to allow dt to provide DDRSS region, which is not the same as "ctl" which is the controller region. * Introduce a "ti,ecc-enable" flag which allows a memorycontroller instance to enable ecc. * Introduce functionality to properly program the DDRSS registers to enable ECC for the full DDR memory space if enabled with above flag. * Expose a k3_ddrss_ddr_fdt_fixup call to allow fixup of fdt blob to account from DDR memory that must be reserved for ECC operation. Signed-off-by: Dave Gerlach <[email protected]>
2022-04-04board: axy17lte: get board usable - add bootcmd and docsDzmitry Sankouski
U-boot is intended to replace linux kernel in android boot image(ABL), and it's FIT payload to replace initramfs file. The boot process is similar to boot image with linux: - android bootloader (ABL) unpacks android boot image - ABL sets `linux,initrd-start property` in chosen node in unpacked FDT - ABL sets x0 register to FDT address, and passes control to u-boot - u-boot reads x0 register, and stores it in `prevbl_fdt_addr` env variable - u-boot reads `linux,initrd-start` property, and stores it in `prevbl_initrd_start_addr` In this way, u-boot bootcmd relies on `prevbl_initrd_start_addr` env variable, and boils down to `bootm $prevbl_initrd_start_addr`. If more control on boot process is desired, pack a boot script in FIT image, and put it to default configuration What done: - Rearrange defconfig option order - Add CONFIG_SAVE_PREV_BL_* options - Doc updates: - remove wrong SBOOT memory corruption note, because memory is changed during u-boot bringup process, not by SBOOT - put payload on ramdisk place in abl boot image creation step Signed-off-by: Dzmitry Sankouski <[email protected]>
2022-04-04spl: mmc: extend spl_mmc_boot_mode() to take mmc argumentAndre Przywara
Platforms can overwrite the weak definition of spl_mmc_boot_mode() to determine where to load U-Boot proper from. For most of them this is a trivial decision based on Kconfig variables, but it might be desirable the probe the actual device to answer this question. Pass the pointer to the mmc struct to that function, so implementations can make use of that. Compile-tested for all users changed. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Stefano Babic <[email protected]> Reviewed-by: Ley Foon Tan <[email protected]> (for SoCFPGA) Acked-by: Lokesh Vutla <[email protected]> (for OMAP and K3) Reviewed-by: Simon Glass <[email protected]>
2022-04-04tools: mkimage: Add Allwinner TOC0 supportSamuel Holland
Most Allwinner sunxi SoCs have separate boot ROMs in non-secure and secure mode. The "non-secure" or "normal" boot ROM (NBROM) uses the existing sunxi_egon image type. The secure boot ROM (SBROM) uses a completely different image type, known as TOC0. A TOC0 image is composed of a header and two or more items. One item is the firmware binary. The others form a chain linking the firmware signature to the root-of-trust public key (ROTPK), which has its hash burned in the SoC's eFuses. Signatures are made using RSA-2048 + SHA256. The pseudo-ASN.1 structure is manually assembled; this is done to work around bugs/quirks in the boot ROM, which vary between SoCs. This TOC0 implementation has been verified to work with the A50, A64, H5, H6, and H616 SBROMs, and it may work with other SoCs. Signed-off-by: Samuel Holland <[email protected]> Acked-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2022-04-04board: starqltechn: get board usable - add bootcmd and docsDzmitry Sankouski
U-boot is intended to replace linux kernel in android boot image(ABL), and it's FIT payload to replace initramfs file. The boot process is similar to boot image with linux: - android bootloader (ABL) unpacks android boot image - ABL sets `linux,initrd-start property` in chosen node in unpacked FDT - ABL sets x0 register to FDT address, and passes control to u-boot - u-boot reads x0 register, and stores it in `prevbl_fdt_addr` env variable - u-boot reads `linux,initrd-start` property, and stores it in `prevbl_initrd_start_addr` In this way, u-boot bootcmd relies on `prevbl_initrd_start_addr` env variable, and boils down to `bootm $prevbl_initrd_start_addr`. If more control on boot process is desired, pack a boot script in FIT image, and put it to default configuration What done: - strip unneeded config options - add FIT image support - add framebuffer node, u-boot logo and video console - increase LMB_MAX_REGIONS, to store all linux dtb reserved memory regions - add linux kernel image header Uart driver causes hang, when u-boot is used in android boot image instead of linux. Temporary disable console driver, until investigated and fixed. Signed-off-by: Dzmitry Sankouski <[email protected]> Cc: Ramon Fried <[email protected]>
2022-04-04arm: init: save previous bootloader dataDzmitry Sankouski
When u-boot is used as a chain-loaded bootloader (replacing OS kernel), previous bootloader leaves data in RAM, that can be reused. For example, on recent arm linux system, when chainloading u-boot, there are initramfs and fdt in RAM prepared for OS booting. Initramfs may be modified to store u-boot's payload, thus providing the ability to use chainloaded u-boot to boot OS without any storage support. Two config options added: - SAVE_PREV_BL_INITRAMFS_START_ADDR saves initramfs start address to 'prevbl_initrd_start_addr' environment variable - SAVE_PREV_BL_FDT_ADDR saves fdt address to 'prevbl_fdt_addr' environment variable Signed-off-by: Dzmitry Sankouski <[email protected]> Cc: Tom Rini <[email protected]>
2022-04-04qemu-arm: Enable NVMe for distro bootAlexander Graf
We already support the NVMe commands and PCIe backend in the QEMU target, so let's make it easy for anyone to consume them and enable NVMe distro boot along the way! With this patch, I can put an NVMe backed disk image into my QEMU VM and have it automatically load a UEFI target blob. Signed-off-by: Alexander Graf <[email protected]> Reviewed-by: Mark Kettenis <[email protected]>
2022-04-04Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2022-04-01serial: dm: Add support for putsSean Anderson
Some serial drivers can be vastly more efficient when printing multiple characters at once. Non-DM serial has had a puts option for these sorts of drivers; implement it for DM serial as well. Because we have to add carriage returns, we can't just pass the whole string directly to the serial driver. Instead, we print up to the newline, then print a carriage return, and then continue on. This is less efficient, but it is better than printing each character individually. It also avoids having to allocate memory just to add a few characters. Drivers may perform short writes (such as filling a FIFO) and return the number of characters written in len. We loop over them in the same way that _serial_putc loops over putc. This results in around sizeof(void *) growth for all boards with DM_SERIAL. The full implementation takes around 140 bytes. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-04-01arm64: Catch non-emulated semihosting callsSean Anderson
If a debugger is not attached to U-Boot, semihosting calls will raise a synchronous abort exception. Try to catch this and disable semihosting so we can e.g. use another uart if one is available. In the immediate case, we return an error, since it is not always possible to check for semihosting beforehand (debug uart, user-initiated load command, etc.) We handle all possible semihosting instructions, which is probably overkill. However, we do need to keep track of what instruction set we're using so that we don't suppress an actual error. A future enhancement could try to determine semihosting capability by inspecting the processor state. There's an example of this at [1] for RISC-V. The equivalent for ARM would inspect the monitor modei enable/select bits of the DSCR. However, as the article notes, an exception handler is still helpful in order to catch disconnected debuggers. [1] https://tomverbeure.github.io/2021/12/30/Semihosting-on-RISCV.html#avoiding-hangs-when-a-debugger-is-not-connected Signed-off-by: Sean Anderson <[email protected]>
2022-04-01arm: smh: Add option to detect semihostingSean Anderson
These functions are intended to support detecting semihosting and falling back gracefully to alternative implementations. The test starts by making semihosting call. SYS_ERRNO is chosen because it should not mutate any state. If this semihosting call results in an exception (rather than being caught by the debugger), then the exception handler should call disable_semihosting() and resume execution after the call. Ideally, this would just be part of semihosting by default, and not a separate config. However, to reduce space ARM SPL doesn't include exception vectors by default. This means we can't detect if a semihosting call failed unless we enable them. To avoid forcing them to be enabled, we use a separate config option. It might also be possible to try and detect whether a debugger has enabled (by reading HDE from DSCR), but I wasn't able to figure out a way to do this from all ELs. This patch just introduces the generic code to handle detection. The next patch will implement it for arm64 (but not arm32). Signed-off-by: Sean Anderson <[email protected]>
2022-04-01ls1046ardb: Add support for JTAG bootSean Anderson
This adds support for booting entirely from JTAG while using a hard-coded RCW. With these steps, it is not necessary to program a "good" RCW using CodeWarrior. The method here can be performed with any JTAG adapter supported by OpenOCD, including the on-board CMSIS-DAP (albeit very slowly). These steps require LS1046A support in OpenOCD, which was added in [1]. [1] https://sourceforge.net/p/openocd/code/ci/5b70c1f679755677c925b4e6dd2c3d8be4715717/ Signed-off-by: Sean Anderson <[email protected]> [trini: Add reference to doc/board/nxp/ls1046ardb.rst]
2022-04-01serial: Add semihosting driverSean Anderson
This adds a serial driver which uses semihosting calls to read and write to the host's console. For convenience, if CONFIG_DM_SERIAL is enabled, we will instantiate a serial driver. This allows users to enable this driver (which has no physical device) without modifying their device trees or board files. We also implement a non-DM driver for SPL, or for much faster output in U-Boot proper. There are three ways to print to the console: Method Baud ================== ===== smh_putc in a loop 170 smh_puts 1600 smh_write with :tt 20000 ================== ===== These speeds were measured using a 175 character message with a J-Link adapter. For reference, U-Boot typically prints around 2700 characters during boot on this board. There are two major factors affecting the speed of these functions. First, each breakpoint incurs a delay. Second, each debugger memory transaction incurs a delay. smh_putc has a breakpoint and memory transaction for every character. smh_puts has one breakpoint, but still has to use a transaction for every character. This is because we don't know the length up front, so OpenOCD has to check if each character is nul. smh_write has only one breakpoint and one memory transfer. DM serial drivers can only implement a putc interface, so we are stuck with the slowest API. Non-DM drivers can implement puts, which is vastly more efficient. When the driver starts up, we try to open :tt. Since this is an extension, this may fail. If it does, we fall back to smh_puts. We don't check :semihosting-features, since there are nonconforming implementations (OpenOCD) which don't implement it (but *do* implement :tt). Some semihosting implementations (QEMU) don't handle READC properly. To work around this, we try to use open/read (much like for stdin) if possible. There is no non-blocking I/O available, so we don't implement pending. This will cause __serial_tstc to always return true. If CONFIG_SERIAL_RX_BUFFER is enabled, _serial_tstc will try and read characters forever. To avoid this, we depend on this config being disabled. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>