summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-23arm, imx6: add alternative PAD_CTL_DSE constantsMark Jonas
Not all i.MX6 pads use the same drive strength table. So far only the 240 Ohm to 34 Ohm table was available. Because the constants used have speaking names it can be confusing to use e.g. PAD_CTL_DSE_48ohm when according to the reference manual 52 Ohm is the correct value. This patch adds the 260 Ohm to 37 Ohm table. For example, the IOMUXC_SW_PAD_CTL_PAD_SD2_CLK register (SD-card clock) uses the added table. Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> Reviewed-by: Stefano Babic <sbabic@denx.de>
2018-07-23colibri_imx7: improve DDR3 timingStefan Agner
This makes sure that all Colibri iMX7 modules work with the same timing. The changes are: - Disable ODT on read (JEDEC standard JESD79-3F says in chapter 5.2.3 ODT during Reads: "As the DDR3 SDRAM can not terminate and drive at the same time, RTT must be disabled at least half a clock cycle..." and also MX7D SABRESD is disabling it) This alone fixed memory issues for two Colibri iMX7 1GB modules which showed issues before - Make sure tRFC(min) is at least 260ns - Make sure tRC is >50.625ns - tRP needs to be >13.125ns, we can lower from 18.75ns to 15ns - tFAW is not relevant, leave at reset Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-07-23colibri_imx7: add compatible string used in vanilla LinuxStefan Agner
Device trees from vanilla Linux do not specify a i.MX 7 specific compatible string. Make sure to set partitions also when booting upstream Linux. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-23mx6cuboxi: Move the default environment for all devicesJon Nettleton
Previously we had stored the environment right after the u-boot.img on the disk. I never liked this because with dtbs being included and such the image could grow in size. Instead we move the environment to be negatively offset from the 1MB mark. Almost all our images start at 4MB's, and most standard images start at 1MB, and all our storage devices are a minimum 1MB. Therefore we can store env there for all classes of devices and have plenty of space in case u-boot.img needs to grow. Signed-off-by: Jon Nettleton <jon@solid-run.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-07-23imx: mx7: psci: implement MIGRATE_INFO_TYPEStefan Agner
Implement MIGRATE_INFO_TYPE. This informs Linux that no migration for the trusted operating system is necessary: [ 0.000000] psci: Trusted OS migration not required Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-23imx: mx7: psci: support CPU0 on/offStefan Agner
So far psci_cpu_(on|off) only worked for CPU1. Allow to control CPU0 too. This allows to run the Linux PSCI checker successfully: [ 2.213447] psci_checker: PSCI checker started using 2 CPUs [ 2.219107] psci_checker: Starting hotplug tests [ 2.223859] psci_checker: Trying to turn off and on again all CPUs [ 2.267191] IRQ21 no longer affine to CPU0 [ 2.293266] Retrying again to check for CPU kill [ 2.302269] CPU0 killed. [ 2.311648] psci_checker: Trying to turn off and on again group 0 (CPUs 0-1) [ 2.354354] IRQ21 no longer affine to CPU0 [ 2.383222] Retrying again to check for CPU kill [ 2.392148] CPU0 killed. [ 2.398063] psci_checker: Hotplug tests passed OK [ 2.402910] psci_checker: Starting suspend tests (10 cycles per state) [ 2.410019] psci_checker: cpuidle not available on CPU 0, ignoring [ 2.416452] psci_checker: cpuidle not available on CPU 1, ignoring [ 2.422757] psci_checker: Could not start suspend tests on any CPU [ 2.429370] psci_checker: PSCI checker completed Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-23imx: mx7: psci: provide complete PSCI 1.0 implementationStefan Agner
PSCI 1.0 require PSCI_VERSION, PSCI_FEATURES, AFFINITY_INFO and CPU_SUSPEND to be implemented. Commit 0ec3d98f7692 ("mx7_common: use psci 1.0 instead of 0.1") marked the i.MX 7 implementation to be PSCI 1.0 compliant but failed to implement those functions. Especially the missing PSCI version callback was noticeable when booting Linux: [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv65535.65535 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.0 This patch provides a minimal implementation thereof. With this patch applied Linux detects PSCI 1.0: [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.0 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.0 Fixes: 0ec3d98f7692 ("mx7_common: use psci 1.0 instead of 0.1") Suggested-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-23imx: mx7: psci: use C code exclusivelyStefan Agner
There is no need for assembly in the platform specific part of the PSCI implementation. Note that this does not make it a complete PSCI 1.0 implementation yet but aids to do so in upcoming patches. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-23ARM: PSCI: initialize stack pointer on secondary CPUsStefan Agner
A proper stack is required to safely use C code in psci_arch_cpu_entry. Fixes: 486daaa618e1 ("arm: psci: add a weak function psci_arch_cpu_entry") Cc: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Patrick DELAUNAY <Patrick.delaunay@st.com> Tested-by: Patrick DELAUNAY <Patrick.delaunay@st.com>
2018-07-23arm: imx7d: cl-som-imx7: sf: support all SF typesUri Mashiach
Enable the support for all SPI flash types. Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il> Signed-off-by: Yaniv Levinsky <yaniv.levinsky@compulab.co.il>
2018-07-23i.MX6: engicam: gpr_init can be called only for some architectureMichael Trimarchi
Fix an invalid usage of the gpr_init function for the imx6ul architecture Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> Acked-by: Jagan Teki <jagan@amarulasolutions.com>
2018-07-23imx: imx6: Add comment to gpr_init functionMichael Trimarchi
This function can be used only for some of the nxp SoC. Make it explicit in the comment. This adjust a bit commit 3aa4b703b483f165dd ("imx: imx6: Move gpr_init() function to soc.c") Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> Acked-by: Jagan Teki <jagan@amarulasolutions.com>
2018-07-23mx7: Remove BMODE supportFabio Estevam
i.MX7 does not support BMODE due to the erratum e10574 ("Watchdog: A watchdog timeout or software trigger will not reset the SOC"), so remove its support. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-07-23imx: mx6: Fix implementantion reset_miscMichael Trimarchi
lcdif_power_down should not be included in spl build to avoid build failure introduced by commit eb111bb31d882877e75e6b8083808dcaf6493b92 Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2018-07-23eth: dm: fec: Add gpio phy reset bindingMichael Trimarchi
Add the missing gpio phy reset binding to the gpio and reset time configuration Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2018-07-23mx6cuboxi: Add emmc device tree suffixJon Nettleton
Mainline and now the SolidRun 4.9 nxp based tree use the new reorganization of device-tree files that separate out the emmc into its own dtb. u-boot will now look for -emmc in the device tree name if one is detected. Signed-off-by: Jon Nettleton <jon@solid-run.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
2018-07-23mx6cuboxi: Use mmc_get_op_cond() to check for an eMMCJon Nettleton
Previously we had just made broad assumptions with which of our boards had an eMMC or not even though this is a manufacturing time assembly option. This takes the guessing away and actually checks for the existence of an eMMC and sets up the has_emmc environment variable. Signed-off-by: Jon Nettleton <jon@solid-run.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
2018-07-23mx6cuboxi: drop CONFIG_SYS_FSL_USDHC_NUMBaruch Siach
This macro is not used. Signed-off-by: Baruch Siach <baruch@tkos.co.il>
2018-07-23mx6cuboxi: Add support for eMMC bootingJon Nettleton
The HB2 boards as well as rev 1.5 soms support eMMC booting as well as SDHC. Add the infrastructure to support booting these devices. Signed-off-by: Jon Nettleton <jon@solid-run.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
2018-07-23mmc: break out get_op_cond code to its own functionJon Nettleton
This code is useful for testing the existance of devices that do not have card detect capabilities. This breaks out the core functionality and leaves the actual init logic and error reporting in mmc_start_init(). Signed-off-by: Jon Nettleton <jon@solid-run.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Stefano Babic <sbabic@denx.de>
2018-07-23mmc: drop mention of IN_PROGRESS statusBaruch Siach
The IN_PROGRESS macro has been removed in commit bd47c13583f (mmc: Fix splitting device initialization). Remove it from the mmc_start_init() function description. Signed-off-by: Baruch Siach <baruch@tkos.co.il>
2018-07-23board: toradex: add Colibri iMX6ULL supportStefan Agner
Add support for the Colibri iMX6ULL module which comes with on-board raw NAND. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-23board: toradex: add new and upcoming SKUsStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-23ARM: dts: imx6ull: use same compatible string as Linux is usingStefan Agner
The GPMI NAND IP seems to be the same as used in i.MX 6Quad. Use the fsl,imx6q-gpmi-nand compatible string like Linux devices trees are. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-23imx: add macro to detect whether USB has been initializedStefan Agner
This macro allows to detect whether the boot ROM initialized USB already (serial downloader). This is helpful to reliably detect if the system has been recovered via USB serial downloader. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-07-23mtd: nand: mxs_nand: add device tree support for i.MX 6Stefan Agner
Support i.MX 6 NAND GPMI driver data from device tree. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-23bootcount: flush after storing the bootcounterStefano Babic
If the bootcounter address is in a cached memory, a flush of dcache must occur after updateing the bootcounter. Issue found on i.MX6 where bootcounter is put into the internal (cached) IRAM. Signed-off-by: Stefano Babic <sbabic@denx.de>
2018-07-22Convert CONFIG_MTD_PARTITIONS et al to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_MTD_PARTITIONS CONFIG_MTD_DEVICE Signed-off-by: Adam Ford <aford173@gmail.com>
2018-07-21configs: Convert CONFIG_USE_NAND to CONFIG_NANDAdam Ford
The DA850-EVM and OMAPL138_LCDK both use checks for CONFIG_USE_NAND. This patch changes these checks to CONFIG_NAND which is already defined in Kconfig. Since the OMAPL138_LCDK already had CONFIG_NAND defined in its defconfig, it can be deleted from configs/omapl138_lcdk.h. Signed-off-by: Adam Ford <aford173@gmail.com>
2018-07-21configs: Make NAND_BOOT and ONENAND_BOOT imply NANDAdam Ford
Some boards indicate support from booting NAND or ONENAND booting, but don't enable the CONFIG_NAND. This makes those boards imply NAND which will make enabling other flags that are dependent on CONFIG_NAND possible and easier to migrate. Signed-off-by: Adam Ford <aford173@gmail.com>
2018-07-21Convert CONFIG_NAND_DAVINCI to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_NAND_DAVINCI Signed-off-by: Adam Ford <aford173@gmail.com>
2018-07-21Convert CONFIG_NAND_ATMEL to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_NAND_ATMEL Signed-off-by: Adam Ford <aford173@gmail.com>
2018-07-21Convert CONFIG_NAND_LPC32XX_SLC to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_NAND_LPC32XX_SLC Signed-off-by: Adam Ford <aford173@gmail.com>
2018-07-21env: Simplify Makefile using $(SPL_TPL_)York Sun
Add Kconfig options SPL_ENV_* and TPL_ENV_* and simplify Makefile. This allows SPL/TPL image has different environment setting from full feature U-Boot. Signed-off-by: York Sun <york.sun@nxp.com>
2018-07-21env: typo in description of ENV_IS_IN_REMOTEHeinrich Schuchardt
%s/remove/remote/ Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-07-20Merge branch 'master' of git://git.denx.de/u-boot-rockchipTom Rini
2018-07-21rockchip: utilize CONFIG_DEFAULT_FDT_FILEKlaus Goger
Currently the fdtfile environment variable is set to CONFIG_DEFAULT_DEVICE_TREE which is Ñ–nternally used as U-Boot devicetree source. The OS can use a different filename and Kconfig gives us the ability to select a default devicetree via CONFIG_DEFAULT_FDT_FILE. This also gives user configuring U-Boot via menuconfig the behaviour someone would expect. Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com> Tested-By: Vagrant Cascadian <vagrant@debian.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: veyron: Set vcc33_sd regulator valueCarlo Caione
On the veyron board the vcc33_sd regulator is used as vmmc-supply for the SD card. This regulator is powered in the MMC core during power on but its value is never actually set. In the veyron platform the reset value for the LDO output is 1.8V while the standard (min and max) value for this regulator defined in the DTS is 3.3V. When the MMC core enable the regulator without setting its value, the output is automatically set to 1.8V instead of 3.3V. With this patch we preemptively set the value to 3.3V. Signed-off-by: Carlo Caione <carlo@endlessm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rk3288: Disable JTAG function from sdmmc0 IOCarlo Caione
The GRF_SOC_CON0.grf_force_jtag bit is automatically set at boot and it is preventing the SDMMC to work correctly. Disable the JTAG function on the assumption that a working SD has higher priority over JTAG. Signed-off-by: Carlo Caione <carlo@endlessm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rk3288: veyron: Init boot-on regulatorsCarlo Caione
Use regulators_enable_boot_on() to init all the regulators with regulator-boot-on property. Signed-off-by: Carlo Caione <carlo@endlessm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: board: lion-rk3368: increase phy autonegotiation timeoutJakob Unterwurzacher
The first dhcp command consistently fails with a timeout when the lion-rk3368 board is connected to a Zyxel GS1100-24E Gigabit Ethernet switch: ethernet@ff290000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! Increasing PHY_ANEG_TIMEOUT from the default 4000 to 8000 makes the first dhcp command work reliably. Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: rk3399: spl: add missing \n to outputHeinrich Schuchardt
Without the patch SPL (in case of an error) creates an output like: U-Boot SPL board initMissing DTB The patch adds the missing line feed. So now we get: U-Boot SPL board init Missing DTB Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: doc: clarify usage of CONFIG_SPL_ROCKCHIP_BACK_TO_BROMHeinrich Schuchardt
Change the description relating to CONFIG_SPL_ROCKCHIP_BACK_TO_BROM to clarify that both RK3288 and RK3036 use CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: evb-rk3399: correct README for board bring upHeinrich Schuchardt
%s/rkflashtool/rkdeveloptool/ We are using rkdeveloptool not rkflashtool. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2018-07-21rockchip: rk3399: change boot_target based on u-boot, spl-boot-deviceKlaus Goger
The order distroboot searches for a boot.scr is fixed at compile time. To make BIOS_DISABLE work as expected and boot from mmc1 instead of mmc0 if enabled, we need to change the environment at runtime. Especially as commit: 482cf22333 ("rockchip: rk3399-puma: add boot-on regulator to override BIOS_DISABLE") enables the eMMC in U-Boot even if BIOS_DISABLE is active. Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: rk3399: inject 'u-boot, spl-boot-device' for next-stagePhilipp Tomsich
This implements the new 'spl_perform_fixups' hook for RK3399-based boards and injects the /chosen/u-boot,spl-boot-device with an ofpath corresponding to the boot device used. The intended usage is for the full U-Boot stage to evaluate this in scripts and then adapt its boot-order when using distro-boot. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
2018-07-21spl: document 'chosen/u-boot, spl-boot-device'Philipp Tomsich
To let the full U-Boot know where it was booted from (i.e. which of the entries in /chosen/u-boot,spl-boot-order' contained a valid image), we define (and document) /chosen/u-boot,spl-boot-device as the property that could/should automatically be injected by SPL. This commit only contains a documentation change, which documents the new property and the intended usage. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
2018-07-21spl: record boot_device into spl_image and call spl_perform_fixupsPhilipp Tomsich
On some boards, we want to give the board/architecture-specific code a chance to look at where the next image has been loaded from and perform fixups before starting the next image. This is of particular importance, when we probe multiple devices for bootable payloads and boot the first one found. This change adds the following: - we record the boot_device used into the spl_image structure - we provide an extension-point for boards/architectures that can perform late fixups depending on a fully populated spl_image structure (i.e. we'll know the final boot_device and have info on the image type and operating system to be booted). Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
2018-07-21smartweb: use SPL_TINY_MEMSETPhilipp Tomsich
The SPL code for smartweb is close to its limit and adding a few extra instructions to SPL will cause it to overrun its sram allotement (thus causing build failures). To allow adding the 'spl_perform_fixups' extension point to SPL, we'll enable SPL_TINY_MEMSET for smartweb. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Series-cc: trini
2018-07-21rockchip: rk3188: add rk_board_late_init() hookAlexander Kochetkov
All other rockchip boards have rk_board_late_init() hook, so add it to rk3188 boards also. Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>