summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2020-06-17imx: mx7: fix DDRC size in A7-M4 mapping tableIgor Opaniuk
According to i.MX 7Solo Applications Processor Reference Manual, 2.1.3 Cortex-M4 Memory Map, M4 can address only 1536MB of DDRC (Start Address: 8000_0000; End Address: DFFF_FFFF). Correct DDRC size to 60000000. Relates-to: ELB-2806 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-12-23mach-imx: bootaux: elf firmware supportVerdin-iMX8MM_Console-Image_3.0b3.118-20200101Colibri-iMX8X_Console-Image_3.0b3.118-20200101Colibri-iMX7_Console-Image_3.0b3.118-20200101Colibri-iMX7-eMMC_Console-Image_3.0b3.118-20200101Colibri-iMX6_Console-Image_3.0b3.118-20200101Colibri-iMX6ULL_Console-Image_3.0b3.118-20200101Apalis-iMX8_Console-Image_3.0b3.118-20200101Apalis-iMX8X_Console-Image_3.0b3.118-20191231Apalis-iMX6_Console-Image_3.0b3.118-20191231Apalis-TK1_Console-Image_3.0b3.118-20191231Apalis-TK1-Mainline_Console-Image_3.0b3.118-20200101Igor Opaniuk
Currently imx-specific bootaux command doesn't support ELF format firmware for Cortex-M4 core. This patches introduces a PoC implementation of handling elf firmware (load_elf_image_phdr() was copy-pasted from elf.c just for PoC). This has the advantage that the user does not need to know to which address the binary has been linked to. However, in order to handle and load the elf sections to the right address, we need to translate the Cortex-M4 core memory addresses to primary/host CPU memory addresses (Cortex A7/A9 cores). This allows to boot firmwares from any location with just using bootaux, e.g.: > tftp ${loadaddr} hello_world.elf && bootaux ${loadaddr} Similar translation table can be found in the Linux remoteproc driver [1]. [1] https://elixir.bootlin.com/linux/latest/source/drivers/remoteproc/imx_rproc.c Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> (submitted upstream https://patchwork.ozlabs.org/patch/1202074/)
2019-12-23mach-imx: bootaux: add dcache flushing before enabling M4Igor Opaniuk
This patch fixes the issue with broken bootaux command, when M4 binary is loaded and data cache isn't flushed before M4 core is enabled. Reproducing: Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> (submitted upstream https://patchwork.ozlabs.org/patch/1202073/)
2019-12-23mach-imx: bootaux: print stack pointer and reset vectorIgor Opaniuk
1. Change information printed about loaded M4 binary, print the stack pointer and reset vector addressed. 2. Add sanity check for the address provided as param. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> (submitted upstream https://patchwork.ozlabs.org/patch/1202072/)
2019-12-23board: colibri_imx7: reserve DDR memory for Cortex-M4Igor Opaniuk
i.MX 7's Cortex-M4 core can run from DDR and uses DDR memory for the rpmsg communication. Both use cases need a fixed location of memory reserved. For the rpmsg use case the reserved area needs to be in sync with the kernel's hardcoded vring descriptor location. Use the linux,usable-memory property to carve out 1MB of memory in case the M4 core is running. Also make sure that the i.MX 7 specific rpmsg driver does not get loaded in case we do not carve out memory. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> (cherry picked from commit c671d8af0bb07b028d808b994b83b2ec25578a44)
2019-12-18ARM: dts: imx6ull-colibri: pre-reloc for uart pinmux modesIgor Opaniuk
Add u-boot,dm-pre-reloc properties for uart pinmux configuration nodes, which enables UART as early as possible (before relocation). Without this we miss almost the half of output (U-boot version, CPU defails, Reset cause, DRAM details etc.). Fixes: cd69e8ef9b ("colibri-imx6ull: migrate pinctrl and regulators to dtb/dm") Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> (cherry picked from commit 6b4339d312b716a8a01d244110ee76b7bc92b2c2)
2019-12-18ARM: dts: imx6ull-colibri: change hierarchy of DTS filesIgor Opaniuk
Introduce imx6ull-colibri-u-boot.dtsi for u-boot specific properties to keep original imx6ull-colibri.dts in sync with Linux. Move all contents of imx6ull-colibri.dts to imx6ull-colibri.dtsi + additionally fix checkpatch warnings. Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> (cherry picked from commit 7d6ca12313377bad4ceafc3fa1da414d101f6b77)
2019-08-16apalis-tk1: support v1.2 hardware revisionMarcel Ziswiler
Support the V1.2 hardware revision with the following pin muxing changes: Ddc_scl_pv4 and ddc_sda_pv5 previously used as Apalis GPIO3 and GPIO4 are now used as DDC pins. Gen2_i2c_scl_pt5 and gen2_i2c_sda_pt6 previously used as DDC pins are now used as USB power enable signals. Usb_vbus_en0_pn4 and usb_vbus_en1_pn5 previously used as USB power enable signals are now used as GPIO3 and GPIO4. Additionally a new device tree file tegra124-apalis-v1.2-eval.dtb is loaded on V1.2 and later modules and resp. USB power enable signals activated. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Signed-off-by: Tom Warren <twarren@nvidia.com> (cherry picked from commit 4c63a601b90db131e92d3f6f6da6a4bc2b287df1)
2019-08-16apalis-tk1: remove non-essential power rails on bootDominik Sliwa
When mainline kernels reboot TK1 they use SW_RESET, that reset mode does not reset PMIC. Some rails need to be off for RAM Re-repair to work correctly. Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Signed-off-by: Tom Warren <twarren@nvidia.com> (cherry picked from commit 5a20adf446bc248a8db02f6d262b43b14587812d)
2019-08-16apalis-tk1/t30: colibri_t30: display reset reasonDominik Sliwa
Display proper reset reason after the SoC info. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Signed-off-by: Tom Warren <twarren@nvidia.com> (cherry picked from commit fbcb9256549453b6e81a9a01ef6475b452c9f1ed)
2019-07-09ARM: dts: colibri-imx6ull: extend lcdif nodeIgor Opaniuk
Provide proper display timings for lcdif node, used by mxsfb DM_VIDEO enabled framebuffer driver. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-07-09colibri-imx6ull: support building with DM_VIDEO=yIgor Opaniuk
1. This fixes linking issues when building with DM_VIDEO enabled mxsfb driver. 2. Provide proper defines for both VIDEO=y and DM_VIDEO=y. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-07-09ARM: dts: colibri_imx7: Fix lcdif node definitionIgor Opaniuk
Fix lcdif DT node and make it conform to the structure defined in the Linux devicetree bindings [1]. Currently there is support only for old style lcdif node definitions. [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/display/mxsfb.txt Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-07-09ARM: dts: colibri_vf: Add dcu0 nodeIgor Opaniuk
Add dumb node for NXP Display Control Unit0(DCU), which permits DM_ENABLED converted driver to be probed. Currently no display timings are provided in this node. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-07-09imx8: cpu: fix warning for cpu_imx_get_tempIgor Opaniuk
cpu_imx_get_temp() definition is wrapped with a ifdef macro, which leads to warnings if CONFIG_IMX_SCU_THERMAL isn't defined and there are still references to this function, as, for example, in cpu_imx_get_desc(). Drop ifdef as linker will automatically remove the function in case CONFIG_IMX_SCU_THERMAL is not enabled. Fix warning: arch/arm/mach-imx/imx8/cpu.c: In function ‘cpu_imx_get_desc’: arch/arm/mach-imx/imx8/cpu.c:612:40: warning: implicit declaration of function ‘cpu_imx_get_temp’; did you mean ‘cpu_imx_get_desc’? [-Wimplicit-function-declaration] ret = snprintf(buf, size, " at %dC", cpu_imx_get_temp()); ^~~~~~~~~~~~~~~~ cpu_imx_get_desc cpu_imx_get_desc Fixes: 82467cb217 ("imx8: cpu: get temperature when print cpu desc") Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-07-09MLK-16560-1: imx8: Configure sids based on iommu properties in dtbYe Li
Use streamids specified in dtb because they need to match anyway. This removes the need to rebuild uboot for stream id assignments. Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> Acked-by: Peng Fan <peng.fan@nxp.com> (cherry picked from downstream commit 3caa05e6dc973b8710642f27f834bf022fbb65b4)
2019-07-09MLK-16087 imx8qm/qxp: Disable kernel FDT nodes for the resources are not ownedYe Li
Before starting the kernel, need to check if the enabled nodes (resources) in FDT are owned by current partition. If it is not owned, need to disable it because A core can't access it. We use the node's power-domain property to get the PD node which has the SCFW resource id in its reg property. Then we can check it with SCFW. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from downstream commit 358372674b29685788a4007b0944ab03b7fafc13)
2019-07-09MLK-14938-8 imx8: Add SMMU setup to Soc codesYe Li
We setup SMMU in arch_preboot_os to avoid breaking u-boot driver. Add a kconfig entry CONFIG_IMX_SMMU to enable it. So far, the USDHC0-USDHC1 and FEC0-FEC1 are added into sid. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from downstream commit 7da6345919ee59a26cf65b4bc29072eea2fc0909) (cherry picked from downstream commit 45308e7da90f342c2de7fbec1f8c5b8bd3f1b8e5)
2019-07-09misc: imx8: add sc_rm_set_master_sidMarcel Ziswiler
Add sc_rm_set_master_sid to support setting stream IDs. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-07-09imx: imx8dx/qxp: enable thermalPeng Fan
Add thermal dts node Enable thermal in defconfig Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-07-09misc: imx8: add sc_misc_get_tempPeng Fan
Add sc_misc_get_temp to support get temperature Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-07-08Merge tag 'mips-fixes-for-2019.07' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-mips - mtmips: network stability fixes for gardena-smart-gateway
2019-07-07arm: mediatek: remove arch_misc_initWeijie Gao
The watchdog of mediatek chips is enabled by bootrom before u-boot is running. Previously we choose to enable the wdt driver only to disable the watchdog hardware. Now wdt service is enabled by default. The function arch_misc_init which is only used to disable wdt is no longer needed. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2019-07-07Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usbTom Rini
- DWC and i.MX6 fixes
2019-07-07Merge tag 'rockchip-for-v2019.07-rc5-3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip
2019-07-05Merge tag 'rpi-next-2019.07' of https://github.com/mbgg/u-bootTom Rini
- fix complation error for CONFIG_USB - update RPi3 DTBs to v5.1-rc6 state - add defconfig for RPi3 B+ - Fix BCM2835_MBOX_TAG_TEST_PIXEL_ORDER define
2019-07-05mips: mt76xx: Implement new d-cache fix in last_stage_init()Stefan Roese
With commit 06985289d452 ("watchdog: Implement generic watchdog_reset() version") the init sequence has changed in arch_misc_init(), resulting in a re-appearance of the d-cache issue on MT7688 boards (e.g. gardena). When this happens, the first (or sometimes later ones as well) TFTP command hangs and does not complete correctly. This leads to the assumption that the d-cache is not in a clean state once the ethernet driver is called (d-cache is used here for the buffers). The old work- around with the cache flush somehow does not work any more now with the new code change. Unfortunately adding CONFIG_SYS_MALLOC_CLEAR_ON_INIT also did not fix this issue. With v2019.07-rc3 it shows again. The time of accessing the data seems to be very important here. It needs to be "very late" in the boot process. Testing has shown, that copying a 64KiB area in DDR at a very late bootup time, directly before calling into the prompt, fixes this issue. Flushing of the complete d-cache does not seem to necessary, as this copy alone seems to fix this problem. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2019-07-05dm: Add a No-op uclassJean-Jacques Hiblot
This uclass is intended for devices that do not need any features from the uclass, including binding children. This will typically be used by devices that are used to bind child devices but do not use dm_scan_fdt_dev() to do it. That is for example the case of several USB wrappers that have 2 child devices (1 for device and 1 for host) but bind only one at a any given time. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-07-05rockchip: make_fit_atf.py: fix loadables property set errorAndy Yan
Commit b238e4b00ced ("rockchip: Cleanup of make_fit_atf.py.") set firmware = "atf_1"; loadables = "uboot","atf_1","atf_2"; Actually it should be: firmware = "atf_1"; loadables = "uboot","atf_2","atf_3"; Signed-off-by: Andy Yan <andy.yan@rock-chips.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-04wandboard: Add FIT image supportFabio Estevam
After the transition to DM, only the mx6dl/solo wandboard is supported. Add FIT image support so that all the wandboard variants can be supported, like it was prior to the DM conversion. Successfully booted Linux on mx6q/solo/qp wandboards. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-07-04wandboard: Add mmc0 aliasFabio Estevam
Add a mmc0 alias so that U-Boot proper can associate mmc0 with the boot SD card. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-07-04wandboard: Import extra wandboard devicetree filesFabio Estevam
Import wandboard devicetree files so that the mx6q and mx6qp variants can be properly supported. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-07-04wandboard: Sync with devicetree files from kernel 5.1.9Fabio Estevam
Udate the wandboard devicetree files with the ones from kernel 5.1.9. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-07-04mx6: dts: Move dtbs under SoC levelFabio Estevam
Place dtbs under SoC level rather than board level. imx6q-novena.dtb and imx6dl-wandboard-revb1.dtb were placed under the board config option, so move them to SoC level. This also aligns with the kernel dts Makefile format. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-07-04mx6: dts: Keep dtb entries sortedFabio Estevam
Keep dtb entries sorted to help adding new dtbs in an organized form. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-07-02rockchip: rk3288: enable TPL for tinker-boardKever Yang
All the config for TPL has been update, we can enable the TPL. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-02rockchip: dts: rk3288-tinker: enable sdmmc pinctrl node in splKever Yang
rockchip pinctrl driver has update to use dts, so we need to add the pinctrl config in SPL for sdmmc. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-02rockchip: dts: tinker: migrate the dm-pre-reloc tag into -u-boot dtsKever Yang
Migrate all the "u-boot,dm-pre-reloc" tag from rk3288-tinker.dts into rk3288-tinker-u-boot.dtsi. When both board level and soc level '-u-boot.dtsi' files exist, we need to include the soc level 'rk3288-u-boot.dtsi' manually. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-02rockchip: dts: rk3288: move reloc tag into -u-boot dtsKever Yang
Move all the tag "u-boot,dm-pre-reloc" from rk3288.dtsi into rk3288-u-boot.dtsi. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-02rockchip: rk3288: add separate TPL STACK addressKever Yang
TPL is at SRAM while other stage is at SDRAM, so it needs separate STACK. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2019-07-02rockchip: rk3288: enable TPL configs to chip levelKever Yang
More boards other than vyasa needs TPL, so enable the TPL configs at chip level instead of board level. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-02rockchip: dts: rk3399: rockpro64: Provide init voltageMark Kettenis
Add missing regulator-init-microvolt property to vdd_log regulator. Signed-off-by: Mark Kettenis <kettenis@openbsd.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> (Rebase on latest u-boot-rockchip master) Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Change-Id: I13b24fb81e8ad269d7dbb0c7b67f5f4795d2e775
2019-06-29ARM: uniphier: move sg_set_{pinsel, iectrl} to more relevant placesMasahiro Yamada
Move the sg_set_pinsel macro to arch/arm/mach-uniphier/arm32/debug_ll.S since it is not used anywhere else. Move the C functions sg_set_{pinsel,iectrl} to debug-uart.c since they are not used anywhere else. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2019-06-29ARM: uniphier: remove unused init code for CONFIG_DEBUG_UARTMasahiro Yamada
debug_uart_init() is called from spl_board_init(), which is only compiled for SPL. For U-boot proper, _debug_uart_init() is unreachable, so dropped by the dead code elimination. Now that 64-bit SoCs of this SoC family no longer support SPL, debug-uart-ld20.c is never compiled. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2019-06-29ARM: uniphier: include <linux/io.h> from dram_init.cMasahiro Yamada
This file calls readl(), so needs to include <linux/io.h>. Currently, it relies on someone else including it. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2019-06-29ARM: uniphier: remove unused sg_set_iectrl_range()Masahiro Yamada
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2019-06-29ARM: uniphier: remove unused SC_DPLLOSCCTRLMasahiro Yamada
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2019-06-29ARM: uniphier: fix build error for CONFIG_DEBUG_LL=yMasahiro Yamada
Commit e27d6c7d328c ("ARM: uniphier: simplify SoC ID get function") accidentally removed the macros needed to compile debug_ll.S Revive them. Fixes: e27d6c7d328c ("ARM: uniphier: simplify SoC ID get function") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2019-06-28Merge tag 'u-boot-imx-20190628' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx Fixes for 2019.07 - menlo board - allow SDB on Sabre - HAB for mx6sl - apalis board
2019-06-28Merge tag 'u-boot-stm32-20190628' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-stm STM32 MCU fixes/cleanup: - Fix SPL console for STM32F769 Discovery - Fix Memory Protection Unit size for STM32F4 series - Cleanup DT for STM32F746 Discovery