- Mar 15, 2016
-
-
Paul Kocialkowski authored
Since the SAR registers are filled with garbage on cold reset, this checks for a warm reset to assert the validity of reboot mode. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
Reboot mode is written to SAR memory before reboot in the form of a string. This mechanism is supported on OMAP4 by various TI kernels. It is up to each board to make use of this mechanism or not. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
This correctly enables the USB PHY clocks, by enabling CM_ALWON_USBPHY_CLKCTRL and correctly setting CM_L3INIT_USBPHY_CLKCTRL's value. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
On (at least) OMAP4, the USB DPLL is required to be setup for the internal PHY to work properly. The internal PHY is used by default with the MUSB USB OTG controller. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
The Amazon Kindle Fire (first generation) codename kc1 is a tablet that was released by Amazon back in 2011. It is using an OMAP4430 SoC GP version, which allows running U-Boot and the U-Boot SPL from the ground up. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
I2C is often enabled withing the U-Boot SPL, thus those clocks are required to be enabled early (especially when the bootrom doesn't enable them for us). Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
This removes a duplicate reference to CM_L3INIT_USBPHY_CLKCTRLin enable_basic_uboot_clocks. Also, a doubled whitespace is removed. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
save_omap_boot_params is called from spl_board_init in the SPL context. Thus, there is no reason to duplicate that call on arch_cpu_init. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
There is no distinction between essential and non-essential mux configuration, so it doesn't make sense to have an "essential" prefix. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
Individual boards might provide their own emif_get_device_timings function and use the jedec timings in their own way, hence those have to be exported. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
Individual boards might provide their own emif_get_device_timings function and use the elpidia timings in their own way, hence those have to be exported. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
Individual boards might provide their own emif_get_device_details function and use elpidia device details in their own way, hence those have to be exported. This also wraps existing definitions with the proper ifdef logic. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr>
-
Paul Kocialkowski authored
This introduces a define for the offset to the reboot reason, rather than hardcoding it. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Paul Kocialkowski authored
This switches reboot mode handling to a string-based interface, that allows more flexibility to set a common interface with the next generations of OMAP devices. Signed-off-by:
Paul Kocialkowski <contact@paulk.fr> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
- Mar 14, 2016
-
-
Masahiro Yamada authored
To make SPL_OF_CONTROL work on ARM64 SoCs, _image_binary_end must be defined in the linker script. LD spl/u-boot-spl lib/built-in.o: In function `fdtdec_setup': lib/fdtdec.c:1186: undefined reference to `_image_binary_end' lib/fdtdec.c:1186: undefined reference to `_image_binary_end' make[1]: *** [spl/u-boot-spl] Error 1 make: *** [spl/u-boot-spl] Error 2 Note: CONFIG_SPL_SEPARATE_BSS must be defined as well on ARM64 SoCs. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Lokesh Vutla authored
The newer versions of DRA7 boards has EEPROM populated with DDR size specified in it. Moving DRA7 specific emif related settings to board files so that emif settings can be identified based on EEPROM. Acked-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com>
-
Lokesh Vutla authored
Enable EEPROM support for DRA74-evm. Acked-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com>
-
Adam Ford authored
A few boards still use ns16550_platdata structures, but assume the structure is going to be in a specific order. By explicitly naming each entry, this should also help 'future-proof' in the event the structure changes. Tested on the Logic PD Torpedo + Wireless. I only changed a handful of devices that used the same syntax as the Logic board. Appologies if I missed one or stepped on toes. Thanks to Derald Woods and Alexander Graf. Signed-off-by:
Adam Ford <aford173@gmail.com> V6: Add fix to arch/arm/cpu/armv7/am33xx/board.c V5: Add fix to arch/arm/cpu/arm926ejs/lpc32xx/devices.c V4: Fix subject heading V3: Remove reg_offset out in all the structs. It was reverted out, and and if it did exist, it would get initialized to 0 by default. V2: I hastily copy-pasted the boards without looking at the UART number. This addresses 3 boards that use UART3 and not UART1. Reviewed-by:
Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Lokesh Vutla authored
Early system initialization is being done before initf_dm is being called in U-Boot. Then system will fail to boot if any of the DM enabled driver is being called in this system initialization code. So, rearrange the code a bit so that DM enabled drivers can be called during early system initialization. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Lokesh Vutla authored
Given that DRA7/OMAP5 SoCs can support more than 2GB of memory, enable interleaving for this higher memory to increase performance. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Lokesh Vutla authored
Read and write leveling can be enabled independently. Check for these enable bits before updating the read and write leveling output values. This will allow to use the combination of software and hardware leveling. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Lokesh Vutla authored
Commit (20fae0a - ARM: DRA7: DDR: Enable SR in Power Management Control) enables Self refresh mode by default and during warm reset the EMIF contents are preserved. After warm reset EMIF sees that it is idle and puts DDR in self-refresh. When in SR, leveling operations cannot be done as DDR can only accept SR exit command, so its hanging during warm reset. In order to fix this reset the power management control register before EMIF initialization if it is a warm reset. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Lokesh Vutla authored
On DRA7, refresh ctrl shadow should be updated with the final value. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Vitaly Andrianov authored
Because KS2 u-boot works in 32 bit address space the existing ram_size global data field cannot be used. The maximum, which the get_ram_size() can detect is 2GB only. The ft_board_setup() needs the actual ddr3 size to fix up dtb. This commit introduces the ddr3_get_size() which uses SPD data to calculate the ddr3 size. This function replaces the "ddr3_size" environment variable, which was used to get the SODIMM size. For platforms, which don't have SODIMM with SPD and ddr3 is populated to a board a simple ddr3_get_size function that returns ddr3 size has to be implemented. See hardware-k2l.h Signed-off-by:
Vitaly Andrianov <vitalya@ti.com> Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Vitaly Andrianov authored
This commit replaces hard-coded EMIF and PHY DDR3 configurations for predefined SODIMMs to a calculated configuration. The SODIMM parameters are read from SODIMM's SPD and used to calculated the configuration. The current commit supports calculation for DDR3 with 1600MHz and 1333MHz only. Signed-off-by:
Vitaly Andrianov <vitalya@ti.com> Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Lokesh Vutla authored
The maximum device and arm speeds can be determined by reading EFUSE_BOOTROM register. As there is already a framework for reading this register, adding support for all possible speeds on k2g devices. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Lokesh Vutla authored
Its not compulsory that speed definition should be same on EFUSE_BOOTROM register for all keystone 2 devices. So, allow for board specific speed definitions. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Suman Anna authored
The DSPs are powered on by default upon a Power ON reset, and they are powered off on current Keystone 2 SoCs - K2HK, K2L, K2E during the boot in u-boot. This is not functional on K2G though. Extend the existing DSP power-off support to the only DSP present on K2G. Do note that the PSC clock domain module id for DSP on K2G differs from that of previous Keystone2 SoCs. Signed-off-by:
Suman Anna <s-anna@ti.com> Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Suman Anna authored
Define a macro for the DSP GEM power domain id number and use it instead of a hard-coded number in the code that disables all the DSPs on various Keystone2 SoCs. Signed-off-by:
Suman Anna <s-anna@ti.com> Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
David Lechner authored
This is based on the davinci da850evm. It can boot from either the on-board 16MB flash or from a microSD card. It also reads board information from an I2C EEPROM. The EV3 itself initally boots from write-protected EEPROM, so no u-boot SPL is needed. Signed-off-by:
David Lechner <david@lechnology.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Nishanth Menon authored
Enable support for PMMC the TI power processor on K2G. This processor manages all power management related activities on the SoC and and allows the Operating Systems on compute processors such as ARM, DSP to offload the power logic away into the power processor. U-boot just has a load responsibility, hence the view of the hardware from a bootloader perspective is different from the view of hardware from a Operating System perspective. While bootloader just loads up the firmware, Operating Systems look at the resultant system as "hardware". Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Nishanth Menon authored
These are useful for modules that need to be held in reset and are enabled for data to be loaded on to them. Typically these are microcontrollers or other processing entities in the system. Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Nishanth Menon authored
'#define X a | b' is better defined as '#define X (a | b)' for obvious reasons. Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Nishanth Menon authored
u-boot coding style guidance in http://www.denx.de/wiki/U-Boot/CodingStyle clearly mentions that the kernel doc style shall be followed for documentation in u-boot. Current PSC documentation standard does not, so fix that. Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Nishanth Menon authored
With commit fe772ebd ("ARM: keystone2: Use common definition for clk_get_rate"), we have centralized the clock code into a common clock logic and the redundant files, unfortunately remained... Clean that up. Signed-off-by:
Nishanth Menon <nm@ti.com> Acked-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Kipisz, Steven authored
Current AM57xx evm supports both BeagleBoard-X15 (http://beagleboard.org/x15) and AM57xx EVM (http://www.ti.com/tool/tmdxevm5728 ). The AM572x EValuation Module(EVM) provides an affordable platform to quickly start evaluation of Sitara. ARM Cortex-A15 AM57x Processors (AM5728, AM5726, AM5718, AM5716) and accelerate development for HMI, machine vision, networking, medical imaging and many other industrial applications. This EVM is based on the same BeagleBoard-X15 Chassis and adds mPCIe, mSATA, LCD, touchscreen, Camera, push button and TI's wlink8 offering. Since the EEPROM contents are compatible between the BeagleBoard-X15 and the AM57xx-evm, we add support for the detection logic to enable support for various user programmable scripting capability. NOTE: U-boot configuration is currently a superset of AM57xx evm and BeagleBoard-X15 and no additional configuration tweaking is needed. This change also sets up the stage for future support of TI AM57xx EVMs to the same base bootloader build. Signed-off-by:
Steve Kipisz <s-kipisz2@ti.com> Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Kipisz, Steven authored
Many TI EVMs have capability to store relevant board information such as DDR description in EEPROM. Further many pad configuration variations can occur as part of revision changes in the platform. In-order to support these at runtime, we for a board detection hook which is available for override from board files that may desire to do so. NOTE: All TI EVMs are capable of detecting board information based on early clocks that are configured. However, in case of additional needs this can be achieved within the override logic from within the board file. Signed-off-by:
Steve Kipisz <s-kipisz2@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Nishanth Menon authored
Now that we have a generic TI eeprom logic which can be reused across platforms, reuse the same. This revision also includes fixes identified by Dave Gerlach <d-gerlach@ti.com> Cc: Dave Gerlach <d-gerlach@ti.com> Signed-off-by:
Nishanth Menon <nm@ti.com> Signed-off-by:
Steven Kipisz <s-kipisz2@ti.com> Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Nishanth Menon authored
Use the generic EEPROM detection logic instead of duplicating the AM eeprom logic. Signed-off-by:
Nishanth Menon <nm@ti.com> Signed-off-by:
Steven Kipisz <s-kipisz2@ti.com> Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Lokesh Vutla authored
Several TI EVMs have EEPROM that can contain board description information such as revision, DDR definition, serial number, etc. In just about all cases, these EEPROM are on the I2C bus and provides us the opportunity to centralize the generic operations involved. The on-board EEPROM on the BeagleBone Black, BeagleBone, AM335x EVM, AM43x GP EVM, AM57xx-evm, BeagleBoard-X15 share the same format. However, DRA-7* EVMs, OMAP4SDP use a modified format. We hence introduce logic which is generic between these platforms without enforcing any specific format. This allows the boards to use the relevant format for operations that they might choose. This module will compile for all TI SoC based boards when CONFIG_TI_I2C_BOARD_DETECT is enabled to have optimal build times for platforms that require this support. It is important to note that this logic is fundamental to the board configuration process such as DDR configuration which is needed in SPL, hence cannot be part of the standard u-boot driver model (which is available later in the process). Hence, to aid efficiency, the eeprom contents are copied over to SRAM scratchpad memory area at the first invocation to retrieve data. To prevent churn with cases such as DRA7, where eeprom format maybe incompatible, we introduce a generic common format in eeprom which is made available over accessor functions for usage. Special handling for BBG1 EEPROM had to be introduced thanks to the weird eeprom rev contents used. The follow on patches introduce the use of this library for AM335x, AM437x, and AM57xx. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by:
Steve Kipisz <s-kipisz2@ti.com> Signed-off-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Nishanth Menon <nm@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-