summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2
AgeCommit message (Collapse)Author
2018-01-19arm: emif-common: Add suppport for enabling ECCLokesh Vutla
For data integrity, the EMIF1 supports ECC on the data written or read from the SDRAM. Add support for enabling ECC support in EMIF1. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Krunal Bhargav <k-bhargav@ti.com>
2018-01-19arm: emif-common: Add ecc specific emif registersLokesh Vutla
This is a slight difference in emif_ddr_phy_status register offsets for DRA7xx EMIF and older versions. And ecc registers are available only in DRA7xx EMIC. Add support for this difference and ecc registers. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2018-01-19arm: am33xx: Avoid writing into reserved DPLL dividerLokesh Vutla
DPLL DRR doesn't have an M4 divider. But the clock driver is trying to configure M4 divider as 4(writing into a reserved register). Fixing it by making M4 divider as -1. Reported-by: Steve Kipisz <s-kipisz2@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2018-01-11mach-omap2: add AM335x Display PLL register definitionHannes Schmelzer
Adds the register definition of the Display DPLL Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at> Reviewed-by: Anatolij Gustschin <agust@denx.de>
2018-01-01ARM: dts: omap3-evm: Enable DM and devicetree for TMDSEVM{3530, 3730}Derald D. Woods
This commit updates the configuration files needed to support OF_CONTROL on the OMAP3 EVM baseboard. Additionally: - CONFIG_SYS_THUMB_BUILD is enabled - CONFIG_SPL_ENV_SUPPORT is enabled Tested using GCC 7.2.0 [--with-float=hard --with-mode=thumb]. Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
2017-12-04Merge git://git.denx.de/u-boot-uniphierTom Rini
2017-12-04mtd: nand: Rename nand.h into rawnand.hMasahiro Yamada
This header was renamed to rawnand.h in Linux. The following is the corresponding commit in Linux. commit d4092d76a4a4e57b65910899948a83cc8646c5a5 Author: Boris Brezillon <boris.brezillon@free-electrons.com> Date: Fri Aug 4 17:29:10 2017 +0200 mtd: nand: Rename nand.h into rawnand.h We are planning to share more code between different NAND based devices (SPI NAND, OneNAND and raw NANDs), but before doing that we need to move the existing include/linux/mtd/nand.h file into include/linux/mtd/rawnand.h so we can later create a nand.h header containing all common structure and function prototypes. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-12-02omap2: set the ethaddr as well as the usbethaddr env var to ensure static MACPeter Robinson
The kernel gets the ethernet MAC from the ethaddr variable, the omap boards for devices with USB based eth adapters just set the usbethaddr which doesn't appear to get passed to the kernel. The same Raspberry Pi code sets both ethaddr and usbethaddr so lets do that so linux (tested 4.13 and 4.14) get a static rather than a random MAC address, while not regressing users of usbethaddr. Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
2017-11-21ARM: dra7: Kconfig: Add thermal configs for dra7xx and am57xxFaiz Abbas
Configure thermal configs to remain set by default for dra7xx and am57xx devices. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-11-17am33xx: Add a function to query MPU voltage in uVFelix Brack
For the DM TPS65910 driver I'm working on, querying the MPU voltage should return a value in uV. This value can then be used by the regulator's standard function set_value to set the MPU voltage. Signed-off-by: Felix Brack <fb@ltec.ch> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-10-20Convert CONFIG_NAND_OMAP_GPMC et al and CONFIG_NAND_MXC to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_NAND_MXC CONFIG_NAND_OMAP_GPMC CONFIG_NAND_OMAP_GPMC_PREFETCH CONFIG_NAND_OMAP_ELM CONFIG_SPL_NAND_AM33XX_BCH CONFIG_SPL_NAND_SIMPLE CONFIG_SYS_NAND_BUSWIDTH_16BIT Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de> [trini: Finish migration of CONFIG_SPL_NAND_SIMPLE, fix some build issues, add CONFIG_NAND_MXC so we can do CONFIG_SYS_NAND_BUSWIDTH_16BIT] Signed-off-by: Tom Rini <trini@konsulko.com>
2017-10-16arm: dra76: fastboot: extend cpu type for getvar commandPraneeth Bajjuri
'commit fa24eca1f20a ("omap: Add routine for setting fastboot variables")' adds initial support and usage of "fastboot getvar" command for DRA75x and DRA72x devices. and 'commit 0f9e6aee9dbc ("arm: dra76: Add support for ES1.0 detection")' adds initial dra76 device definition This patch is to extend usage of "fastboot getvar" for DRA76 device. Signed-off-by: Praneeth Bajjuri <praneeth@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-10-16omap-common: fastboot: extend cpu type for DRA71x rev 2.1Vishal Mahaveer
DRA71x processors are reduced pin and software compatible derivative of DRA72 processors. Extend support for this revision in "getvar cpu" command. Signed-off-by: Vishal Mahaveer <vishalm@ti.com> [praneeth@ti.com: rebase to u-boot master] Signed-off-by: Praneeth Bajjuri <praneeth@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-10-06omap: Fix warning when looking for userdata partSam Protsenko
When eMMC was formattaed for Linux partition table, "userdata" partition is missing. In this case, part_get_info_by_name() iterates over all registered drivers (which are PART_TYPE_EFI, PART_TYPE_DOS and PART_TYPE_ISO). And when it comes to PART_TYPE_ISO (which has empty partition table), we can see next warning in U-Boot output: ** First descriptor is NOT a primary desc on 1:1 ** This patch switches to part_get_info_by_name_type() API in order to check only EFI partitions for "userdata" partitions. This eliminates mentioned warning. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-10-06omap: Omit fastboot.userdata_size related errorsSam Protsenko
When using regular $partitions variable (for Linux boot), we can see some unwanted messages: > ERROR: cannot find partition: 'userdata' > at arch/arm/mach-omap2/utils.c:96/omap_mmc_get_part_size() > Warning: fastboot.userdata_size: unable to calc Let's remove those, as missing 'userdata' partition is correct behavior for Linux partition, and we don't want to see some Android-related messages in this case. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
2017-10-06omap: detect board before spl_early_init()Jean-Jacques Hiblot
In order to be able to select the right DTB, we need to have identified the board before spl_early_init() is called. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-10-04treewide: replace with error() with pr_err()Masahiro Yamada
U-Boot widely uses error() as a bit noisier variant of printf(). This macro causes name conflict with the following line in include/linux/compiler-gcc.h: # define __compiletime_error(message) __attribute__((error(message))) This prevents us from using __compiletime_error(), and makes it difficult to fully sync BUILD_BUG macros with Linux. (Notice Linux's BUILD_BUG_ON_MSG is implemented by using compiletime_assert().) Let's convert error() into now treewide-available pr_err(). Done with the help of Coccinelle, excluing tools/ directory. The semantic patch I used is as follows: // <smpl> @@@@ -error +pr_err (...) // </smpl> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org> [trini: Re-run Coccinelle] Signed-off-by: Tom Rini <trini@konsulko.com>
2017-09-29arm: am33xx: security: adds auth support for encrypted imagesMadan Srinivas
This patch adds support for authentication of both plain text and encrypted binaries. A new SECDEV package is needed to enable encryption of binaries by default for AM3x. The ROM authentication API detects encrypted images at runtime and automatically decrypts the image if the signature verification passes. Addition of encryption on AM3x results in a change in the image format. On AM4x, AM5x and, on AM3x devices signing clear test images, the signature is appended to the end of the binary. On AM3x, when the SECDEV package is used to create signed and encrypted images, the signature is added as a header to the start of the binary. So the binary size calculation has been updated to reflect this change. The signing tools and encrypted image format for AM3x cannot be changed to behave like AM4x and AM5x to maintain backward compatibility with older Sitara M-Shield releases. Signed-off-by: Madan Srinivas <madans@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com>
2017-09-29ARM: omap3: am3517-evm: Add device tree and DM supportAdam Ford
With the device tree ported from Linux 4.13, this enables Driver Model and Device Tree support for the am3517-evm Signed-off-by: Adam Ford <aford173@gmail.com> Tested-by: Derald D. Woods <woods.technical@gmail.com>
2017-09-22arm: am33xx: Make pin multiplexing functions optionalFelix Brack
This patch provides default implementations of the two functions set_uart_mux_conf and set_mux_conf_regs. Hence boards not using them do not need to provide their distinct empty definitions. Signed-off-by: Felix Brack <fb@ltec.ch> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-09-15arm: mach-omap2: Relax checks on OP-TEE location to allow pageable imageHarinarayan Bhatta
When the OP-TEE image is built for secure paging the load address may be in SRAM, remove checks that prevent this. Signed-off-by: Harinarayan Bhatta <harinarayan@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-09-13Convert CONFIG_EMIF4 et al to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_EMIF4 CONFIG_SDRC Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefano Babic <sbabic@denx.de>
2017-09-13arm: dts: omap3: Re-sync DTS files with Linux 4.13-RC5Adam Ford
The DTS files had some spacing issues and they needed fixing. This pull re-sync's the OMAP3xx related DTS files with Linux 4.13-RC5. To keep the DTS and DTSI files clean and in sync with Linux, new u-boot.dtsi files are added. Signed-off-by: Adam Ford <aford173@gmail.com> V3: The resync broke card detect on MMC1 on Logic PD's Torpedo, so we add the cd-invert to the Torpedo's -u-boot.dtsi file. V2: Add the u-boot.dtsi files for OMAP3, OMAP36xx, and Torpedo Remove the need for the second patch in the series
2017-09-12ARM: DRA72x: Add support for detection of DRA71x SR 2.1Vishal Mahaveer
DRA71x processors are reduced pin and software compatible derivative of DRA72 processors. Add support for detection of SR2.1 version of DRA71x family of processors. Signed-off-by: Vishal Mahaveer <vishalm@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-09-11board: ti: dra76-evm: Add DDR dataLokesh Vutla
dra76-evm has the ddr parts connectedi running at 666MHz: EMIF1: MT41K512M16HA-125 AIT:A x 2 EMIF2: MT41K512M8RH-125-AAT:E x 4 Add support for configuring the above DDR parts. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-09-11board: ti: dra76-evm: Add the pmic dataKeerthy
dra76-evm uses lp8736 and tps65917 pmic for powering on various peripherals. Add data for these pmics and register for dra76-evm. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Keerthy <j-keerthy@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-09-11arm: dra76: Add support for ES1.0 detectionPraneeth Bajjuri
dra76 family is a high-performance, infotainment application device, based on OMAP architecture on a 28-nm technology. This contains most of the subsystems, peripherals that are available on dra74, dra72 family. This SoC mainly features Subsystems: - 2 x Cortex-A15 with max speed of 1.8GHz - 2 X DSP - 2 X Cortex-M4 IPU - ISS - CAL - DSS - VPE - VIP Connectivity peripherals: - 1 USB3.0 and 3 USB2.0 subsystems - 1 x SATA - 2 x PCI Express Gen2 - 3-port Gigabit ethernet switch - 2 x CAN - MCAN Adding CPU detection support for the dra76 ES1.0 soc and update prcm, control module, dplls data. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Praneeth Bajjuri <praneeth@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-09-11arm: dra7: Kconfig: Select LP87565 related configsLokesh Vutla
LP87565 is present on dra76-evm. Select it for TARGET_DRA7XX_EVM. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-09-11palmas: Add support for powering different ldosLokesh Vutla
It is not necessary that ldo1 is used to power on mmc. So, add support for passing ldo registers for powering on mmc. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-09-11arm: omap5+: Add board specific ldo poweringLokesh Vutla
It is not necessary all omap5+ based uses the same PMIC to poweron mmc. So add support for enabling mmc based on board. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-09-01Convert CONFIG_SPL_OMAP3_ID_NAND to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_SPL_OMAP3_ID_NAND Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-16env: Rename getenv/_f() to env_get()Simon Glass
We are now using an env_ prefix for environment functions. Rename these two functions for consistency. Also add function comments in common.h. Quite a few places use getenv() in a condition context, provoking a warning from checkpatch. These are fixed up in this patch also. Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-16env: Rename eth_setenv_enetaddr() to eth_env_set_enetaddr()Simon Glass
Rename this function for consistency with env_set(). Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-16env: Rename setenv() to env_set()Simon Glass
We are now using an env_ prefix for environment functions. Rename setenv() for consistency. Also add function comments in common.h. Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-15env: Drop saveenv() in favour of env_save()Simon Glass
Use the env_save() function directly now that there is only one implementation of saveenv(). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Wolfgang Denk <wd@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-08-14Merge branch 'master' of git://git.denx.de/u-boot-rockchipTom Rini
2017-08-13ARM: OMAP5: Enable support for AVS0 for OMAP5 production devicesNishanth Menon
OMAP5432 did go into production with AVS class0 registers which were mutually exclusive from AVS Class 1.5 registers. Most OMAP5-uEVM boards use the pre-production Class1.5 which has production efuse registers set to 0. However on production devices, these are set to valid data. scale_vcore logic is already smart enough to detect this and use the "Nominal voltage" on devices that do not have efuse registers populated. On a test production device populated as follows: MPU OPP_NOM: => md.l 0x04A0021C4 1 4a0021c4: 03a003e9 .... (0x3e9 = 1.01v) vs nom voltage of 1.06v MPU OPP_HIGH: => md.l 0x04A0021C8 1 4a0021c8: 03400485 ..@. MM OPP_NOM: => md.l 0x04A0021A4 1 4a0021a4: 038003d4 .... (0x3d4 = 980mV) vs nom voltage of 1.025v MM OPP_OD: => md.l 0x04A0021A8 1 4a0021a8: 03600403 ..`. CORE OPP_NOM: => md.l 0x04A0021D8 1 4a0021d8: 000003cf .... (0x3cf = 975mV) vs nom voltage of 1.040v Since the efuse values are'nt currently used, we do not regress on existing pre-production samples (they continue to use nominal voltage). But on boards that do have production samples populated, we can leverage the optimal voltages necessary for proper operation. Tested on: a) 720-2644-001 OMAP5UEVM with production sample. b) 750-2628-222(A) UEVM5432G-02 with pre-production sample. Data based on OMAP5432 Technical reference Manual SWPU282AF (May 2012-Revised Aug 2016) NOTE: All collaterals on OMAP5432 silicon itself seems to have been removed from ti.com, though EVM details are still available: http://www.ti.com/tool/OMAP5432-EVM Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-08-13spl: add hierarchical defaults for SPL_LDSCRIPTPhilipp Tomsich
With SPL_LDSCRIPT moved to Kconfig (and this being a 'string' config node), all the lingering definitions in header files will cause warnings/errors due to the redefinition of the configuration item. As we don't want to pollute the defconfig files (and values should usually be identical for entire architectures), the defaults are moved into Kconfig. Kconfig will always pick the first default that matches, so please keep these values at the end of each file (to allow any board-specific Kconfig, which will be included earlier) to override with an unconditional default setting. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-12omap3: incorrect logical check in do_emif4_initxypron.glpk@gmx.de
((readl(&emif4_base->sdram_iodft_tlgc) & (1<<10)) == 0x01) is always false. This does not match the comment /*Wait till that bit clears*/ The problem was indicated by cppcheck. I do not have the hardware to test if the code change below leads to a correct system behavior. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-12arm: omap: Fix 'get_device_type()' for OMAP34XXDerald D. Woods
Fixes: 00bbe96ebabb ("arm: omap: Unify get_device_type() function") The control status register value is embedded in a structure somewhere in SRAM, with the last refactoring effort. This patch allows OMAP3 EVM (TMDSEVM3530) to boot again using the known control register base and offset for 'readl', for the OMAP34XX case. Signed-off-by: Derald D. Woods <woods.technical@gmail.com> [trini: Change to if/else, add comment about it.] Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-11Convert CONFIG_CMD_SPL to KconfigSimon Glass
This converts the following to Kconfig: CONFIG_CMD_SPL Note that trats does not actually use SPL, so this option can no-longer be set. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2017-08-10Convert CONFIG_SYS_I2C_OMAP24XX to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_SYS_I2C_OMAP24XX Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2017-08-09Configs: Migrate CONFIG_SYS_I2C_OMAP34XX to CONFIG_SYS_I2C_OMAP24XXAdam Ford
The driver is for all boards 24XX and up, so let's eliminate the extra option called CONFIG_SYS_I2C_OMAP34XX since the driver checks for CONFIG_OMAP34XX we don't need CONFIG_SYS_I2C_OMAP34XX. Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2017-07-31arm: mach-omap2: Align image address before cache operationsAndrew F. Davis
The image address passed to secure_boot_verify_image() may not be cacheline aligned, round the address down to the nearest cacheline. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-07-23arm: omap3: Detect boot mode very earlyAdam Ford
Fixes 4bd754d8abef ("arm: omap: Detect boot mode very early") where the intent was to store the boot params information in a known location and pass it to SPL very early. Unfortunately it didn't account for OMAP3 boards. This patch adds adds this functionality back into OMAP3 boards. Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Adam Ford <aford173@gmail.com>
2017-07-22arm: mach-omap2: am33xx: Add FDT fixup suport for AM33xx/AM43xx boardsAndrew F. Davis
Similar to what is done with OMAP5 class boards we need to perform fixups common to this SoC class, add support for this here and add HS fixups. Signed-off-by: Andrew F. Davis <afd@ti.com>
2017-07-22arm: mach-omap2: fdt-common: Add OP-TEE node when firmware node is definedAndrew F. Davis
If a firmware node is already present in the FDT we will fail to create one and so fail to add our OP-TEE node, make this fixup first check for a firmware node and then only try to add one if it is not found. Signed-off-by: Andrew F. Davis <afd@ti.com>
2017-07-22arm: mach-omap2: Factor out common FDT fixup suportAndrew F. Davis
Some of the fixups currently done for OMAP5 class boards are common to other OMAP family devices, move these to fdt-common.c. Signed-off-by: Andrew F. Davis <afd@ti.com>
2017-07-22arm: mach-omap2: Move omap5/sec-fxns.c into sec-common.cAndrew F. Davis
TEE loading and firewall setup are common to all omap2 devices, move these function out of omap5 and into mach-omap2. This allows us to use these functions from other omap class devices. Signed-off-by: Andrew F. Davis <afd@ti.com>
2017-07-11am33xx: board: Refactor USB initialization into separate functionAlexandru Gagniuc
The declaration of otg*_plat and otg*_board_data is guarded by CONFIG_USB_MUSB_*, but their use in arch_misc_init is not. The ifdef flow goes something like: if (CONFIG_USB_MUSB_* && other_conditions) declare usb_data if (other_conditions) use usb_data Thus when CONFIG_USB_MUSB_* is not declared, we try to use the data structures, but these structures aren't defined. To fix this, move the USB initialization code into the same #ifdef which guards the declaration of the data structures. Since the DM_USB vs legacy cases are completely different, use two versions of arch_misc_init(), for readability. Signed-off-by: Alexandru Gagniuc <alex.g@adaptrum.com> Reviewed-by: Tom Rini <trini@konsulko.com>