summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86WIP/04May2020Tom Rini2020-05-0416-42/+183
|\ | | | | | | - Support 64-bit U-Boot as the payload for coreboot x86
| * x86: Add a 64-bit 'coreboot64' buildSimon Glass2020-05-043-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Coreboot is a first-stage bootloader mostly used on x86 devices as an alternative to UEFI. Coreboot runs in 32-bit mode. U-Boot currently supports booting from coreboot as a second-stage bootloader, also in 32-bit mode. However it is useful to be able to run U-Boot in 64-bit mode. To do this we can have a 32-bit SPL which switches over the CPU and jumps to a 64-bit U-Boot proper. Add a new 'coreboot64' board for running 64-bit U-Boot from coreboot. This uses binman to create an image with a 32-bit SPL and a 64-bit U-Boot. This allows running 64-bit EFI images on x86, for example, without needing a native U-Boot port for a board. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
| * cmd: Add an indication of 32/64-bit to bdinfoSimon Glass2020-05-041-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | It is useful to know what mode U-Boot is running in. Add a message at the end of the 'bdinfo' output. Suggested-by: Mark Kettenis <kettenis@openbsd.org> Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: change commit tag to 'cmd' as this is not x86 specific] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
| * x86: coreboot: Allow building an SPL imageSimon Glass2020-05-046-3/+28
| | | | | | | | | | | | | | | | Make a few adjustments to allow us to build an SPL image for coreboot. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
| * x86: Update SPL for corebootSimon Glass2020-05-041-4/+6
| | | | | | | | | | | | | | | | | | At present SPL only works on bare-metal builds. With a few tweaks it can be used for coreboot also. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
| * x86: Move work-around out of cpu_jump_to_64bit_uboot()Simon Glass2020-05-042-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | At present this function copies U-Boot from the last 1MB of ROM. This is not the right way to do it. Instead, the binman symbol should provide the location. But in any case the code should live in the caller, spl_board_load_image(), so that the 64-bit jump function can be used elsewhere. Move it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
| * x86: Allow building an SPL image for corebootSimon Glass2020-05-043-0/+25
| | | | | | | | | | | | | | | | | | | | Coreboot runs in 32-bit mode and cannot run a 64-bit U-Boot. To get around this we can build a combined image with 32-bit SPL and 64-bit U-Boot. Add a build rule and binman definition for this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
| * x86: Move coreboot-table detection to common 32/64-bit codeSimon Glass2020-05-042-25/+26
| | | | | | | | | | | | | | | | | | At present this function is only available in 32-bit code. Move it to the common cpu file so it can be used by 64-bit U-Boot too. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
* | Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvellTom Rini2020-05-042-14/+8
|\ \ | | | | | | | | | - 2 MVEBU related fixes
| * | cmd: mvebu: bubt: fix quoted string split across linesJoel Johnson2020-05-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Update quoted string alignment to address checkpatch.pl warning originally introduced in commit f60a66ef5d7d ("cmd: mvebu: bubt: show image boot device"). Signed-off-by: Joel Johnson <mrjoel@lixil.net> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | arm: dts: uDPU: switch default PHY speed to 3.125GbitJakov Petrina2020-05-041-12/+6
| |/ | | | | | | | | | | | | | | This resolves issues with certain SFP modules. Signed-off-by: Jakov Petrina <jakov.petrina@sartura.hr> Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr> Reviewed-by: Stefan Roese <sr@denx.de>
* | Merge tag 'u-boot-imx-20200502' of ↵Tom Rini2020-05-0481-323/+5731
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-imx i.MX for 2020.07 ---------------- - imxrt: fix LCD clock, fix doc - new board: Coral Dev - imx8: enable Cache in SPL. SNVS, update SCFW API - imx8MM: fix reset, 8MQ quand and QuadLite, CPU speed grading - MX6ULL : is_imx6ull to include i.MX6ULZ - Net: add config to enable TXC delay Travis: https://travis-ci.org/github/sbabic/u-boot-imx/builds/682033914
| * | clk: imx: clk-imxrt1050: fix lcdif clock gateGiulio Benetti2020-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | LCDIF clock gate was wrong so set it according to RM. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Reviewed-by: Fabio Estevam <festevam@gmail.com>
| * | video: mxsfb: add clk_enable()Giulio Benetti2020-05-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | BROM doesn't enable lcdif by default so add clk_enable() after clk_set_rate(). Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Reviewed-by: Fabio Estevam <festevam@gmail.com>
| * | imxrt1020-evk: README: change dd command destinationGiulio Benetti2020-05-011-2/+2
| | | | | | | | | | | | | | | | | | | | | Set dd "of=" to "of=/dev/sdX" to be generic and prevent host hard drive damage. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
| * | imxrt1050-evk: README: change dd command destinationGiulio Benetti2020-05-011-2/+2
| | | | | | | | | | | | | | | | | | | | | Set dd "of=" to "of=/dev/sdX" to be generic and prevent host hard drive damage. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
| * | imx: spl: Fix use of removed SPL_FAT_SUPPORT configHarald Seiler2020-05-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_SPL_FAT_SUPPORT was removed in commit 0c3a9ed409a5 ("spl: Kconfig: Replace CONFIG_SPL_FAT_SUPPORT with CONFIG_SPL_FS_FAT"). Fixup a leftover use of the symbol. Fixes: 9d86dbd9cf9d ("imx: spl: implement spl_boot_mode for i.MX7/8/8M") Signed-off-by: Harald Seiler <hws@denx.de>
| * | imx: spl: Remove ifdefs in spl_mmc_boot_mode()Harald Seiler2020-05-011-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | It is hard to read code which contains nested ifdef blocks. Replace them with normal if-blocks and the IS_ENABLED() macro. This is not only more readable but also helps as both arms are validated by the compiler in all cases. Signed-off-by: Harald Seiler <hws@denx.de>
| * | Revert "imx: defconfig: Enable CONFIG_SPL_FORCE_MMC_BOOT"Harald Seiler2020-05-012-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_SPL_FORCE_MMC_BOOT was removed in a previous patch as its behavior is the correct one in all cases. Remove all uses of it from defconfigs. This reverts commit 3201e5b444ae3a13aa31e8b5101ad38d7ff0640d and removes CONFIG_SPL_FORCE_MMC_BOOT from the imx28_xea defconfig. Signed-off-by: Harald Seiler <hws@denx.de>
| * | Revert "imx: Introduce CONFIG_SPL_FORCE_MMC_BOOT to force MMC boot on falcon ↵Harald Seiler2020-05-012-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mode" The CONFIG_SPL_FORCE_MMC_BOOT config flag is not needed as its behavior is the correct one in all cases; using spl_boot_device() instead of the boot_device parameter will lead to inconsistency issues, for example, when a board_boot_order() is defined. In fact, this is the reason the parameter was introduced in the first place, in commit 2b1cdafa9fdd ("common: Pass the boot device into spl_boot_mode()"). This reverts commit 772b55723bcbe8ebe84f579d9cdc831d8e18579d. Link: https://lists.denx.de/pipermail/u-boot/2020-April/405979.html Signed-off-by: Harald Seiler <hws@denx.de>
| * | imx: spl: return boot mode for asked MMC device in spl_mmc_boot_mode()Anatolij Gustschin2020-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Boards may extend or re-define the boot list in their board_boot_order() function by modifying spl_boot_list. E.g. a board might boot SPL from a slow SPI NOR flash and then load the U-Boot from an eMMC or SD-card. Or it might use additional MMC boot device in spl_boot_list for cases when the image in SPI NOR flash is not found, so it could fall back to eMMC, SD-card or another boot device. Getting the MMC boot mode in spl_mmc will fail when we are trying to boot from an MMC device in the spl_boot_list and the original board boot mode (as returned by spl_boot_device()) is not an MMC boot mode. Fix it by checking the asked MMC boot device from the spl_mmc_boot_mode() argument. Signed-off-by: Anatolij Gustschin <agust@denx.de>
| * | arm: imx: Add support for Google's Coral Dev BoardAlifer Moraes2020-05-0112-0/+2771
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add initial support for Google's Coral Dev Board based on i.MX8MQ. https://coral.ai/products/dev-board The Phanbell naming has been used here to match the naming convention used in Google's U-Boot source tree: https://coral.googlesource.com/uboot-imx/ Co-developed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com> Tested-by: Marco Franchi <marcofrk@gmail.com>
| * | ARM: imx8m: Fix reset in SPL on Toradex iMX8MM VerdinMarek Vasut2020-05-012-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Board files should not re-implement do_reset() to work around this function not being defined in for specific configurations. Rather, the fix is to compile in drivers which implement this properly. This patch enables sysreset and watchdog drivers in SPL and ties them together to implement the same as the do_reset() hack in the board file, except correctly in the DM/DT framework. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Flavio Suligoi <f.suligoi@asem.it> Cc: Harald Seiler <hws@denx.de> Cc: Igor Opaniuk <igor.opaniuk@toradex.com> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> Cc: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Acked-by: Igor Opaniuk <igor.opaniuk@toradex.com> Acked-by: Igor Opaniuk <igor.opaniuk@toradex.com>
| * | ARM: imx8m: Fix reset in SPL on NXP iMX8MP EVKMarek Vasut2020-05-012-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Board files should not re-implement do_reset() to work around this function not being defined in for specific configurations. Rather, the fix is to compile in drivers which implement this properly. This patch enables sysreset and watchdog drivers in SPL and ties them together to implement the same as the do_reset() hack in the board file, except correctly in the DM/DT framework. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Flavio Suligoi <f.suligoi@asem.it> Cc: Harald Seiler <hws@denx.de> Cc: Igor Opaniuk <igor.opaniuk@toradex.com> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> Cc: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
| * | ARM: imx8m: Fix reset in SPL on NXP iMX8MN EVKMarek Vasut2020-05-012-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Board files should not re-implement do_reset() to work around this function not being defined in for specific configurations. Rather, the fix is to compile in drivers which implement this properly. This patch enables sysreset and watchdog drivers in SPL and ties them together to implement the same as the do_reset() hack in the board file, except correctly in the DM/DT framework. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Flavio Suligoi <f.suligoi@asem.it> Cc: Harald Seiler <hws@denx.de> Cc: Igor Opaniuk <igor.opaniuk@toradex.com> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> Cc: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
| * | ARM: imx8m: Fix reset in SPL on NXP iMX8MM EVKMarek Vasut2020-05-012-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Board files should not re-implement do_reset() to work around this function not being defined in for specific configurations. Rather, the fix is to compile in drivers which implement this properly. This patch enables sysreset and watchdog drivers in SPL and ties them together to implement the same as the do_reset() hack in the board file, except correctly in the DM/DT framework. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Flavio Suligoi <f.suligoi@asem.it> Cc: Harald Seiler <hws@denx.de> Cc: Igor Opaniuk <igor.opaniuk@toradex.com> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> Cc: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
| * | ARM: imx8m: Don't use the addr parameter of reset_cpu()Claudius Heine2020-05-011-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | imx8m has the only implementation of reset_cpu() which does not ignore the addr parameter and instead gives it some meaning as the base address of watchdog registers. This breaks convention with the rest of U-Boot where the parameter is ignored and callers are passing in 0. Fixes: d2041725e84b ("imx8m: restrict reset_cpu") Co-developed-by: Harald Seiler <hws@denx.de> Signed-off-by: Harald Seiler <hws@denx.de> Signed-off-by: Claudius Heine <ch@denx.de>
| * | ARM: imx8m: Fix indentation of reset_cpu() functionHarald Seiler2020-05-011-2/+5
| | | | | | | | | | | | | | | | | | Use proper code-style, tabs instead of spaces for indentation. Signed-off-by: Harald Seiler <hws@denx.de>
| * | ARM: imx8m: Do not define do_reset() if sysreset is enabledMarek Vasut2020-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SPL can also be compiled with sysreset drivers just fine, so update the condition to cater for that option. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Flavio Suligoi <f.suligoi@asem.it> Cc: Harald Seiler <hws@denx.de> Cc: Igor Opaniuk <igor.opaniuk@toradex.com> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> Cc: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
| * | dt-bindings: pinctrl: imxrt1020: remove useless commentGiulio Benetti2020-05-011-2/+0
| | | | | | | | | | | | | | | | | | | | | A comment note has been left after completing pinctrl listing, so let's remove it since it's useless. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
| * | ARM: imx: imx8m: Do not warn about cpu-idle-states if missingMarek Vasut2020-05-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the cpu-idle-states is missing from the DT in the first place, do not fail on removing in. Just move on and do not even print an error, since not being able to remove something which is not there in the first place is not an error and surely does not justify failing to boot. Turn the surrounding prints into debugs to reduce the useless noise. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Frieder Schrempf <frieder.schrempf@kontron.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de> Reviewed-by: Fabio Estevam <festevam@gmail.com>
| * | arm: dts: imx8mm: sync dts from Linux Kernel 5.6.7Adam Ford2020-05-011-21/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch synchronizes the device tree with that from 5.6.7. This also adds nodes for crypto and ddrc, which makes keeping the device tree files from individual boards in sync with the Linux kernel. This is helpful when boads reference those nodes. Signed-off-by: Adam Ford <aford173@gmail.com>
| * | treewide: Remove unused FSL QSPI config options for IMX platformsKuldeep Singh2020-05-017-52/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of these options are not used by the driver anymore and some of them are obsolete as the information is gathered from the dt. So, remove the unused config options now. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com> Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
| * | imx8qxp_mek: Run with caches enabledFabio Estevam2020-05-011-2/+0
| | | | | | | | | | | | | | | | | | | | | There is no need to run with caches disabled. Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
| * | imx8qxp_mek: Remove SPL watchdog optionFabio Estevam2020-05-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the following watchdog error is seen in SPL: U-Boot SPL 2020.04-00407-g8d5d3bcf3c (Apr 20 2020 - 09:48:09 -0300) Normal Boot WDT: Not found! ... There is no watchdog driver for i.MX8 at the moment, nor code for configuring the watchdog in SPL, so remove the CONFIG_SPL_WATCHDOG_SUPPORT option for now. Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Stefano Babic <sbabic@denx.de>
| * | imx8: Run SPL with caches enabledFabio Estevam2020-05-019-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is safe to run SPL with caches enabled on i.MX8, so remove such restriction. Signed-off-by: Fabio Estevam <festevam@gmail.com> Acked-by: Peng Fan <peng.fan@nxp.com> Acked-by: Oliver Graute <oliver.graute@kococonnector.com> Acked-by: Anatolij Gustschin <agust@denx.de> Tested-by: Igor Opaniuk <igor.opaniuk@toradex.com> Acked-by: Igor Opaniuk <igor.opaniuk@toradex.com>
| * | config: apalis-imx8: Enable FEC TXC delayPhilippe Schenker2020-05-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | define FEC_ENET_ENABLE_TXC_DELAY to enable the delay on TXC line on the MAC. This has to be done in order to meet RGMII specs. According to RGMII specs the clock should get delayed so the edges of the clock are preferrably in the middle of the edges of data-lines so they can be sampled properly. Our PHY expects the MAC to delay TXC line, as it is also written in the spec. This patch makes sure the TXC delay on the FEC is enabled Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
| * | net: fec: Add possibility to enable TXC delayPhilippe Schenker2020-05-012-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables the possibility to set FEC_ENET_ENABLE_TXC_DELAY or FEC_ENET_ENABLE_RXC_DELAY so one can via a define enable the RXC or TXC delay in the MAC. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
| * | board: apalis_imx6: Add KSZ9131 phy skew settingsPhilippe Schenker2020-05-012-16/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds skew register settings for KSZ9131. It checks first which phy is on the board and then applies the correct skew settings. Skew settings calculation for the KSZ9131: The i.MX6 SoC has an output skew tolerance of -100ps to 900ps. All PCB traces where routed exactly the same length so we can calculate the skew settings without taking the length into consideration. The traces are all length matched. RXC skew (PHY to MAC): - We use the 2ns DLL controlled delay on the PHY - We do not use the skew registers This results in the following values: RXC PHY fixed Delay 2000ps PHY Added Delay 0ps T_setup_R min 2.00ns T_setup_R typ 2.00ns T_setup_R max 2.00ns T_hold_R min 1.60ns T_hold_R typ 2.00ns T_hold_R max 2.40ns That means we are well within RGMII specs. TXC skew (MAC to PHY): - We use the 2ns DLL controlled delay on the PHY - We then subtract ~0.6ns with TXD[0:3] and TXC clock pad skew register in a resulting ~1.4ns delay. This results in the following values under consideration of the tolerances: TXC min TXC typ TXC max MAC min -100ps -100ps -100ps MAC max 900ps 900ps 900ps PHY fixed Delay 2000ps 2000ps 2000ps PHY added Delay -340ps -600ps -859ps T_setup_T min 1.56ns 1.30ns 1.04ns T_setup_T typ 2.06ns 1.80ns 1.54ns T_setup_T max 2.56ns 2.30ns 2.04ns T_hold_T min 1.04ns 1.30ns 1.56ns T_hold_T typ 1.94ns 2.20ns 2.46ns T_hold_T max 2.84ns 3.10ns 3.36ns This shows that T_hold_T min and T_setup_T min times are out of spec for RGMII timing. However the KSZ9131 has a minimal value for this time of 0.8ns which is met under all circumstances. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
| * | board: verdin-imx8mm: Add KSZ9131 phy skew settingsPhilippe Schenker2020-05-011-23/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch determines which phy is placed on the board with the PHY ID then it sets the same settings for KSZ9031 as before but for KSZ9131 it enables both RXC and TXC delay lines in the PHY. This will compensate the missing delay from the MAC. Other skew settings are not needed as the traces on board are routed exactly the same length Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Tested-by: Igor Opaniuk <igor.opaniuk@toradex.com> Acked-by: Igor Opaniuk <igor.opaniuk@toradex.com>
| * | verdin-imx8mm: Change board phy skew values for our ksz9031Philippe Schenker2020-05-011-8/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patches uses the existing functions for interacting with the KSZ9031 and uses the values appropriate for our board. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Tested-by: Igor Opaniuk <igor.opaniuk@toradex.com> Acked-by: Igor Opaniuk <igor.opaniuk@toradex.com>
| * | net: phy: micrel: Add basic support for KSZ9131Philippe Schenker2020-05-012-0/+60
| | | | | | | | | | | | | | | | | | This adds basic support for the new Micrel KSZ9131 phy. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
| * | net: phy: micrel: Use defines for PHY_IDs and MASKPhilippe Schenker2020-05-012-2/+7
| | | | | | | | | | | | Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
| * | mx8mq_evk: Remove unrelated commentFabio Estevam2020-05-011-1/+0
| | | | | | | | | | | | | | | | | | | | | The comment does not relate to the setup_i2c() function, so just remove it. Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * | imx8mp_evk: Remove unrelated commentFabio Estevam2020-05-011-1/+0
| | | | | | | | | | | | | | | | | | | | | The comment does not relate to the setup_i2c() function, so just remove it. Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * | imx: imx8m: Don't use the addr parameter of reset_cpuClaudius Heine2020-05-011-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | imx8m has the only implementation of `reset_cpu` which does not ignore the addr parameter and instead gives it some meaning as the base address of watchdog registers. This breaks convention with the rest of U-Boot where the parameter is ignored and callers are passing in 0. Fixes: d2041725e84b ("imx8m: restrict reset_cpu") Co-Authored-by: Harald Seiler <hws@denx.de> Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Harald Seiler <hws@denx.de> Reviewed-by: Marek Vasut <marex@denx.de>
| * | imx: imx8m*: Remove do_reset from board filesClaudius Heine2020-05-014-36/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the `do_reset` implementation of `arch/arm/lib/reset.c` in SPL instead. It is very close to what is done here, anyway, and plays more nicely with the rest of U-Boot than adding a custom `do_reset` implementation into board files. `do_reset` from `arch/arm/lib/reset.c` calls `reset_cpu` with 0 as the addr parameter while the boards are passing WDOG1_BASE_ADDR. This is ok because the `reset_cpu` implementation uses WDOG1_BASE_ADDR by default if 0 is passed in. Co-Authored-by: Harald Seiler <hws@denx.de> Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Harald Seiler <hws@denx.de> Reviewed-by: Marek Vasut <marex@denx.de>
| * | ARM: reset: use do_reset in SPL/TPL if SYSRESET was not enabled for themClaudius Heine2020-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case CONFIG_SYSRESET is set, do_reset from reset.c will not be available anywere, even if SYSRESET is disabled for SPL/TPL. 'do_reset' is called from SPL for instance from the panic handler and PANIC_HANG is not set Signed-off-by: Claudius Heine <ch@denx.de> Reviewed-by: Marek Vasut <marex@denx.de>
| * | imx8: Configure SNVSFranck LENORMAND2020-05-017-4/+1030
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a module to configure the tamper and secure violation of the SNVS using the SCU API. The module also adds some commands: - snvs_cfg: Configure the SNVS HP and LP registers - snvs_dgo_cfg: Configure the SNVS DGO bloc if present (8QXP) - tamper_pin_cfg: Change the configuration of the tamper pins - snvs_clear_status: Allow to write to LPSR and LPTDSR to clear status bits Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * | imx8: Update SCFW API to version 1.5Ye Li2020-05-015-21/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sync the latest SCFW API with below commit 6dcd0242ae7a53ac ("SCF-105: Revert accidental change") to add interfaces for PM resource reset and read/write SNVS security violation and tamper DGO registers. Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>