- 29 11月, 2017 9 次提交
-
-
由 Paul Burton 提交于
U-Boot is generally flashed to a MIPS Boston development board by means of a .mcs file which Xilinx Vivado software can write to the flash present on the board. As such we'd generally want to produce an mcs file when building U-Boot to target the Boston board. Introduce a make target for u-boot.mcs which generates it using the srec_cat tool available from the SRecord project, and build it by default when srec_cat is present. Signed-off-by: NPaul Burton <paul.burton@mips.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: u-boot@lists.denx.de
-
由 Paul Burton 提交于
Generally we load Linux kernels on Boston boards in the form of FIT images containing a compressed kernel binary. Linux is linked at 0x80100000 and so we need to decompress the kernel binary to that address, however this is our default load address which means that unless explicitly avoided we hit a decompression error as the uncompressed kernel binary overwrites its compressed version from the FIT image. Avoid this by adjusting CONFIG_SYS_LOAD_ADDR to 0x88000000 (or 0xffffffff88000000 for MIPS64 builds) which avoids the address overlap between compressed & uncompressed kernel binaries. Signed-off-by: NPaul Burton <paul.burton@mips.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: u-boot@lists.denx.de
-
由 Paul Burton 提交于
If we run on a CPU which doesn't implement a particular cache then we would previously get stuck in an infinite loop, executing a cache op on the first "line" of the missing cache & then incrementing the address by 0. This was being avoided for the L2 caches, but not for the L1s. Fix this by generalising the check for a zero line size & avoiding the cache op loop when this is the case. Signed-off-by: NPaul Burton <paul.burton@mips.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: u-boot@lists.denx.de
-
由 Paul Burton 提交于
When writing code, for example during relocation, we ensure that the icache has a coherent view of the new instructions with a call to flush_cache(). This handles the bulk of the work to ensure the new instructions will execute as expected, however it does not ensure that the CPU pipeline doesn't already contain instructions taken from a stale view of the affected memory. This could theoretically be a problem for relocation, but in practice typically isn't because we sync caches for enough code after the entry point of the newly written code that by the time the CPU pipeline might possibly fetch any of it we'll have long ago written it back & invalidated any stale icache entries. This is however a problem for shorter regions of code. In preparation for later patches which write shorter segments of code, ensure any instruction hazards are cleared by flush_cache() by introducing & using a new instruction_hazard_barrier() function which makes use of the jr.hb instruction to clear the hazard. Signed-off-by: NPaul Burton <paul.burton@mips.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: u-boot@lists.denx.de
-
由 Paul Burton 提交于
A typical use of cache maintenance functions is to force writeback of data which a device is about to read using DMA - for example a descriptor or command structure. Such users of cache maintenance functions require that operations on the cache have completed before they proceed to instruct a device to read memory. This requires that we place a completion barrier (ie. sync instruction) between the cache ops and whatever write informs the device to perform DMA. Whilst strictly speaking this isn't all users of the cache maintenance functions & we could instead place the barriers in the drivers that require them, it would be much more invasive to do so than to just have the barrier be the default by placing it in the cache functions themselves. The cost is low enough that it shouldn't matter to us in any rare cases that we use the cache functions when not performing DMA. Signed-off-by: NPaul Burton <paul.burton@mips.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: u-boot@lists.denx.de
-
由 Paul Burton 提交于
MIPS is no longer a part of Imagination Technologies, and as such my @imgtec.com email address will soon cease to function. This patch updates occurrances of it with my new @mips.com email address, and adds an entry in .mailmap such that git (& tools such as get_maintainer.pl when examining history) will use the new address. Signed-off-by: NPaul Burton <paul.burton@mips.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: u-boot@lists.denx.de
-
由 Paul Burton 提交于
The u-boot.lds linker script for MIPS defines a PTR_COUNT_SHIFT macro to 2 or 3 for 32 bit or 64 bit builds respectively. This macro is never actually used though, so remove the dead code. Signed-off-by: NPaul Burton <paul.burton@imgtec.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-
由 Paul Burton 提交于
The lowlevel_display() function includes a "1:" label which is never used. Remove it. Signed-off-by: NPaul Burton <paul.burton@imgtec.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-
由 Paul Burton 提交于
The boston lowlevel_init() function zeroes the return register v0, despite the function not being expected to return a value & that value never being used. Remove the redundant assignment to v0. Signed-off-by: NPaul Burton <paul.burton@imgtec.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-
- 28 11月, 2017 2 次提交
-
-
由 Simon Glass 提交于
When tests pass an error message is printed because of a variable that is not initialised. Fix this. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Tom Rini 提交于
This option prevents booting on am335x_evm at least along with most likely other platforms. Fixes: 337bbb62 ("spl: fit: add SPL_FIT_IMAGE_TINY config to reduce code-size") Signed-off-by: NTom Rini <trini@konsulko.com>
-
- 27 11月, 2017 15 次提交
-
-
-
由 Jagan Teki 提交于
Signed-off-by: NJagan Teki <jagan@amarulasolutions.com>
-
由 Jagan Teki 提交于
icorem6 has sd on usdhci1 which is devno 0 so return proper devno from board_mmc_get_env_dev for icorem6 and icorem_6rqs Signed-off-by: NJagan Teki <jagan@amarulasolutions.com>
-
由 Jagan Teki 提交于
Add new board names for existing board support imx6q - icore and icore_rqs boards imx6ul - geam6ul and isiot boards Signed-off-by: NJagan Teki <jagan@amarulasolutions.com>
-
由 Jagan Teki 提交于
As per USDHC boot eFUSE descriptions: USDHC3 => devno 2 USDHC4 => devno 3 Linux will detect mmc0, mmc1, mmc2 based on the status "okay" on usdhc so imx6qdl-icore-rqs.dtsi has enabled usdhc1, usdhc3 and usdhc4.But U-Boot can detect based on the aliases so add mmc1, mmc2 for usdhc3 and usdhc4 respectively and return the board_mmc_get_env_dev by subtracting -1 Signed-off-by: NJagan Teki <jagan@amarulasolutions.com>
-
由 Jagan Teki 提交于
Add OF_CONTROL support for SPL code. Signed-off-by: NJagan Teki <jagan@amarulasolutions.com>
-
由 Jagan Teki 提交于
before relocation pinctrl data BSS is overlapping DT area, when .data is using uninitialized global variable, imx6_pinctrl_soc_info. So assign them flags ZERO_OFFSET_VALID to prevent BSS overlap Suggested-by: NLokesh Vutla <lokeshvutla@ti.com> Reported-by: NJagan Teki <jagan@amarulasolutions.com> Signed-off-by: NJagan Teki <jagan@amarulasolutions.com>
-
由 Jagan Teki 提交于
Add OF_CONTROL support for SPL code. Signed-off-by: NJagan Teki <jagan@amarulasolutions.com>
-
由 Jagan Teki 提交于
Move spl load fit code into common/spl Signed-off-by: NJagan Teki <jagan@amarulasolutions.com>
-
由 Jagan Teki 提交于
setenv_fdt_file to common code and set dtb based on CONFIG_DEFAULT_DEVICE_TREE and cpu_type. Signed-off-by: NJagan Teki <jagan@amarulasolutions.com>
-
由 Fabio Estevam 提交于
mx6sxsabresd can run different kernel versions, such as NXP 4.1 or mainline. Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the SD card changes depending on the kernel version. In order to avoid such issue, use the UUID method to specify the rootfs location. Signed-off-by: NFabio Estevam <fabio.estevam@nxp.com> Reviewed-by: NStefano Babic <sbabic@denx.de> Reviewed-by: NLukasz Majewski <lukma@denx.de>
-
由 Fabio Estevam 提交于
imx_set_wdog_powerdown() is always used to disable the power down enable bit, so remove the boolean parameter of the function. It is also a bit strange to write a boolean value into registers, so this new version makes explicit that we are writing 0. While at it, rename it to imx_wdog_disable_powerdown(). Signed-off-by: NFabio Estevam <fabio.estevam@nxp.com>
-
由 Fabio Estevam 提交于
Clear powerdown enable bit for WDOG3 on i.MX6ULL to avoid unwanted kernel reboots. Suggested-by: NYe Li <ye.li@nxp.com> Signed-off-by: NFabio Estevam <fabio.estevam@nxp.com> Reviewed-by: NPeng Fan <peng.fan@nxp.com> Reviewed-by: NStefano Babic <sbabic@denx.de>
-
由 Fabio Estevam 提交于
i.MX6ULL has the same WDOG3 base address as i.MX6UL, so take this into account in the base address definition. Signed-off-by: NFabio Estevam <fabio.estevam@nxp.com> Reviewed-by: NPeng Fan <peng.fan@nxp.com> Reviewed-by: NStefano Babic <sbabic@denx.de>
-
-
- 26 11月, 2017 14 次提交
-
-
由 Philipp Tomsich 提交于
The boot (and fallback/emergency boot) concept for the RK3399-Q7 differs from Rockchip's reference platforms. On the RK3399-Q7, some of this functionality is present in the bootloader itself (and configurable); some is backed in hardware by the Qseven BIOS_DISABLE signal to invoke the final stages of fallbacks (i.e. either an external boot bypassing on-module memories or falling back to the BROM for USB recovery). In summary: the ADC-based boot_mode check does not apply for the RK3399-Q7 and we therefore disable it (in this commit) by setting CONFIG_BOOT_MODE_REG to 0. Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
由 Philipp Tomsich 提交于
The ROCKCHIP_BOOT_MODE_REG option defaults to a hex value, so 0 will show as 0x0 if a default is provided and changed via Kconfig. However, it still will show as 0, if no default is given. Consequently, the "is set to something other than 0" test in a Makefile is cumbersome. Instead this check can easily be performed in the C-code. This removes the ifeq-check from mach-rockchip/Makefile, adds a matching #if-check to boot_mode.c and fixes resulting link issues (if boot_mode.o was not included due to the Makefile check) by defining a stub function (in case the functionality is not built in) for setup_boot_mode in boot_mode.c. Fixes: e3067793 (rockchip: make boot_mode related codes reused across all platforms) Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
由 Philipp Tomsich 提交于
The RK3399 has a total of 9 I2C controllers. To support these, the enum in periph.h is extended and the mapping from the IRQ numbers to the peripheral-ids is extended to ensure that pinctrl requests are passed through to the function configuring the I2C pins. For I2C8, the pinctrl is implemented and tested (on a RK3399-Q7) using communication with the FAN53555 connected on I2C8. Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: NKlaus Goger <klaus.goger@theobroma-systems.com>
-
由 Philipp Tomsich 提交于
The RK3399 clk driver still has a left-over use of extract_bits, which can be replaced by using bitfield_extract from include/bitfield.h. This rewrites the invocation to use the shared function. Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
由 Philipp Tomsich 提交于
A minor code-size increase from the changes for tracking the os-type of FIT images and from infrastructure for recording the loadables into the the loaded FDT, broke the builds for sun50i and some OMAP2+ devices. This change adds a new config option (enabled by default for MACH_SUN50I, MACH_SUN50I_H5 and ARCH_OMAP2PLUS) that does skips these processing steps (bringing code size down to below the limit again). The os-type is not evaluated, but assumed to be IH_OS_UBOOT (i.e. taking the code-paths intended for backward-compatibility). Note that enabling this config option precludes any useful downstream processing, such as utilising a special calling convention for ATF or OPTEE, based on the os-type of the loadables. Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
由 Philipp Tomsich 提交于
This tracks the SPL changes for ATF for the RK3368-uQ7: * renames ATF_SUPPORT to ATF * drops CONFIG_SPL_ATF_TEXT_BASE (now dynamically retrieved from the .itb file) Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philipp Tomsich 提交于
This defconfig update makes use of the new features: * CONFIG_ROCKCHIP_SPL_RESERVE_IRAM is now set to 0, as there is no overlap between the M0 firmware and the ATF (we load this to DRAM and relocate it to its final location within the ATF) * tracks the ATF_SUPPORT -> ATF renaming Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philipp Tomsich 提交于
For the RK3368-uQ7, we can now update the .its file to mark the Trusted Firmware as out 'firmware' bootable and annotate both ATF and U-Boot with an OS-type. Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philipp Tomsich 提交于
This commit updates the .its file for the RK3399-Q7 to use the new features and demonstrates how to use those: * it marks the ATF as the 'firmware' * it tracks the OS-type for U-Boot and ATF * it loads the PMU (M0) firmware to DRAM and records the location to /fit-images (where our ATF reads it from) With the handoff of the next-stage FDT to ATF in place, we can now use this to pass information about the load addresses and names of each loadables to ATF: now we can load the M0 firmware into DRAM and avoid overwriting parts of the SPL stage. This is achieved by changing our .its-file to use an available area of DRAM as the load-address. Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philipp Tomsich 提交于
This tracks the SPL changes for ATF for the Firefly: * renames ATF_SUPPORT to ATF * drops CONFIG_SPL_ATF_TEXT_BASE Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philipp Tomsich 提交于
The SPL_ATF_TEXT_BASE configuration item has become obsolete. Remove it from Kconfig. Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philipp Tomsich 提交于
Having CONFIG_SPL_ATF seems more natural. Rename it, while it it is easy and there's few boards that use it (only RK3399 and RK3368 boards). Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philipp Tomsich 提交于
This adds a new interface spl_invoke_atf() that takes a spl_image_info argument and then derives the necessary parameters for the ATF entry. Based on the additional information recorded (into /fit-images) from the FIT loadables, we can now easily locate the next boot stage. We now pass a pointer to a FDT as the platform-specific parameter pointer to ATF (so we don't run into the future headache of every board/platform defining their own proprietary tag-structure), as FDT access is already available in ATF. With the necessary infrastructure in place, we can now update the support for the ARM Trusted Firmware to dispatch into the spl_invoke_atf function only if a IH_OS_ARM_TRUSTED_FIRMWARE image is loaded. Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Philipp Tomsich 提交于
If a FDT was loaded (e.g. to append it to U-Boot image), we store it's address and record information for all loadables into this FDT. This allows us to easily keep track of images for multiple privilege levels (e.g. with ATF) or of firmware images preloaded into temporary locations (e.g. PMU firmware that may overlap the SPL stage). Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-