summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2021-04-28test: reset: Extend base reset test to catch errorNeil Armstrong
With this extended test, we get the following failure : => ut dm reset_base Test: dm_test_reset_base: reset.c test/dm/reset.c:52, dm_test_reset_base(): reset_method3.id == reset_method3_1.id: Expected 0x14 (20), got 0x2 (2) Test: dm_test_reset_base: reset.c (flat tree) test/dm/reset.c:52, dm_test_reset_base(): reset_method3.id == reset_method3_1.id: Expected 0x14 (20), got 0x2 (2) Failures: 2 A fix is needed in reset_get_by_index_nodev() when introduced in [1]. [1] ea9dc35aab ("reset: Get the RESET by index without device") Signed-off-by: Neil Armstrong <[email protected]>
2021-04-28arm: zimage: Use correct symbol to hide messages in SPLSamuel Holland
When zImage support was added to SPL, the messages were hidden to reduce code size. However, the wrong config symbol was used. Since this file is only built when CONFIG_SPL_FRAMEWORK=y, the messages were always hidden. Use the correct symbol so the messages are printed in U-Boot proper. Also use IS_ENABLED to drop the #ifdef. Fixes: 431889d6ad9a ("spl: zImage support in Falcon mode") Signed-off-by: Samuel Holland <[email protected]>
2021-04-28powerpc: introduce CONFIG_CACHE_FLUSH_WATCHDOG_THRESHOLDRasmus Villemoes
When flush_cache() is called during boot on our ~7M kernel image, the hundreds of thousands of WATCHDOG_RESET calls end up adding significantly to boottime. Flushing a single cache line doesn't take many microseconds, so doing these calls for every cache line is complete overkill. The generic watchdog_reset() provided by wdt-uclass.c actually contains some rate-limiting logic that should in theory mitigate this, but alas, that rate-limiting must be disabled on powerpc because of its get_timer() implementation - get_timer() works just fine until interrupts are disabled, but it just so happens that the "big" flush_cache() call happens in the part of bootm where interrupts are indeed disabled. [1] [2] [3] I have checked with objdump that the generated code doesn't change when this option is left at its default value of 0: gcc is smart enough to see that the ">=" comparison is tautologically true, hence all assignments to "flushed" are eliminated as dead stores. On our board, setting the option to something like 65536 ends up reducing total boottime by about 0.8 seconds. [1] https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/ [2] https://lists.denx.de/pipermail/u-boot/2021-April/446906.html [3] https://lists.denx.de/pipermail/u-boot/2021-April/447280.html Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2021-04-28powerpc: lib: remove leftover CONFIG_5xxRasmus Villemoes
CONFIG_5xx hasn't existed since commit 502589777416 (powerpc, 5xx: remove support for 5xx). Remove this last mention of it. Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2021-04-28allow opting out of WATCHDOG_RESET() from timer interruptRasmus Villemoes
Having WATCHDOG_RESET() called automatically from the timer interrupt runs counter to the idea of a watchdog device - if the board runs into an infinite loops with interrupts still enabled, the watchdog will never fire. When using CONFIG_(SPL_)WDT, the watchdog_reset function is a lot more complicated than just poking a few SOC-specific registers - it involves accessing all kinds of global data, and if the interrupt happens at the wrong time (say, in the middle of an WATCHDOG_RESET() call from ordinary code), that can end up corrupting said global data. Allow the board to opt out of calling WATCHDOG_RESET() from the timer interrupt handler by setting CONFIG_SYS_WATCHDOG_FREQ to 0 - as that setting is currently nonsensical (it would be compile-time divide-by-zero), it cannot affect any existing boards. Add documentation for both the existing and extended meaning of CONFIG_SYS_WATCHDOG_FREQ. Signed-off-by: Rasmus Villemoes <[email protected]>
2021-04-28sunxi: DT: A64: Update devicetree files from Linux 5.12Andre Przywara
Import updated devicetree files from the Linux v5.12 release. Besides some node and audio port renames this changes the PHY modes to either rgmii-id or rgmii-txid. From the board files the Pinephone sees a lot of updates. This also adds the long missing USB PHY property for controller 0, which allows the U-Boot PHY driver to eventually use port 0 in host mode (pending another U-Boot patch). Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2021-04-28sunxi: DT: R40: Update device tree files from Linux 5.12Ivan Uvarov
Update R40 .dts{,i} and dt-binding headers to current version from kernel. Files taken from Linux 5.12-rc1 release (commit fe07bfda2fb9cdef8a4d4008a409bb02f35f1bd8) Signed-off-by: Ivan Uvarov <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-04-28mips: octeon: ebb7304: Add support for some I2C devicesAaron Williams
This patch adds support for the following I2C devices connected to I2C bus 0 on the Octeon EBB7304: - Dallas DS1337 RTC - TLV EEPROM Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-28mips: octeon: dts/dtsi: Change UART DT node to use clocks propertyAaron Williams
We already have a clock driver for MIPS Octeon. This patch changes the Octeon DT nodes to supply the clock property via the clock driver instead of using an hard-coded value, which is not correct in all cases. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-28mips: octeon: Add Octeon III NIC23 board supportStefan Roese
This patch adds the basic support for the PCIe target board equipped with the Octeon III CN2350 SoC. Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: mrvl, cn73xx.dtsi: Add AHCI/SATA DT nodeStefan Roese
Add the AHCI compatible SATA DT node to the Octeon CN73xx dtsi file. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-28mips: octeon: cpu.c: Enable AHCI/SATA supportStefan Roese
For easy AHCI/ SATA integration, this patch adds board_ahci_enable() for the MVEBU AHCI driver, which will be used by this platform. This platform specific "enable" function will setup the proper endian swapping in the AHCI controller so that it can be used by the common AHCI code. Additionally the endian swizzle entry for AHCI in octeon_should_swizzle_table[] is removed, as this enabled the original lowlevel code function, e.g. octeon_configure_qlm(), for the QLM setup to work correctly. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-28mips: octeon: cpu.c: Add arch_misc_init() for pci-console & pci-bootcmdStefan Roese
This patch adds the necessary platform infrastructure code, so that the MIPS Octeon drivers "serial_octeon_pcie_console" & "serial_bootcmd" can be used. This is e.g. the bootmem initialization in a compatible way to the Marvell 2013 U-Boot, so that the exisiting PC remote tools like "oct-remote-console" & "oct-remote-load" can be used. This is be done in the newly introduced arch_misc_init(), which calls the necessary init functions when enabled. These patches are in preparation for the MIPS Octeon NIC23 board support, which is a desktop PCIe target board enabling these features. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-28mips: octeon: cvmx-coremask.h: Fix cvmx_coremask_dprint() with DEBUG definedStefan Roese
As DEBUG is no Kconfig symbol, we can't use the IS_ENABLED() macros. This patch switches to the unfortunately necessary #ifdef usage again to make it work correctly. Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: cvmx-bootmem: Fix compare in "if" statementStefan Roese
While porting from the Marvell source, I introduced a bug by misplacing the parenthesis. This patch fixes this issue. Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Move CVMX_SYNC from octeon_ddr.h to cvmx-regs.hStefan Roese
This makes is easier to use this macro from non-DDR related files. Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: mrvl, cn73xx.dtsi: Add PCIe controller DT nodeStefan Roese
This patch adds the PCIe controller node to the MIPS Octeon 73xx dtsi file. Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Kconfig: Enable CONFIG_SYS_PCI_64BITStefan Roese
Setting CONFIG_SYS_PCI_64BIT is needed for correct PCIe functionality on MIPS Octeon. Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Makefile: Enable building of the newly added C filesStefan Roese
This patch adds the newly added C files to the Makefile to enable compilation. This is done in a separate step, to not introduce build breakage while adding the single files with potentially missing externals. Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add octeon_qlm.cAaron Williams
Import octeon_qlm.c from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add octeon_fdt.cAaron Williams
Import octeon_fdt.c from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-qlm.cAaron Williams
Import cvmx-qlm.c from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pcie.cAaron Williams
Import cvmx-pcie.c from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-helper.cAaron Williams
Import cvmx-helper.c from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-helper-util.cAaron Williams
Import cvmx-helper-util.c from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-helper-jtag.cAaron Williams
Import cvmx-helper-jtag.c from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-helper-fdt.cAaron Williams
Import cvmx-helper-fdt.c from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-helper-cfg.cAaron Williams
Import cvmx-helper-cfg.c from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Move cvmx-lmcx-defs.h from mach/cvmx to machStefan Roese
To match all other cvmx-* header, this patch moves the already existing cvmx-lmcx-defs.h header one directory up. Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Misc changes required because of the newly added headersStefan Roese
With the newly added headers and their restructuring (which macro is defined where), some changes in the already existing Octeon files are necessary. This patch makes the necessary changes. Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add misc remaining header filesAaron Williams
Import misc remaining header files from 2013 U-Boot. These will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2021-04-28mips: octeon: Add cvmx-sso-defs.h header fileAaron Williams
Import cvmx-sso-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-sriox-defs.h header fileAaron Williams
Import cvmx-sriox-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-sriomaintx-defs.h header fileAaron Williams
Import cvmx-sriomaintx-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-smix-defs.h header fileAaron Williams
Import cvmx-smix-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-sli-defs.h header fileAaron Williams
Import cvmx-sli-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-sata-defs.h header fileAaron Williams
Import cvmx-sata-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-rst-defs.h header fileAaron Williams
Import cvmx-rst-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pow-defs.h header fileAaron Williams
Import cvmx-pow-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pko-defs.h header fileAaron Williams
Import cvmx-pko-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pki-defs.h header fileAaron Williams
Import cvmx-pki-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pip-defs.h header fileAaron Williams
Import cvmx-pip-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pepx-defs.h header fileAaron Williams
Import cvmx-pepx-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pemx-defs.h header fileAaron Williams
Import cvmx-pemx-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pcsx-defs.h header fileAaron Williams
Import cvmx-pcsx-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pciercx-defs.h header fileAaron Williams
Import cvmx-pciercx-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-pcieepx-defs.h header fileAaron Williams
Import cvmx-pcieepx-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-npi-defs.h header fileAaron Williams
Import cvmx-npi-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-mio-defs.h header fileAaron Williams
Import cvmx-mio-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2021-04-28mips: octeon: Add cvmx-l2c-defs.h header fileAaron Williams
Import cvmx-l2c-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <[email protected]> Signed-off-by: Stefan Roese <[email protected]>