summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-12-13bootm: Adjust boot_get_kernel() to return an errorSimon Glass
This function obtains lots of error codes and then throws them away. Update it to return the error, moving the image pointer to an argument. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-13image: Document error codes from fit_image_load()Simon Glass
Put a list of these in the function documentation so it is easier to decode what went wrong. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-13bootm: Reduce arguments to boot_get_kernel()Simon Glass
This function only uses one argument and just needs to know the name of the command which called it. Adjust the function to use only what it needs. This will make it easier to call from a non-command context. Tidy up the function comment while we are here. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-13image: Tidy up genimg_get_kernel_addr_fit()Simon Glass
This function does not modify its first argument, so mark it const. Also move the comments to the header file and expand them to provide more useful information. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-13bootm: Move boot_get_kernel() higher in the fileSimon Glass
Move this code and image_get_kernel() higher in the file to avoid the need for a forward declaration. No attempt is made to remove #ifdefs or adjust the code in any other way. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-13bootm: Simplify arguments for bootm_pre_load()Simon Glass
Move the argument decoding to the caller, to avoid needing to pass the command-line arguments. Add a function comment while we are here. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-13bootm: Drop arguments from bootm_start()Simon Glass
This function does not use its arguments. Drop them. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-12-13bootstd: Add missing header file from bootdev.hSimon Glass
Add a dm/uclass-id.h to the bootdev header file, since it uses enum uclass_id Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-12-13treewide: Tidy up semicolon after command macrosSimon Glass
The U_BOOT_CMD_COMPLETE() macro has a semicolon at the end, perhaps inadvertently. Some code has taken advantage of this. Tidy this up by dropping the semicolon from the macro and adding it to macro invocations as required. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-12-13mmc: env: Unify the U_BOOT_ENV_LOCATION conditionsSimon Glass
The declaration of U_BOOT_ENV_LOCATION() uses a different #ifdef condition from the code it calls. Use the same condition to avoid a build warning if CONFIG_CMD_SAVEENV is disabled. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-12-13README: Correct docs for CONFIG_SPL_BUILDSimon Glass
This option is defined in both SPL and TPL builds, so correct the docs related to this. Also point to spl_phase() which is normally a better option. Mention VPL as well. Signed-off-by: Simon Glass <[email protected]> Reported-by: Heinrich Schuchardt <[email protected]>
2023-12-13arm: x86: Drop discarding of command linker-listsSimon Glass
Since we can now cleanly disable CMDLINE when needed, drop the rules which discard the command code. It will not be built in the first place. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-12-13Merge patch series "some LED patches"Tom Rini
To quote the author: I wanted to add support for ti,lp5562, and found an old submission from Doug. While trying to modify that to work in current U-Boot, I found a problem with the "move label handling to core" patches. Patch 1 is a prerequisite for the ti,lp5562 driver, which turned out to be needed by Christian as well. Patch 2 is an attempt at (quick-)fixing the mentioned "move label handling to core" problem. The real fix consists of changing remaining drivers to not bind the same driver to the top node as to the child nodes, but I can't test those other drivers. Patch 3 introduces a helper which should allow removing some boilerplate in most individual drivers, and 4,5 apply that in the gpio and pwm drivers. Converting remaining drivers is trivial, but left out for now. Finally patch 6 is the reworked lp5562 driver. While I've changed it to match existing DT bindings (with the goal of making it work with our .dts that is known to work with the linux driver), most of the logic is unchanged from Doug's original patch, so he is still listed as author. Changes in v2: Interchange order of patches 1 and 2, add a few R-bs, and try to trim down the commit message in patch 2.
2023-12-13led: add TI LP5562 LED driverDoug Zobel
Driver for the TI LP5562 4 channel LED controller. Supports independent on/off control of all 4 channels. Supports LED_BLINK on 3 independent channels: blue/green/red. The white channel can blink, but shares the blue channel blink rate. Heavily based on patch originally from Doug Zobel [1]. I have modified it so it matches the DT bindings in the linux tree, and also follows the linux driver implementation more closely. This should address Tom's concerns, and also matches my goal of making the U-Boot driver work with our existing .dts which is known to work in linux. As our boards only have the R,G,B outputs connected, I have not actually tested how the white channel behaves, but the R,G,B work exactly as expected. [1] https://lore.kernel.org/u-boot/[email protected]/ Cc: Doug Zobel <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2023-12-13led: led_pwm: use led_bind_generic() helperRasmus Villemoes
Use the helper led_bind_generic() to reduce code duplication. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-12-13led: led_gpio: use led_bind_generic() helperRasmus Villemoes
Use the helper led_bind_generic() to reduce code duplication. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-12-13led: introduce led_bind_generic()Rasmus Villemoes
All existing drivers in drivers/led/ contain a .bind method that does exactly the same thing, with just the actual driver name differing. Create a helper so all those individual methods can be changed to one-liners. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2023-12-13led-uclass: do not create fallback label for top-level nodeRasmus Villemoes
Many existing drivers, and led-uclass itself, rely on uc_plat->label being NULL for the device representing the top node, as opposed to the child nodes representing individual LEDs. This means that the drivers whose .probe methods rely on this were broken by commit 83c63f0d1185 ("led: Move OF "label" property parsing to core"), and also that the top node wrongly shows up with 'led list'. Binding the same driver to the top node as to the individual child nodes is arguably wrong, and the approach of using a UCLASS_NOP driver for the top node is probably better - this has for example been done in commit 01074697801b ("led: gpio: Use NOP uclass driver for top-level node") and commit 910b01c27c04 ("drivers: led: bcm6753: do not use null label to find the top") Until remaining affected drivers are fixed, we can use a heuristic that only sets the label to the fallback value derived from the node name if the node does not have a "compatible" property - i.e., if it has been bound to the LED driver explicitly via device_bind_driver_to_node(). This is similar to what commit e3aa76644c2a ("led: gpio: Check device compatible string to determine the top level node") did for gpio_led, but that fix was then supplanted by commit 01074697801b ("led: gpio: Use NOP uclass driver for top-level node") Fixes: 83c63f0d1185 ("led: Move OF "label" property parsing to core") Signed-off-by: Rasmus Villemoes <[email protected]>
2023-12-13led-uclass: honour ->label field populated by driver's own .bindRasmus Villemoes
If the driver's own .bind method has populated uc_plat->label, don't override that. This is necessary for an upcoming driver for ti,lp5562, where the DT binding unfortunately says to use "chan-name" and not "label". Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2023-12-13clk: zynqmp: enable topsw_lsbus clockVenkatesh Yadav Abbarapu
Display port is using topsw_lsbus clock, it is failing while enabling the clock, so enable the topsw_lsbus clock. Signed-off-by: Sreekanth Sunnam <[email protected]> Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13Merge branch '2023-12-13-assorted-minor-fixes'Tom Rini
- A few MAINTAINERS updates and Kconfig wording fixes
2023-12-13maintainers: rk3399: remove maintainerShantur Rathore
Remove Akash Gajjar <[email protected]> from MAINTAINERS as email is bouncing. Signed-off-by: Shantur Rathore <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-12-13maintainers: bcmns3: remove maintainerPeter Robinson
Remove Bharat Gooty as a maintainer as his mail is bouncing. Signed-off-by: Peter Robinson <[email protected]> Cc: Rayagonda Kokatanur <[email protected]>
2023-12-13MAINTAINERS: Fix ARCH_APPLE file pathsMoritz Fischer
Fixes a filepath in MAINTAINERS file that wasn't updated when renaming the files to match the new SoC name. Fixes: a4bd5e4120d6 ('arm: apple: Change SoC name from "m1" into "apple"') Signed-off-by: Moritz Fischer <[email protected]>
2023-12-13drivers: misc: Kconfig: Fix SPL_FS_LOADER promptAlexander Gendin
Both FS_LOADER and SPL_FS_LOADER have the same menu prompt. To avoid confusion, make prompt for SPL_FS_LOADER different. Signed-off-by: Alexander Gendin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-13lib/Kconfig: Correct typo about SYSINFO_SMBIOS in help messageTom Rini
The correct symbol to enable to have SMBIOS populate fields based on the device tree is SYSINFO_SMBIOS and not SMBIOS_SYSINFO. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-13clk: imx8mn: add pwm clocksNicolas Heemeryck
Based on Linux kernel 6.7-rc4, add necessary clocks for the PWM controllers. Signed-off-by: Nicolas Heemeryck <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13board: apalis/colibri imx6/imx6ull/imx7: Add fastboot bootcmd supportHiago De Franco
This commit adds support for Fastboot boot commands by checking both CONFIG_CMD_USB_SDP and CONFIG_USB_FUNCTION_FASTBOOT. If either of these configurations is set, it indicates that the board is in recovery mode and can use either SDP or Fastboot. The default option remains the SDP command, but if CONFIG_CMD_FASTBOOT is set, it changes to 'fastboot usb 0' as the boot command. Signed-off-by: Hiago De Franco <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13apalis/colibri imx6/imx6ull/imx7: defconfig: Enable fastboot supportHiago De Franco
Add fastboot support for Apalis iMX6, Colibri iMX6, Colibri iMX6ULL and Colibri iMX7 boards. Remove CONFIG_FASTBOOT_BUF_SIZE from colibri_imx7_emmc_defconfig to get the default value of 0x7000000 instead of 0x10000000, to make it consistent with the other boards. Signed-off-by: Hiago De Franco <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13imx7d-pico-pi-u-boot.dtsi: Fix aliases indentationFabio Estevam
The aliases are currently indented using spaces. Fix it to use the standard tab indentation. Signed-off-by: Fabio Estevam <[email protected]>
2023-12-13pico-imx7d: Remove board_phy_config()Fabio Estevam
With Ethernet DM in place, there is no longer the need for having the board_phy_config() anymore. Remove it. Tested on imx7d-pico-pi board: => setenv autoload no => dhcp BOOTP broadcast 1 *** Unhandled DHCP Option in OFFER/ACK: 42 DHCP client bound to address 192.168.0.138 (138 ms) => tftp zImage Using ethernet@30be0000 device TFTP from server 192.168.0.16; our IP address is 192.168.0.138 Filename 'zImage'. Load address: 0x80800000 Loading: ################################################################# .... ################################################################# ########## 4.3 MiB/s done Bytes transferred = 9034120 (89d988 hex) Signed-off-by: Fabio Estevam <[email protected]>
2023-12-13librem5: Add addresses for compressed kernel loadArnaud Ferraris
The "booti" command to load arm64 Linux kernels supports automatic decompression of zipped kernel images, but relies on some environment variables to point to usable buffer RAM. Add those variables and let them point to some default values, that should cover most use-cases. Signed-off-by: Arnaud Ferraris <[email protected]>
2023-12-13librem5: properly set the `fdtfile` env variableArnaud Ferraris
In order to use the generic "distro boot" using an extlinux.conf file, the `fdtfile` environment variable is mandatory. This commit ensure this variable is properly constructed based on the detected board revision. Signed-off-by: Arnaud Ferraris <[email protected]>
2023-12-13configs: imx8mn_beacon: Disable the WDT autostartAdam Ford
Auto-starting the WDT can cause false reboots when the user is not intentionally trying to use the WDT, so leave it off until it is requested. Signed-off-by: Adam Ford <[email protected]>
2023-12-13configs: imx8mn_beacon: Do not set SYS_CONSOLE_IS_IN_ENVAdam Ford
The hardware only supports a specific console port, so remove the option to change the console location in the environment. Signed-off-by: Adam Ford <[email protected]>
2023-12-13configs: imx8mm_beacon: Disable the WDT autostartAdam Ford
Auto-starting the WDT can cause false reboots when the user is not intentionally trying to use the WDT, so leave it off until it is requested. Signed-off-by: Adam Ford <[email protected]>
2023-12-13configs: imx8mm_beacon: Enable fastboot downloadingAdam Ford
Fastboot is necessary to use UUU enhanced functions, so enable it. Signed-off-by: Adam Ford <[email protected]>
2023-12-13configs: imx8mp_beacon: Do not set SYS_CONSOLE_IS_IN_ENVAdam Ford
The hardware only supports a specific console port, so remove the option to change the console location in the environment. Signed-off-by: Adam Ford <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13MAINTAINERS: Remove non-working address from MAINTAINERSHugo Villeneuve
The address [email protected] is no longer working: A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: [email protected] host mx.collabora.co.uk [46.235.227.165] SMTP error from remote mail server after RCPT TO:<[email protected]>: 550 5.1.1 <[email protected]>: Recipient address rejected: undeliverable address: host mail.collabora.co.uk[46.235.227.172] said: 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in local recipient table (in reply to RCPT TO command) Remove this address from MAINTAINERS. Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13imx8mn-var-som: Simplify FEC initializationHugo Villeneuve
With DM enabled, there is no need for board code to initialize the FEC interface. The ethernet PHYs on the symphony carrier board have a dedicated crystal/oscillator. If the SOM has the EC configuration option (onboard ethernet PHY), it also has a dedicated crystal/oscillator. So in all cases, there is no need to enable the RGMII TX clk output. This follows a similar change introduced by Fabio Estevam: Link: https://lore.kernel.org/u-boot/[email protected]/ Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13imx8mn_var_som: Add myself to MAINTAINERSHugo Villeneuve
I would like to help maintaining the imx8mn_var_som symphony board. Add myself to MAINTAINERS. Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13clock_imx8mm: Add a stub for imx8mp_fec_interface_init()Fabio Estevam
When CONFIG_DWC_ETH_QOS_IMX=y and CONFIG_FEC_MXC is not selected, the following warning is seen: arch/arm/mach-imx/imx8m/clock_imx8mm.c: In function 'board_interface_eth_init': arch/arm/mach-imx/imx8m/clock_imx8mm.c:914:24: warning: implicit declaration of function 'imx8mp_fec_interface_init; did you mean 'imx8mp_eqos_interface_init'? [-Wimplicit-function-declaration] Fix it by adding a stub for imx8mp_fec_interface_init() to handle this case. This follows the same approach done on imx8mp_eqos_interface_init(). Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-13imx8mp_evk: Remove unneeded header filesFabio Estevam
Cleanup the file by removing unneeded header files. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Hugo Villeneuve <[email protected]>
2023-12-13imx8mp_evk: Simplify Ethernet initializationFabio Estevam
With DM enabled, there is no need for board code to initialize the Ethernet interfaces. The RTL8211FDI Ethernet PHYs have 25MHz oscillator, so there is no need to enable the RGMII TX clk output. Also, there is no need for describing the deprecated phy-reset FEC properties, nor passing reset properties to the EQOS interface in u-boot.dtsi. Remove all these unneeded pieces. Tested both Ethernet interfaces after these changes. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Hugo Villeneuve <[email protected]>
2023-12-13phy: phy-imx8mq-usb: Remove .exit operationFabio Estevam
Currently, when running "ums 0 mmc 2" and breaking it via CTRL + C, the following message is seen: u-boot=> ums 0 mmc 1 UMS: LUN 0, dev mmc 1, hwpart 0, sector 0x0, count 0x1dacc00 CTRL+C - Operation aborted clk usb_phy_root_clk already disabled The USB PHY clock is disabled twice: first it gets disabled inside imx8mq_usb_phy_power_off(), then it is disabled again inside imx8mq_usb_phy_exit(). Let the USB PHY clock be disabled only once inside imx8mq_usb_phy_power_off() by removing the .exit operation. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-13arm: dts: imx8mp: Sync with linux-next 20231019Fabio Estevam
Sync imx8mp.dtsi and imx8mp-clock.h with linux-next 20231019. Signed-off-by: Fabio Estevam <[email protected]>
2023-12-13arm: dts: imx8mn: Sync with linux-next 20231019Fabio Estevam
Sync imx8mn.dtsi with linux-next 20231019. Signed-off-by: Fabio Estevam <[email protected]>
2023-12-13arm: dts: imx8mm: Sync with linux-next 20231019Fabio Estevam
Sync imx8mm.dtsi with linux-next 20231019. The motivation for doing this sync was a bug when doing "ums 0 mmc 1" on imx8mm-evk. It worked well for the first time, but after doing a CTRL+C and launching the ums again, the command did not work. Adam Ford suggested to sync imx8mm.dtsi with the Linux dts, as there was a recent USB power domain reorganization there. After syncing the imx8mm.dtsi with Linux, the ums command works without problem after a CTRL+C. Suggested-by: Adam Ford <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Tim Harvey <[email protected]>
2023-12-13imx8mp_evk: Add myself to MAINTAINERSFabio Estevam
I would like to help maintaining the imx8mp_evk board. Add myself to MAINTAINERS. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Peng Fan <[email protected]>
2023-12-13imx8mp_evk: Convert to DM_PMICFabio Estevam
Currently, the imx8mp_evk uses the non-DM code to initialize the PMIC. Convert to DM_PMIC, which is the recommended way to access the PMIC. While at it, fix multi-line comments style. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]>