summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-24ARM: rmobile: beacon: Set CONFIG_RZ_G2 on Beacon boardsAdam Ford
The board detection is incorrectly stating it's an rcar3 variant instead of an RZ/G2 variant on all the r8a774*1_beacon boards. Set the flag to correctly display as RZ/G2[M/N/H] Signed-off-by: Adam Ford <[email protected]>
2021-06-24ARM: rmobile: Add basic PSCI support for R8A779A0 V3U FalconHai Pham
Enable basic PSCI support for R8A779A0 V3U Falcon Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2021-06-24ARM: renesas: Add GICv3 initialization for V3U FalconKoji Matsuoka
Init GICv3 for V3U Falcon in early phase Signed-off-by: Koji Matsuoka <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2021-06-24ARM: renesas: Add generic timer initialization for V3U FalconKoji Matsuoka
Init the Generic Timer for V3U Falcon in early phase Signed-off-by: Koji Matsuoka <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2021-06-24ARM: renesas: Add R8A779A0 V3U Falcon board codeHai Pham
Add board code for the R8A779A0 V3U Falcon board. Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> -- Marek: - various small rebase fixes and clean ups
2021-06-24ARM: renesas: Add R8A779A0 V3U platform codeHai Pham
Add platform code to support R8A779A0 V3U SoC. Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2021-06-24ARM: dts: renesas: Add RPC node to R8A779A0 V3UMarek Vasut
The R-Car V3U does support RPC interface, however the support for it is missing in upstream Linux DTs as of commit 9f4ad9e425a1 ("Linux 5.12"), add the node into u-boot.dtsi to let U-Boot access the SPI NOR or HF. Signed-off-by: Marek Vasut <[email protected]>
2021-06-24ARM: dts: renesas: Add R8A779A0 V3U DT extrasHai Pham
Add R8A779A0 V3U DT extras for U-Boot. Based on "ARM: dts: renesas: Add R8A779A0 V3U DTs" by Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2021-06-24ARM: dts: renesas: Add R8A779A0 V3U Falcon DTsMarek Vasut
Import R8A779A0 V3U Falcon DTs from Linux 5.12, commit 9f4ad9e425a1 ("Linux 5.12") . Signed-off-by: Marek Vasut <[email protected]>
2021-06-24ARM: dts: renesas: Add R8A779A0 V3U DTs and headersMarek Vasut
Import R8A779A0 V3U DTs and headers from Linux 5.12, commit 9f4ad9e425a1 ("Linux 5.12") . Signed-off-by: Marek Vasut <[email protected]>
2021-06-24pinctrl: renesas: Import R8A779A0 V3U PFC tablesMarek Vasut
Import R8A779A0 V3U PFC tables from Linux 5.12, commit 9f4ad9e425a1 ("Linux 5.12") . Add parts of PFC table integration from pinctrl: renesas: Add R8A779A0 V3U PFC tables by Hai Pham <[email protected]>" . Signed-off-by: Marek Vasut <[email protected]>
2021-06-24gpio: renesas: Handle R8A779A0 V3U INEN registerMarek Vasut
The R8A779A0 V3U GPIO block has additional "General Input Enable" INEN register. Add new R8A779A0 compatible string with a new quirk and also a handler for this quirk which toggles the INEN register in the right place. INEN register handling is based on "gpio: renesas: Add R8A779A0 V3U support" by Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2021-06-24clk: renesas: Add R8A779A0 clock tablesHai Pham
Add clock tables for R8A779A0 V3U SoC from Linux 5.12, commit 9f4ad9e425a1 ("Linux 5.12") Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> -- Marek: - Add .reset_modemr_offset - Sync tables from Linux 5.12 - Rebase on latest u-boot
2021-06-24clk: renesas: Handle R8A779A0 V3U clock types in Gen3 clock codeMarek Vasut
On R8A779A0 V3U SoC, PLL1 and PLL5 use a divider value from cpg_pll_configs table while PLL{20,21,30,31,4} use different control offset. Introduce new types to handle this and handle those types in the Gen3 clock code. Based on "clk: renesas: Add support for R8A779A0 V3U PLLn" by Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2021-06-24Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-spi ↵Tom Rini
into next - SPI NOT OF partitions (Marek Behún) - Macronic SPI NAND (Jaime Liao) - Macronix MX66UW2G345G SPI NOR (zhengxun)
2021-06-24cmd: mtd: expand <name> argument definition in command helpMarek Behún
The <name> argument can now also be MTD's DM device name or OF path. Mention this is command help. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Cc: Priyanka Jain <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Patrick Delaunay <[email protected]>
2021-06-24mtd: compare also with OF path and device name in get_mtd_device_nm()Marek Behún
The get_mtd_device_nm() function (code imported from Linux) simply iterates all registered MTD devices and compares the given name with all MTDs' names. With SPI_FLASH_MTD enabled U-Boot registers a SPI-NOR as a MTD device with name identical to the SPI flash chip name (from SPI ID table). Thus for a board with multiple same SPI-NORs it registers multiple MTDs, but all with the same name (such as "s25fl164k"). We do not want to change this behaviour, since such a change could break existing boot scripts, which can rely on a hardcoded name. In order to allow somehow to uniqely select a MTD device, change get_mtd_device_nm() function as such: - if first character of name is '/', try interpreting it as OF path - otherwise compare the name with MTDs name and MTDs device name. In the following example a board has two "s25fl164k" SPI-NORs. They both have name "s25fl164k", thus cannot be uniquely selected via this name. With this change, the user can select the second SPI-NOR either with "spi-nor@1" or "/soc/spi@10600/spi-nor@1". Example: => mtd list List of MTD devices: * s25fl164k - device: spi-nor@0 - parent: spi@10600 - driver: jedec_spi_nor - path: /soc/spi@10600/spi-nor@0 - type: NOR flash - block size: 0x1000 bytes - min I/O: 0x1 bytes - 0x000000000000-0x000000800000 : "s25fl164k" * s25fl164k - device: spi-nor@1 - parent: spi@10600 - driver: jedec_spi_nor - path: /soc/spi@10600/spi-nor@1 - type: NOR flash - block size: 0x1000 bytes - min I/O: 0x1 bytes - 0x000000000000-0x000000800000 : "s25fl164k" Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Cc: Priyanka Jain <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Patrick Delaunay <[email protected]>
2021-06-24cmd: mtd: print device OF path in listingMarek Behún
Print MTD's device OF path in the output of `mtd list` command. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Cc: Priyanka Jain <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Patrick Delaunay <[email protected]>
2021-06-24mtd: probe SPI NOR devices in mtd_probe_devices()Marek Behún
In order for `mtd list` U-Boot command to list SPI NOR devices without the need to run `sf probe` before, we have to probe SPI NOR devices in mtd_probe_devices(). Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Pali Rohár <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Cc: Priyanka Jain <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Patrick Delaunay <[email protected]>
2021-06-24mtd: remove mtd_probe() functionMarek Behún
The device_probe() function does the same thing as mtd_probe() and mtd_probe() is only used in mtd_probe_uclass_mtd_devs(), where the probing can be made simpler by using uclass_foreach_dev_probe macro. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Pali Rohár <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Cc: Priyanka Jain <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Patrick Delaunay <[email protected]>
2021-06-24mtd: spi-nor: fill-in mtd->dev memberMarek Behún
Fill in mtd->dev member with nor->dev. This can be used by MTD OF partition parser. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Pali Rohár <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Cc: Priyanka Jain <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Patrick Delaunay <[email protected]>
2021-06-24mtd: spi-nor: allow registering multiple MTDs when DM is enabledMarek Behún
Currently when the SPI_FLASH_MTD config option is enabled, only one SPI can be registered as MTD at any time - it is the last one probed (since with old non-DM model only one SPI NOR could be probed at any time). When DM is enabled, allow for registering multiple SPI NORs as MTDs by utilizing the nor->mtd structure, which is filled in by spi_nor_scan anyway, instead of filling a separate struct mtd_info. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Pali Rohár <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Cc: Priyanka Jain <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Patrick Delaunay <[email protected]>
2021-06-24mtd: add support for parsing partitions defined in OFMarek Behún
Add support for parsing partitions defined in device-trees via the `partitions` node with `fixed-partitions` compatible. The `mtdparts`/`mtdids` mechanism takes precedence. If some partitions are defined for a MTD device via this mechanism, the code won't register partitions for that MTD device from OF, even if they are defined. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Patrick Delaunay <[email protected]>
2021-06-24dm: core: add ofnode_get_path()Marek Behún
Add function for retrieving full node path of a given ofnode. This uses np->full_name if OF is live, otherwise a call to fdt_get_path() is made. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2021-06-24dm: core: add non-translating version of ofnode_get_addr_size_index()Marek Behún
Add functions ofnode_get_addr_size_index_notrans(), which is a non-translating version of ofnode_get_addr_size_index(). Some addresses are not meant to be translated, for example those of MTD fixed-partitions. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2021-06-24mtd: spinand: macronix: Add support for serial NAND flashJaime Liao
Macronix NAND Flash devices are available in different configurations and densities. MX"35" means SPI NAND MX35"UF" , UF meands 1.8V MX35LF"2G" , 2G means 2Gbits MX35LF2G"E4" , E4 means internal ECC and Quad I/O(x4) MX35UF4GE4AD/MX35UF2GE4AD/MX35UF1GE4AD are 1.8V 4G/2Gbit serial NAND flash device with 8-bit on-die ECC https://www.mxic.com.tw/Lists/Datasheet/Attachments/7983/MX35UF4GE4AD,%201.8V,%204Gb,%20v0.00.pdf MX35UF2GE4AC/MX35UF1GE4AC are 1.8V 2G/1Gbit serial NAND flash device with 8-bit on-die ECC https://www.mxic.com.tw/Lists/Datasheet/Attachments/7974/MX35UF2GE4AC,%201.8V,%202Gb,%20v1.0.pdf Validated via normal(default) and QUAD mode by read, erase, read back, on Xilinx Zynq PicoZed FPGA board which included Macronix SPI Host(drivers/spi/spi-mxic.c). Signed-off-by: Jaime Liao <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2021-06-23Merge https://source.denx.de/u-boot/custodians/u-boot-x86Tom Rini
- x86: Discard .note.gnu.property sections - nvme: Skip block device creation for inactive namespaces - nvme: Convert NVMe doc to reST, and various minor fixes
2021-06-23Merge tag 'mmc-2021-6-22' of https://source.denx.de/u-boot/custodians/u-boot-mmcTom Rini
- Revert fsl_esdhc_imx using VENDORSPEC_FRC_SDCLK_ON - Fix data read for dw_mmc - Increase minimum bus freq for mtk-sd - Minor cleanup
2021-06-23Merge branch '2021-06-22-assorted-fixes'Tom Rini
- Assorted minor bugfixes
2021-06-23test: Include /sbin to the PATH when creating file systemAndy Shevchenko
On some distributions the mkfs is under /sbin and /sbin is not set for mere users. Include /sbin to the PATH when creating file system, so that users won't get a scary traceback from Python. Signed-off-by: Andy Shevchenko <[email protected]>
2021-06-23MAINTAINER, git-mailrc: Update the mmc maintainerJaehoon Chung
Update to me as co-maintainer with Peng. Additionally, update the mmc alias in git-mailrc. Signed-off-by: Jaehoon Chung <[email protected]> Reviewed-by: Bin Meng <[email protected]> Acked-by: Peng Fan <[email protected]>
2021-06-23global_data: Ensure we have <config.h> when symbols are not in Kconfig yetTom Rini
All symbols that are defined in Kconfig will always be defined (or not) prior to preprocessing due to the -include directive while building. However, symbols which are not yet migrated will only be defined (or not) once the board config.h is included, via <config.h>. While the end goal must be to migrate all symbols, today we have cases where the size of gd will get mismatched within the build, based on include order. Mitigate this by making sure that any <asm/global_data.h> that uses symbols not in Kconfig does start with <config.h>. Remove this when not needed. Cc: Alexey Brodkin <[email protected]> Cc: Eugeniy Paltsev <[email protected]> Cc: Huan Wang <[email protected]> Cc: Angelo Dureghello <[email protected]> Cc: Rick Chen <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-06-23socfpga64: Do not define CONFIG_SYS_MEM_RESERVE_SECURE to 0Tom Rini
Based on the comment in socfpga_soc64_common.h, the intention is for CONFIG_SYS_MEM_RESERVE_SECURE to be unused. However, in the code we do: ... and that will evaluate to true. This leads to unwanted code being compiled. Further, as CONFIG_SYS_MEM_RESERVE_SECURE has not been migrated to Kconfig, this leads to a mismatch in the size of gd depending on if we have or have not also had <configs/BOARD.h> also included yet. Remove the define as it's not needed. Cc: Siew Chin Lim <[email protected]> Cc: Chee Hong Ang <[email protected]> Cc: Dalon Westergreen <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-06-23Revert "powerpc: fix regression in arch_initr_trap()"Tom Rini
With the changes in commit 588efcdd72fc ("powerpc: Don't use relative include for config.h in global_data.h") fixing the root of the problem, we no longer need this re-inclusion. This reverts commit f6c0d365d3e8ee8e4fd3ebe2ed957c2bca9d3328. Cc: Matt Merhar <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-06-23powerpc: Don't use relative include for config.h in global_data.hTom Rini
As there is an arch/powerpc/include/asm/config.h file using "" to get config.h here can lead to using that rather than include/config.h. This in turn can lead to a mismatch in the size of gd. Cc: Matt Merhar <[email protected]> Signed-off-by: Tom Rini <[email protected]> Tested-by: Matt Merhar <[email protected]>
2021-06-23malloc: add SPDX license identifiersHeinrich Schuchardt
The original code is in the public domain. Licenses/README states that the general license for U-Boot is GPL 2.0+. So we can mark the malloc code as GPL 2.0+ too. Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-06-23MAINTAINERS: Add an entry for NVMeBin Meng
This was missed when NVMe support was initially brought to U-Boot back in 2017. Add an entry for it and list myself as the maintainer. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2021-06-23doc: develop: Convert README.nvme to reSTBin Meng
This converts the existing README.nvme to reST, and puts it under the develop/driver-model/ directory. Signed-off-by: Bin Meng <[email protected]>
2021-06-23nvme: Don't clear nvme blk device's priv spaceBin Meng
A udevice's priv space is cleared in alloc_priv() in the DM core. Don't do it again in its probe() routine. Signed-off-by: Bin Meng <[email protected]>
2021-06-23nvme: Drop useless members of 'struct nvme_ns'Bin Meng
mode_select_num_blocks and mode_select_block_len in 'struct nvme_ns' are not useful. Drop them. Signed-off-by: Bin Meng <[email protected]>
2021-06-23nvme: Eliminate the offset of one during block dev creationBin Meng
At present there is an offset of one added during the creation of block device. This can be very confusing as we wanted to encode the namespace id in the block device name but namespae id cannot be zero. This changes to use the namespace id directly in the block device name, eliminating the offset of one effectively. Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Bin Meng <[email protected]>
2021-06-23nvme: Skip block device creation for inactive namespacesBin Meng
At present for each namespace there is a block device created for it. There is no issue if the number of supported namespaces reported from the NVMe device is only 1. Since QEMU commit 7f0f1acedf15 ("hw/block/nvme: support multiple namespaces"), the number of supported namespaces reported has been changed from 1 to 256, but not all of them are active namespaces. The actual active one depends on the QEMU command line parameters. A common case is that namespace 1 being active and all other 255 being inactive. If a namespace is inactive, the namespace identify command returns a zero filled data structure. We can use field NSZE (namespace size) to decide whether a block device should be created for it. Reported-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Bin Meng <[email protected]>
2021-06-23nvme: Move block dev creation from uclass post_probe() to driver probe()Bin Meng
At present the block device creation happens in the NVMe uclass driver post_probe() phase. In preparation to support multiple namespaces, we should issue namespace identify before creating block devices but that touches the underlying hardware hence it is not appropriate to do such in the uclass driver post_probe(). Let's move it to driver probe() phase instead. Signed-off-by: Bin Meng <[email protected]>
2021-06-23nvme: Remove the redundant aqa value settingWesley Sheng
AQA (Admin Queue Attributes) register is a dword size with lower word of ASQS, and higher word of ACQS. The code set the variable aqa twice, but it is redundant. Signed-off-by: Wesley Sheng <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2021-06-23nvme: Correct the prps per page calculation methodWesley Sheng
Each prp is 8 bytes, calculate the number of prps per page should just divide page size by 8 there is no need to minus 1 Signed-off-by: Wesley Sheng <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2021-06-23nvme: fix for big endian systemsDavid Lamparter
writel() and co. already include the endian swap; doing the swap twice is, er, unhelpful. Tested on a P4080DS, which boots perfectly fine off NVMe with this. Signed-off-by: David Lamparter <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2021-06-23x86: Discard .note.gnu.property sectionsBin Meng
When switching to kernel.org x86_64 gcc 11.1.0 toolchain, u-boot.rom built from qemu-x86_defconfig no longer boots anymore. Investigation shows that U-Boot fails at a very early stage during the boot process, in fdtdec_prepare_fdt() where fdt_check_header() complains that there is not a valid device tree found at gd->fdt_blob which points to _end. Now _end points to an allocated section .note.gnu.property which of course is wrong. This issue is however not seen when using the default Ubuntu 20.04 gnu toolchain (gcc 9.3.0 with binutils 2.34). Further investigation shows that it is caused by a behavior change of binutils v2.36 which is part of the kernel.org gcc 11.1.0 toolchain, via the following commit: 939b95c77bf2 ("Linux/x86: Configure gas with --enable-x86-used-note by default") In fact, there was already a regression bug report [1] for binutils two months ago, but the binutils folks did not think it is a bug :( To resolve this, there are several options: * pass -Wa,-mx86-used-note=no to gas * pass -R .note.gnu.property to objcopy * discard the section in the linker script Linux kernel uses the discard way [2], so let's do the same for U-Boot. [1] https://sourceware.org/bugzilla/show_bug.cgi?id=27753 [2] commit 4caffe6a28d3 ("x86/vdso: Discard .note.gnu.property sections in vDSO") Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2021-06-23spl: fit: Also record architecture in /fit-imagesMichal Simek
On ARM64 secure OS can run as 64bit or 32bit that's why it is necessary to record information about architecture that other code can read it and properly pass it to TF-A and start in 64bit or 32bit mode. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-06-23arm64: zynqmp: Add missing year in Kria dts filesMichal Simek
DT files have been added this year but forgot to update it that's why do it in separate patch now. Signed-off-by: Michal Simek <[email protected]>
2021-06-23arm64: zynqmp: Add psgtr description to zc1751 dc1 boardMichal Simek
Wire psgtr for zc1751 dc1 board. Signed-off-by: Michal Simek <[email protected]>