summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2022-04-27Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xxTom Rini
fsl-qoriq: Fixes and updates on fsl-layerscape mpc85xx: fixes and code cleanup
2022-04-27Merge tag 'u-boot-amlogic-20220427' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-amlogic - Add AXG support for SARADC, including minimal ao-clk driver - Update Amlogic documentation for Matrix & Jethub D1
2022-04-26pci: fsl: Change compatible string for mpc8548 to "fsl, mpc8548-pcie"Pali Rohár
Upstream Linux kernel uses for mpc8548-based PCIe controllers compatible string "fsl,mpc8548-pcie". So change U-Boot fsl PCIe driver and all DTS files to use "fsl,mpc8548-pcie" instead of "fsl,pcie-mpc8548" to be compatible with Linux kernel. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Set dfsrr property for i2c nodesPali Rohár
Linux kernel dts files pq3-i2c-*.dtsi also sets this dfsrr property for i2c nodes. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Define L2 cache nodePali Rohár
Copy definition of L2 cache node from upstream Linux kernel P2020 dts files. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Make usb@22000 node compatible for Linux kernel driverPali Rohár
Linux P2020 USB kernel driver uses compatible string fsl-usb2-dr-v1.6 and needs more DT properties. Copy P2020 usb@22000 properties from upstream Linux kernel. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Add missing interrupts property to spi@7000 nodePali Rohár
interrupts property for spi@7000 node is needed for compatibility with Linux kernel. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Do not automatically disable spi@7000 node in ↵Pali Rohár
p2020-post.dtsi Device tree include file p2020-post.dtsi should be included after the board device tree file and overrides settings of the board. So it should not disable some node as board cannot enable it via normal way (it has to enable it after inclusion of p2020-post.dtsi file). Fix it by removal of explicit disable in p2020-post.dtsi file and then remove explicit post-post enable in all P2020 board device tree files. Currently no P2020 board has spi@7000 node disabled. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Add Linux compatible string and property for eSDHCPali Rohár
Linux kernel eSDHC driver for P2020 requires additional compatible string fsl,p2020-esdhc and interrupts property. Add them to p2020-post.dtsi file to make U-Boot board DTS files compatible for Linux kernel. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Add ptp_clock@24e00 node via pq3-etsec1-timer-0.dtsiPali Rohár
Import pq3-etsec1-timer-0.dtsi device tree include file from upstream Linux kernel for P2020. This allows U-Boot to use P2020 device tree files from upstream Linux kernel which reference ptp_clock@24e00 device. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Make PCIe nodes compatible for Linux kernel driverPali Rohár
Linux P2020 PCIe kernel driver uses compatible string fsl,mpc8548-pcie and needs more DT properties. Copy P2020 PCIe nodes and definitions from upstream Linux kernel. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Add gpio-controller@fc00 node via pq3-gpio-0.dtsiPali Rohár
Import pq3-gpio-0.dtsi device tree include file from upstream Linux kernel for P2020. This allows U-Boot to use P2020 device tree files from upstream Linux kernel which reference gpio-controller@fc00 device. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: mpc85xx: Define linker sections in ascending orderPali Rohár
It is too confusing if sections are defined in non-ascending order. Also linker has to go backward and then again forward when generating final binary. To make future changes easier, define all linker sections in ascending order. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: mpc85xx: Put bss after image when not including reset vectorPali Rohár
Linker knows exact size of the image, so there is no need to use CONFIG_SYS_MONITOR_LEN macro (which should be upper limit). Remove usage of CONFIG_SYS_MONITOR_LEN macro to simplify setup. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: mpc85xx: Remove useless SIZEOF_HEADERS and .interp from ld scriptPali Rohár
.interp section is not available in output ELF binary and SIZEOF_HEADERS is needed at all. There is no change in generated u-boot.bin binary. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: mpc85xx: Remove duplicate u-boot-nand.ldsPali Rohár
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: mpc85xx: Remove u-boot-nand_spl.ldsPali Rohár
mpc85xx SPL NAND linker script u-boot-nand_spl.lds is not used since Jun 2014 commit 0234446fd171 ("nand_spl: remove MPC8536DS support"). Remove it. Signed-off-by: Pali Rohár <pali@kernel.org> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: mpc85xx: Fix CONFIG_OF_SEPARATE supportPali Rohár
Currently CONFIG_OF_SEPARATE is completely broken and U-Boot for some mpc85xx board (e.g. P2020) has to be compiled with CONFIG_OF_EMBED. Otherwise it crashes during early init. When debug console is enabled and all debug logging options are turned on then U-Boot on P2020 with CONFIG_OF_SEPARATE prints following error: No valid device tree binary found at 110dc300 initcall sequence 110d3560 failed at call 1109535c (err=-1) ### ERROR ### Please RESET the board ### Problem is with appended DTB. When CONFIG_SYS_MPC85XX_NO_RESETVEC is set U-Boot binary image without DTB ends immediately after the .u_boot_list section. At this position is defined _end symbol at which U-Boot expects start of the appended DTB. Problem is that after .u_boot_list section are in linker script defined another sections with 256 byte long padding which are completely empty. During conversion of U-Boot ELF binary to RAW binary u-boot-nodtb.bin, objcopy removes trailing zero padding and therefore DTB is appended at wrong position. Changing alignment from 256 bytes to 4 bytes fixes this issue. And appended DTB is finally at he correct position. With this fix U-Boot on P2020 with CONFIG_OF_SEPARATE option starts working again. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p1020/p2020: Fix esdhc node namePali Rohár
For compatibility with Linux kernel DTS files and also with other U-Boot powerpc DTS files, rename esdhc@2e000 node to sdhc@2e000 in p1020-post.dtsi and p2020-post.dtsi include files. Linux kernel DTS files which include these dtsi files, expect that esdhc node has name sdhc@2e000 and do not work with other node names. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Add localbus nodePali Rohár
This node is required for NAND and NOR support. Node is taken from the upstream Linux kernel DTS file. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Add serial0 and serial1 via pq3-duart-0.dtsiPali Rohár
Import pq3-duart-0.dtsi device tree include file from upstream Linux kernel for P2020. This allows U-Boot to use P2020 device tree files from upstream Linux kernel which reference serial0 or serial1 devices. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: dts: p2020: Add fsl/p2020si-pre.dtsi and fsl/p2020si-post.dtsi symlinksPali Rohár
P2020 DTS files in upstream Linux kernel use fsl/p2020si-pre.dtsi and fsl/p2020si-post.dtsi include device tree files. Add symlinks for these include device tree files into U-Boot powerpc directory and points them to U-Boot inline device tree files p2020.dtsi and p2020-post.dtsi. This allows to use P2020 DTS files from upstream Linux kernel in U-Boot. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: mpc85xx: Show e500 core versionPali Rohár
Distinguish between e500v1 and e500v2. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: mpc85xx: Rename _start_e500 symbol to _startPali Rohár
The real entry point is _start_e500. There is no _start symbol at all. So rename _start_e500 to _start for convension that _start symbol is used as entry point. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26powerpc: mpc85xx: Drop _start symbolPali Rohár
_start symbol contains only 32-bit data number 0x27051956 despite it is marked as text section. This magic number is IH_MAGIC which is used for marking uboot image header. mpc85xx start.S code does not define valid uboot image header, so IH_MAGIC number in _start symbol is useless there. Moreover this _start symbol is not used at all. Entry point is at symbol _start_e500. So because this _start symbol is not used for anything, completely remove it with IH_MAGIC number. After _start symbol was _start_cont symbol, so replace all relative address calculations by _start_cont. Signed-off-by: Pali Rohár <pali@kernel.org> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26armv8/fsl-lsch3: Suppress spurious warning on Layerscape CPUsStephen Carlson
NXP/Freescale Layerscape CPUs support high-speed serial interfaces (SERDES) that can be configured for the application. Interfaces not used by the application can be set to protocol 0 to turn them off and save power, but U-Boot would emit a warning that 0 was invalid for a SERDES protocol on boot. Replace the warning text with a notice that the SERDES is disabled. Signed-off-by: Stephen Carlson <stcarlso@linux.microsoft.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26armv8: layerscape: fix the function mismatch issueYuantian Tang
Signed-off-by: Yuantian Tang <andy.tang@nxp.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26armv8: psci: add ARMV8_PSCI_RELOCATE Kconfig optionMichael Walle
There is an user-selectable SYS_HAS_ARMV8_SECURE_BASE, which has the same meaning but is just for the ls1043ardb board. As no in-tree config uses this, drop it and replace it with something more sophiticated: ARMV8_PSCI_RELOCATE. This option will then enable the ARMV8_SECURE_BASE option which is used as the base to relocate the PSCI code (or any code in the secure region, but that is only PSCI). A SoC (or board) can now opt-in into having such a secure region by enabling SYS_HAS_ARMV8_SECURE_BASE. Enable it for the LS1043A SoC, where it was possible to relocate the PSCI code before as well as on the LS1028A SoC where there will be PSCI support soon. Additionally, make ARMV8_PSCI and SEC_FIRMWARE_ARMV8_PSCI exclusive. Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26armv8: psci: skip setup code if we are not EL3Michael Walle
If we are running in EL2 skip PSCI implementation setup. This avoids an exception if CONFIG_ARMV8_PSCI is set, but u-boot is started by TF-A. Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26armv8: layerscape: get rid of smc_call()Michael Walle
There are two different implementations to do a secure monitor call: smc_call() and arm_smccc_smc(). The former is defined in fwcall.c and seems to be an ad-hoc implementation. The latter is imported from linux. smc_call() is also only available if CONFIG_ARMV8_PSCI is not defined. This makes it impossible to have both PSCI calls and PSCI implementation in one u-boot build. The layerscape SoC code decide at runtime via check_psci() if there is a PSCI support. Therefore, this is a prerequisite patch to add PSCI implementation support for the layerscape SoCs. Note, for the TFA part, this is only compile time tested with (ls1028ardb_tfa_defconfig). Signed-off-by: Michael Walle <michael@walle.cc> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26armv8: include psci_update_dt() unconditionallyMichael Walle
psci_update_dt() is also required if CONFIG_ARMV8_PSCI is set, that is, if u-boot is the PSCI provider. Guard the check which is intended to call into the PSCI implementation in the secure firmware, by the proper macro SEC_FIRMWARE_ARMV8_PSCI. Mark the function as weak because - unfortunately - there is already a stub of the same function in arch/arm/mach-rmobile/psci-r8a779a0.c which does not the same as the common one. Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26arm: layerscape: Disable erratum A009007 on LS1021A, LS1043A, and LS1046ASean Anderson
This erratum is reported to cause problems on these processors [1-3]. The problem is usually with the clocking, which is supposed to be configured by the RCW [4]. However, if it is not set, or if the default clocking is not correct, then this erratum will cause an SError. However, according to Ran Wang in [1]: " ... this erratum is used to pass USB compliance test only, you could disable this workaround on your board if you don't any USB issue on normal use case, I think it's fine." So just disable this erratum by default for these processors. [1] https://lore.kernel.org/all/761ddd61-05c1-d9b8-ac90-b8f425afde6c@denx.de/ [2] https://community.nxp.com/t5/Layerscape/LS1046A-U-BOOT-HALT-AT-ERRATUM-A0090078/m-p/742993 [3] https://community.nxp.com/t5/QorIQ/Why-does-the-LS1043A-U-Boot-hang-at-code-that-fixes-erratum/m-p/644412 [4] https://source.codeaurora.org/external/qoriq/qoriq-components/rcw/tree/ls1046ardb/usb_phy_freq.rcw Signed-off-by: Sean Anderson <sean.anderson@seco.com> Acked-by: Ran Wang <ran.wang_1@nxp.com> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-26ARM: dts: at91: sama7g5ek: Align the impedance of the QSPI0's HSIO and PCB linesTudor Ambarus
The impedance of the QSPI PCB lines on the sama7g5ek is 50 Ohms. Align the output impedance of the QSPI0 HSIOs by setting a medium drive strength which corresponds to an impedance of 56 Ohms when VDD is in the 3.0V - 3.6V range. The high drive strength setting corresponds to an output impedance of 42 Ohms on the QSPI0 HSIOs. This is just a fine tunning. The memory that we have populated on sama7g5ek works fine even with high drive strength, but it's better to adjust it and use medium instead, in case some other flashes with higher frequencies are tested. Suggested-by: Mihai Sain <mihai.sain@microchip.com> Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
2022-04-26ARM: dts: at91: sama7g5: Fix QSPI1 clockTudor Ambarus
QSPI1 used the clock of QSPI0, fix it. Fixes: 5eecc37bb1 ("ARM: dts: at91: sama7g5: Add QSPI0 and OSPI1 nodes") Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
2022-04-26ARM: dts: sam9x60: Add pit64b nodeDurai Manickam KR
Add DT node for pit64b support. Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
2022-04-26ARM: mach-at91: armv7: Remove default reset driverSergiu Moga
This commit removes the default reset driver for armv7, since it is no longer needed due to the presence of the SYSRESET driver. Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
2022-04-26ARM: mach-at91: arm926ejs: Add SYSRESET conditionalSergiu Moga
This commit adds a condition to the Makefile so that whenever the SYSRESET option is chosen in the configuration, the default reset driver is ignored. Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
2022-04-26ARM: dts: at91: Add RSTC nodeSergiu Moga
Add node for RSTC. Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
2022-04-26ARM: dts: Add device tree files for sam9x60_curiosityDurai Manickam KR
Add dts and dtsi files. Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
2022-04-26board: Add sam9x60_curiosity supportDurai Manickam KR
Add board files, Kconfig, Makefile and MAINTAINERS. Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
2022-04-25nds32: Remove the architectureTom Rini
As removal of nds32 has been ack'd for the Linux kernel, remove support here as well. Cc: Rick Chen <rick@andestech.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Rick Chen <rick@andestech.com>
2022-04-25bootstd: Add tests for bootstd including all uclassesSimon Glass
Add a set of combined tests for the bootdev, bootflow and bootmeth commands, along with associated functionality. Expand the sandbox console-recording limit so that these can work. These tests rely on a filesystem script which is not yet added to the Python tests. It is included here as a shell script. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-04-25bootstd: sandbox: Add a hostfs bootdevSimon Glass
It is helpful to be able to try out bootstd on sandbox, using host files. This is easier than using a block device, which must have a filesystem, partition table, etc. Add a new driver which provides this feature. For now it is not used in tests, but it is likely to be useful. Add notes in the devicetree also, but don't disturb the tests. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-04-25board: amlogic: jethub j100: enable saradc in dtsVyacheslav Bocharov
Prepare to use ADC channel 1 to check the hardware revision of the board: - add u-boot dts include with saradc node Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Link: https://lore.kernel.org/r/20220424082159.757622-6-adeep@lexina.in
2022-04-25armv8: fsl-layerscape: Respect Kconfig for erratum A009007Sean Anderson
There is a Kconfig for this erratum, but it is ignored for armv8. Respect it. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-04-22arm: apple: Point stdout-path to framebuffer when keyboard presentMark Kettenis
Unless you have a spare Apple Silicon machine, getting access to the serial port on Apple Silicon machines requires special hardware. Given that most machines come with a built-in screen the framebuffer is likely to be the most convenient output device for most users. While U-Boot will output to both serial and framebuffer, OSes might not. Therefore set stdout-path to point at /chosen/framebuffer when a keyboard is connected to the machine. This behaviour can be overridden by setting the "stdout" variable in the U-Boot environment. I addition to that keep the serial console as the default when running under the m1n1 hypervisor. The m1n1 hypervisor virtualizes the serial port such that it can be easily accessed from any other machine with a USB port. Signed-off-by: Mark Kettenis <kettenis@openbsd.org> Reviewed-by: Janne Grunau <j@jannau.net> Tested-by: Janne Grunau <j@jannau.net>
2022-04-22Merge tag 'u-boot-imx-20220422' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20220422 ------------------- - Switch to DM_SERIAL - Drop MMCROOT - several cleanup CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/11815
2022-04-21arm: set cntfrq_el0 if CONFIG_COUNTER_FREQUENCY is validPeng Fan
Since COUNTER_FREQUENCY is obselete, so set cntfrq_el0 if CONFIG_COUNTER_FREQUENCY is valid Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
2022-04-21include/configs: drop COUNTER_FREQUENCYPeng Fan
Since we have CONFIG_COUNTER_FREQUENCY enabled, no need COUNTER_FREQUENCY Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-04-21arch: arm: Kconfig: set default COUNTER_FREQUENCYPeng Fan
Set default COUNTER_FREQUENCY according to config header file under include/configs/ i.MX6UL/ULL/7D/8QM/8QXP all has system counter frequency run at 8MHz, so set default value for them. SUNXI/EXYNOS/ROCKCHIP_RK3128/ROCKCHIP_RK3288/ROCKCHIP_RK322X/ROCKCHIP_RK3036 at 24MHz. ARCH_LX2160A at 25MHz ARCH_ZYNQMP at 100MHz