summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-23mtd: spi-nor-ids: Add GD25LQ256D ChipYanhong Wang
Add Gigadevice GD25LQ256D SPI NOR chip. https://www.gigadevice.com/datasheet/gd25lq256d/ Signed-off-by: Yanhong Wang <[email protected]> Reviewed-by: Bin Meng <[email protected]> [jagan: updated commit message] Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2021-10-22Merge tag 'efi-2022-01-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2022-01-rc1 Documentation: Use Sphinx 3.43. Move system reset documentation to HTML UEFI: Fix linking EFI apps with LLVM Fix alignment of loaded image Correct simple network protocol test Code cleanup
2021-10-21Merge tag 'dm-pull-21oct21' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dm Refactoring of env_get_char() etc. Update buildman to use gcc-11.1.0 Use in-container toolchain for nokia_rx51 CI test # gpg: Signature made Thu 21 Oct 2021 09:34:07 PM EDT # gpg: using RSA key B25C0022AF86A7CC1655B6277F173A3E9008ADE6 # gpg: issuer "[email protected]" # gpg: Good signature from "Simon Glass <[email protected]>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: B25C 0022 AF86 A7CC 1655 B627 7F17 3A3E 9008 ADE6
2021-10-21env: Move non-cli env functions to env/common.cMarek Behún
Move the following functions from cmd/nvedit.c to env/common.c: env_set_ulong() env_set_hex() env_get_hex() eth_env_get_enetaddr() eth_env_set_enetaddr() env_get() from_env() env_get_f() env_get_ulong() since these functions are not specific for U-Boot's CLI. We leave env_set() in cmd/nvedit.c, since it calls _do_env_set(), which is a static function in that file. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Simplify env_match() and inline into env_get_f()Marek Behún
In the past the env_match() function was used to match envs with - name, i.e. string "name" - variable assignment, i.e. string "name=other_value" The latter is not the case anymore, since the env_match() function is now used only in env_get_f(), and so we can simplify the function into a simple strncmp() with an additional comparison to '='. Let's do this, and since the resulting function is quite simple, let's also inline its code into env_get_f(). Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Use memcpy() instead of ad-hoc code to copy variable valueMarek Behún
Copy the value of the found variable into given buffer with memcpy() instead of ad-hoc code. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Make return value of env_get_f() behave like sprintf() on successMarek Behún
Currently the env_get_f() function's return value behaves weirdly: it returns the number of bytes written into `buf`, but whether this is excluding the terminating NULL-byte or including it depends on whether there was enough space in `buf`. Change the function to always return the actual length of the value of the environment variable (excluding the terminating NULL-byte) on success. This makes it behave like sprintf(). All users of this function in U-Boot are compatible with this change. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Early return from env_get_f() on NULL nameMarek Behún
Test non-NULL name immediately, not in env_match(). Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Don't match empty variable name in env_match()Marek Behún
Do we really allow zero-length variable name? I guess not. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Use better name for variable in env_get_f()Marek Behún
The `nxt` variable actually points to the terminating null-byte of the current env var, and the next env var is at `nxt + 1`, not `nxt`. So a better name for this variable is `end`. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Use string pointer instead of indexes in env_get_f()Marek Behún
Since we no longer use env_get_char() to access n-th character of linearized environment data, but rather access the arrays themselves, we can convert the iteration to use string pointers instead of position indexes. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Inline env_get_char() into its only userMarek Behún
This function is a relic from the past when environment was read from underlying device one character at a time. It is used only in the case when getting an environemnt variable prior relocation, and the function is simple enough to be inlined there. Since env_get_char() is being changed to simple access to an array, we can drop the failing cases and simplify the code (this could have been done before, since env_get_char() did not fail even before). Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Change env_match() to static and remove from headerMarek Behún
This function was used by other parts of U-Boot in the past when environment was read from underlying device one character at a time. This is not the case anymore. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21examples: api: glue: Remove comment that does not apply anymoreMarek Behún
This comment is not true since commit 6215bd4c1fd6 ("api: Use hashtable function for API_env_enum"). Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Drop env_get_char_spec() and old, unused .get_char() implementationsMarek Behún
Commit b2cdef4861be ("env: restore old env_get_char() behaviour") dropped the .get_char() method from struct env_driver, but left the two existing implementations (eeprom and nvram) in case someone would use them by overwriting weak function env_get_char_spec(). Since this was never done in the 3.5 years, let's drop these methods and simplify the code. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21env: Fix documentation for env_get_f()Marek Behún
This function actually returns: - the number of bytes written into @buf excluding the terminating NULL-byte, if there was enough space in @buf - the number of bytes written into @buf including the terminating NULL-byte, if there wasn't enough space in @buf - -1 if the variable is not found Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-21dm: Fix util.h's broken include guardPierre-Clément Tosi
Fix up the header's include guard to contain the definition of dm_priv_to_rw(), which was erroneously added outside of it, by moving its #endif to the end of the file (i.e. where it belongs). This removes the risk of compilation errors resulting from the redefinition of that function where the header might have been (indirectly) included more than once. Fixes: cfb9c9b77c2 ("dm: core: Use separate priv/plat data region") Signed-off-by: Pierre-Clément Tosi <[email protected]> Cc: Simon Glass <[email protected]>
2021-10-21sandbox: provide /chosen/boot-hartid propertyHeinrich Schuchardt
On RISC-V the sandbox must provide the /chosen/boot-hartid in the devicetree. Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-10-21buildman: Add gcc-11.1.0 to the directory listTom Rini
While CI has been using gcc-11.1.0 for a long time, we have not updated buildman to match. Correct this omission. Signed-off-by: Tom Rini <[email protected]>
2021-10-21CI: Switch running the nokia_rx51 test with in-container toolchainTom Rini
Instead of fetching an arm toolchain to use, run the test with the one that's already in the container image. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2021-10-21tools: imx8m_image: Support ddr3 firmwareAriel D'Alessandro
Some boards use ddr3, not ddr4, so we need to check ddr3 firmware. Signed-off-by: Ariel D'Alessandro <[email protected]>
2021-10-21mx7ulp: add getting a board serial numberRicardo Salveti
Get Unique ID of SoC iMX7ULP, using the logic described in Fusemap (IMX7ULPRMB2_Rev0_Fusemap) attached in the i.MX 7ULP APRM [1]. [1] https://www.nxp.com/docs/en/reference-manual/IMX7ULPRMB2.pdf Signed-off-by: Ricardo Salveti <[email protected]> Co-developed-by: Oleksandr Suvorov <[email protected]> Signed-off-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-10-21board: ea: mx7ulp_com: allocate specific region of memory to OP-TEERicardo Salveti
On the iMX7ULP uCOM board, OP-TEE uses the memory region defined by the maximum DRAM address minus CONFIG_OPTEE_TZDRAM_SIZE, so subtract CONFIG_OPTEE_TZDRAM_SIZE from the available DRAM size to avoid conflicts. Note the OPTEE boot process itself subtracts the DRAM region it lives in from the memory map passed to Linux. Signed-off-by: Ricardo Salveti <[email protected]> Signed-off-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-10-21arm: dts: imx8mp: Delete default clocks for clock controller nodeYe Li
Since SPL has initialized clocks for bus and core. We don't need to set the default clocks for clock controller node. Signed-off-by: Ye Li <[email protected]> Tested-by: Teresa Remmet <[email protected]> Tested-by: Andrey Zhizhikin <[email protected]> Acked-by: Peng Fan <[email protected]>
2021-10-21imx8mp_evk: Enable the DWC EQoS iMX driverYe Li
Enable the EQoS i.MX driver in defconfig, also enable the PHYLIB to facilitate the case that only has FEC enabled. Signed-off-by: Ye Li <[email protected]>
2021-10-21imx8mp_evk: Delete noncached memory configYe Li
DWC EQOS driver has removed to use noncached memory, so delete the configuration from iMX8MP EVK head file. Signed-off-by: Ye Li <[email protected]>
2021-10-21imx8mp_evk: Remove EQoS PHY reset codesYe Li
Since we uses the DTS and PHY reset gpio in EQoS driver to do the reset, remove the duplicated codes from board file. Signed-off-by: Ye Li <[email protected]>
2021-10-21imx8mp_evk: Fix incorrect cascade for FEC and EQOS setupYe Li
The setup functions should be independent for two ethernet controllers Signed-off-by: Ye Li <[email protected]>
2021-10-21arm: dts: imx8mp-evk: Enable the EQoS ethernet portYe Li
i.MX8MP EVK has two ethernet ports. Add relevant nodes and properties for EQoS port to the EVK DTS file. In -u-boot.dtsi, change the u-boot eqos compatible string, add PHY reset gpio and remove assigned clocks as not supported in CCF. Signed-off-by: Ye Li <[email protected]>
2021-10-21arm: mach-imx: Allow to build mac.c for EQoS driverYe Li
i.MX8MP has one DWC EQoS controller, so allow to build mac.c when only this driver is enabled. Signed-off-by: Ye Li <[email protected]>
2021-10-21arm: mach-imx: Update MAC fuse for i.MX8MPYe Li
i.MX8MP has two ENET controllers, have to update the function to enable loading two MAC addresses. Signed-off-by: Ye Li <[email protected]> Tested-by: Marcel Ziswiler <[email protected]>
2021-10-21Merge branch 'master' of git://git.denx.de/u-bootStefano Babic
Signed-off-by: Stefano Babic <[email protected]>
2021-10-21Merge https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- Turris MOX and Omnia changes, mostly moving to Kconfig (Marek) - a37xx: pci: Misc smaller fixes (Pali) - cmd: tlv_eeprom: Fix building with DEBUG enabled (Sven) - termios_linux.h: Fix tcsendbreak() implementation (Pali) - mvebu: Add missing "if SPL" (Tom)
2021-10-21xilinx: zynqmp: Use CONFIG_SPL_FS_LOAD_PAYLOAD_NAMEMichal Simek
There is no need to use u-boot.itb as name when this is already recorded in CONFIG_SPL_FS_LOAD_PAYLOAD_NAME macro. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]> Link: https://lore.kernel.org/r/38a236ed317510c26b37525da0e7bc26b411222c.1634558534.git.michal.simek@xilinx.com
2021-10-21xilinx: zynqmp: Handle fallthrough statement properlyMichal Simek
Now intentional fallthrough in switch-case should be labelled that's why convert comment. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]> Link: https://lore.kernel.org/r/b3e976bd3b9bbe7061fec5ba0a3b4e78fdd78394.1634556602.git.michal.simek@xilinx.com
2021-10-21firmware: zynqmp: fix write to an uninitialised pointer in ipi_req()Michal Simek
When a caller is not interested in the returned message, the ret_payload pointer is set to NULL in the u-boot-sources. In this case, under EL3, the memory from address 0x0 would be overwritten by ipi_req() with the returned IPI message, damaging the original data under this address. The patch, in case ret_payload is NULL, assigns the pointer to the array holding the IPI message being sent. Signed-off-by: Adrian Fiergolski <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Adrian Fiergolski <[email protected]> Link: https://lore.kernel.org/r/3178ff7651948270b714daa4adad48b94eaca9ba.1634309856.git.michal.simek@xilinx.com
2021-10-21firmware: zynqmp: Handle errors from ipi_req properlyMichal Simek
There are multiple errors what can happen in ipi_req but they are not propagated properly. That's why propage all error properly. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Adrian Fiergolski <[email protected]> Link: https://lore.kernel.org/r/7ac4f3b2104f04c72d287c46d1ccbce20f138fd4.1634309856.git.michal.simek@xilinx.com
2021-10-21net: gem: Disable broadcast settingMichal Simek
There is no need for GEM to accepts broadcast packets because they are not handled by u-boot anyway. That's why use HW IP feature and don't waste time on these packats which will be dropped anyway. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Link: https://lore.kernel.org/r/0e236c3a6514a2a633ef3a5b71a967c46f7fbae7.1634303007.git.michal.simek@xilinx.com
2021-10-21arm64: zynqmp: Fix sgmii clock input freq for p-a2197Michal Simek
Input frequency for sgmii is 125MHz on all Xilinx designs. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/87153c59cc526f5955b3bff3db11027b5848c042.1634302099.git.michal.simek@xilinx.com
2021-10-21arm64: zynqmp: Add support for DLC21 (Smartlynq+) boardMichal Simek
DLC21 is used as fast jtag cable. The patch adds support for this board from PS perspective. The most interesting part on the board is seps525 oled display. Also i2c, gpio, ethernet, uart, SD and eMMC are tested. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/3d35cd6a11cffc7456e21a88b214cc965734e852.1634231268.git.michal.simek@xilinx.com
2021-10-21arm64: zynqmp: allow overriding board nameLiam Beguin
There is no need to use zynqmp name as SYS_BOARD for all boards. The patch is adding an option to change it. Signed-off-by: Liam Beguin <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2021-10-21zynqmp: restore the jtag interfaceJorge Ramirez-Ortiz
When boot.bin is configured for secure boot the CSU will disable the JTAG interface on all cases. Some boards might rely on this interface for flashing to QSPI in which case those systems might end up bricked during development. This commit will restore the interface under CSU control Signed-off-by: Jorge Ramirez-Ortiz <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2021-10-21mmc: zynq_sdhci: Add xilinx_pm_request weak functionT Karthik Reddy
Mini emmc does not use any pmufw and ZYNQMP_FIRMWARE is disabled. xilinx_pm_request() will not be compiled and causes undefined reference to `xilinx_pm_request' error. So add a weak function in zynq_sdhci.c file. Signed-off-by: T Karthik Reddy <[email protected]> Signed-off-by: Ashok Reddy Soma <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2021-10-21arm: a37xx: pci: Fix condition for CRS responsePali Rohár
As stated in comment above the code, CRS response can be returned to OS only for 4-byte PCI_VENDOR_ID config read request. So fix the code. Fixes: 1d7ad68559e2 ("arm: a37xx: pci: Handle propagation of CRSSVE bit from PCIe Root Port") Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-21arm: mvebu: Add missing "if SPL"Tom Rini
We can only select SPL_SKIP_LOWLEVEL_INIT if SPL is enabled, otherwise we get a warning about unmet dependencies on platforms that don't use SPL. Fixes: cf47a8cf8f7e ("arm: mvebu: Select SPL_SKIP_LOWLEVEL_INIT on ARMADA_32BIT") Cc: Stefan Roese <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-21arm: a37xx: pci: Do not allow setting bars on PCI BridgePali Rohár
PCI Bridge which represents Aardvark PCIe Root Port does not have configurable bars. So ensure that write operation to bars registers on PCI Bridge is noop and bars registers always contain zero address which indicates that bars are unsupported. After this change U-Boot 'pci bar 0.0.0' command does not show any allocated bars for PCI Bridge device. Signed-off-by: Pali Rohár <[email protected]> Fixes: cb056005dc67 ("arm: a37xx: pci: Add support for accessing PCI Bridge on root bus") Reviewed-by: Stefan Roese <[email protected]>
2021-10-21arm: mvebu: turris_omnia: Move CONFIG_SPL_DRIVERS_MISC to KconfigMarek Behún
Instead of declaring CONFIG_SPL_DRIVERS_MISC in board config header, select it in Kconfig. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-21arm: mvebu: turris_omnia: Move SPL's SYS_MALLOC_SIMPLE to KconfigMarek Behún
Instead of declaring CONFIG_SYS_MALLOC_SIMPLE dependant on CONFIG_SPL_BUILD in board config header, select CONFIG_SPL_SYS_MALLOC_SIMPLE in Kconfig. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-21arm: mvebu: turris_omnia: Use show_board_info()Marek Behún
We are printing board information in checkboard() function, which is called from the default weak implementation of show_board_info(). Rename checkboard() to show_board_info(). This throws away the weak implementation of show_board_info(). Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-21arm: mvebu: turris_omnia: Overwrite ethaddr only if invalidMarek Behún
Currently we always overwrite ethaddrs with those from EEPROM. In order to allow user to use a cloned MAC address in U-Boot, change the code so that it sets ethaddr variables only if they aren't set or are invalid. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>