summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-12-03Enable DISTRO_DEFAULT on platforms that missed it beforeTom Rini
A number of platforms had been using the distro default feature before it was moved to Kconfig but did not enable the new Kconfig option when it was enabled. This caused a regression in terms of features and this introduces breakage when more things move to Kconfig. Signed-off-by: Tom Rini <trini@konsulko.com>
2016-12-03cmd: Convert CMD_BOOTMENUTom Rini
Also convert MENU while we're in here. Signed-off-by: Tom Rini <trini@konsulko.com>
2016-12-03board: ti: am57xx: add FIT image TEE processingAndrew F. Davis
Populate the corresponding TEE image processing call to be performed during FIT loadable processing. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03board: ti: dra7xx: add FIT image TEE processingAndrew F. Davis
Populate the corresponding TEE image processing call to be performed during FIT loadable processing. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03arm: omap5: Add OPTEE node to fdtAndrew F. Davis
Add an OPTEE node to the FDT when TEE installation has completed successfully. This informs the kernel of the presence of OPTEE. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03arm: omap5: Add TEE loading supportHarinarayan Bhatta
secure_tee_install is used to install and initialize a secure TEE OS such as Linaro OP-TEE into the secure world. This function takes in the address where the signed TEE image is loaded as an argument. The signed TEE image consists of a header (struct tee_header), TEE code+data followed by the signature generated using image signing tool from TI security development package (SECDEV). Refer to README.ti-secure for more information. This function uses 2 new secure APIs. 1. PPA_SERV_HAL_TEE_LOAD_MASTER - Must be called on CPU Core 0. Protected memory for TEE must be reserved before calling this function. This API needs arguments filled into struct ppa_tee_load_info. The TEE image is authenticated and if there are no errors, the control passes to the TEE entry point. 2. PPA_SERV_HAL_TEE_LOAD_SLAVE - Called on other CPU cores only after a TEE_LOAD_MASTER call. Takes no arguments. Checks if TEE was successfully loaded (on core 0) and transfers control to the same TEE entry point. The code at TEE entry point is expected perform OS initialization steps and return back to non-secure world (U-Boot). Signed-off-by: Harinarayan Bhatta <harinarayan@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03arm: omap5: Add function to make an SMC call on cpu1Harinarayan Bhatta
On DRA7xx platform, CPU Core 1 is not used in u-boot. However, in some cases it is need to make secure API calls from Core 1. This patch adds an assembly function to make a secure (SMC) call from CPU Core #1. Signed-off-by: Harinarayan Bhatta <harinarayan@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03image: Add Trusted Execution Environment image typeAndrew F. Davis
Add a new image type representing Trusted Execution Environment (TEE) image types. For example, an OP-TEE OS binary image. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2016-12-03image: Add FIT image loadable section custom processingAndrew F. Davis
To help automate the loading of custom image types we add the ability to define custom handlers for the loadable section types. When we find a compatible type while loading a "loadable" image from a FIT image we run its associated handlers to perform any additional steps needed for loading this image. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2016-12-03davinci: omapl138_lcdk: add DT support for EMMC bootFabien Parent
When booting from EMMC, load the DTB and pass it to the kernel. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: omapl138_lcdk: improve readability of boot commandFabien Parent
Improve the readability of the boot command. This will help a later commit that adds DT support. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: omapl138_lcdk: add NAND SPL boot supportFabien Parent
NAND SPL boot was missing. Add it. The README specific to omapl138-lcdk is also removed because its content does not apply anymore, i.e. the generated AIS image can be flashed directly to the NAND without using any external tool to create and bootable AIS image. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: omapl138_lck: remove obsolete defineFabien Parent
NAND_MAX_CHIPS is not used anymore and has been replaced by CONFIG_SYS_MAX_NAND_DEVICE. There is no need to keep the former define. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: omapl138_lcdk: use correct name for CONFIG_SYS_NAND_MASK_ALEFabien Parent
CONFIG_SYS_ALE_MASK is not used anywhere. It has probably been renamed to CONFIG_SYS_NAND_MASK_ALE. Rename it and remove the former from the config_whitelist.txt file. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: omapl138_lcdk: use correct name for CONFIG_SYS_NAND_MASK_CLEFabien Parent
CONFIG_SYS_CLE_MASK is not used anywhere. It has probably been renamed to CONFIG_SYS_NAND_MASK_CLE. Rename it and remove the former from the config_whitelist.txt file. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: omapl138_lcdk: use correct define for 16 bit NAND chipsFabien Parent
The omapl138_lcdk header defines CONFIG_SYS_NAND_BUSWIDTH_16_BIT while the correct name is CONFIG_SYS_NAND_BUSWIDTH_16BIT. While renaming the only occurrence of CONFIG_SYS_NAND_BUSWIDTH_16_BIT, let's also remove it from the config_whitelist.txt file. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03NAND: davinci: add support for NAND chips with 16 bits busFabien Parent
The OMAPL138-LCD board uses a NAND chip with a 16 bits bus. Add support into the davinci driver for 16 bit bus NAND chips. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: omapl138_lcdk: add u-boot sector for mmc/sd bootFabien Parent
Set the correct CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR value in order to be able to boot from MMC/SD. The SPL is stored at sector 0x75, while u-boot will follow at sector 0xb5. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: da850evm: fix empty boot method list in the SPLFabien Parent
The list of available boot method is not part of the binary which prevent the SPL from booting u-boot or Linux. Add the missing .u_boot_list* sections to the binary to fix it. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: omapl138_lcdk: configure ddr2Fabien Parent
The SPL is unable to load u-boot because the DDR2 is not configured. Configure the DDR2. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03davinci: omapl138_lcdk: configure pll0Fabien Parent
The SPL is not able to boot properly because the PLL0 is not configured. Configure it. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03ARM: davinci: Move CONFIG_SYS_DA850_DDR_INIT to KconfigFabien Parent
Clean config headers by moving CONFIG_SYS_DA850_DDR_INIT away to a Kconfig file. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03ARM: davinci: Move CONFIG_SYS_DA850_PLL_INIT to KconfigFabien Parent
Clean config headers by moving CONFIG_SYS_DA850_PLL_INIT away to a Kconfig file. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03ARM: DRA7x/AM57xx: Get rid of CONFIG_AM57XXNishanth Menon
CONFIG_AM57XX is just an unnecessary macro that is redundant given So, remove the same instead of spreading through out the u-boot source code and getting in the way to maintain common code for DRA7x family. Acked-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03usb: xhci: Remove assumption of DWC instance based on DRA7 SoC typeNishanth Menon
Both AM57xx and DRA7xx share the same set of base addresses for DWC controllers. The usage however differ with DWC2 instance used typically in AM57xx evms while DWC1 instances used in DRA7x platforms. Use TARGET_SOC config to differentiate so that CONFIG_AM57XX can be dropped. Eventually, this needs to be dt-fied. Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03ARM: K2G: DDR3: Fix up priv ID for MPUNishanth Menon
For ECC enabled DDR, we use EDMA to reset all memory values to 0. For K2E/L/H/K the priv ID of 8 was indicative of ARM, but that is not the case for K2G, where it is 1. Unfortunately, ddr3 code had hard coded the privID and had missed identification previously. Fix the same, else unforeseen behavior can be expected in our reset of DDR contents to 0 for ECC enablement. Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03ARM: AMx3xx: Make FIT boot as default boot on HS devicesLokesh Vutla
Verification has to be done before booting any images on HS devices. So default the boot to FIT on HS devices. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03ARM: AM57xx: Make FIT boot as default boot on HS devicesLokesh Vutla
Verification has to be done before booting any images on HS devices. So default the boot to FIT on HS devices. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03ARM: DRA7: Make FIT boot as default boot on HS devicesLokesh Vutla
Verification has to be done before booting any images on HS devices. So default the boot to FIT on HS devices. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03ti_armv7_common: env: Add support for loading FIT imagesLokesh Vutla
FIT is a new image format which is a Tree like structure and gives more flexibility in handling of various images. Mainly used for unification of multiple images in a single blob and provide security information for each image. U-Boot already has support for loading such images, so adding the environment support to load FIT image on all TI platforms. Reviewed-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03ti_armv7_common: env: Consolidate support for loading images from mmcLokesh Vutla
Support for loading images from mmc is duplicated in all TI platforms. Add this information to DEFAULT_MMC_TI_ARGS so that it can be reused in all TI platforms. Reviewed-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-03configs: am43x: hs: Modify SPL load address to fix UART boot issueMadan Srinivas
An issue in the TI secure image generation tool causes the ROM to load the SPL at a different load address than what is specified by CONFIG_ISW_ENTRY_ADDR while doing a peripheral boot. This causes the SPL to fail on secure devices during peripheral boot. The TI secure image generation tool has been fixed so that the SPL will always be loaded at 0x403018E0 by the ROM code for both peripheral and memory boot modes. am43x hs defconfig file have been updated to reflect this change. Signed-off-by: Madan Srinivas <madans@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2016-12-02cmd: crosec: Move cros_ec_decode_region helper to cmd/cros_ec.cMoritz Fischer
The cros_ec_decode_region() function is only used in combination with the crosec cmds. Move the function to the correct place. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com> Cc: Simon Glass <sjg@chromium.org> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: u-boot@lists.denx.de Acked-by: Simon Glass <sjg@chromium.org>
2016-12-02drivers: usb: musb: add ti musb host driver with driver model supportMugunthan V N
Add a TI MUSB host driver with driver model support and the driver will be bound by the MUSB wrapper driver based on the dr_mode device tree entry. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-02drivers: usb: musb: adopt musb backend driver to driver modelMugunthan V N
Currently all backend driver ops uses hard coded physical address, so to adopt the driver to DM, add device pointer to ops call backs so that drivers can get physical addresses from the usb driver priv/plat data. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-02am33xx: board: probe misc drivers to register musb devicesMugunthan V N
MUSB wrapper driver is bound as MISC device and underlying usb devices are bind to usb drivers based on dr_mode, so probing the MISC wrapper driver to register musb devices. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-02drivers: usb: musb: add ti musb misc driver for wrapperMugunthan V N
Add a misc driver for MUSB wrapper, so that based on dr_mode the USB devices can bind to USB host or USB device drivers. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-02am33xx: board: do not register usb devices when CONFIG_DM_USB is definedMugunthan V N
Do not register usb devices when CONFIG_DM_USB is define. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-02configs: am335x: usb: do not define CONFIG_DM_USB for splMugunthan V N
Since OMAP's spl doesn't support DM currently, do not define CONFIG_DM_USB for spl build. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-02rtc: Add RTC chip pcf2127 supportMeng Yi
This driver compatible with pcf2127 and pcf2129 Signed-off-by: Meng Yi <meng.yi@nxp.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2016-12-02dm: core: Add dev_get_addr_size_index() to retrieve addr and sizeStefan Roese
The currently available functions accessing the 'reg' property of a device only retrieve the address. Sometimes its also necessary to retrieve the size described by the 'reg' property. This patch adds the new function dev_get_addr_size_index() which retrieves both, the address and the size described by the 'reg' property. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
2016-12-02libfdt: replace ARCH_FIXUP_FDT with ARCH_FIXUP_FDT_MEMORYMasahiro Yamada
Commit e2f88dfd2d96 ("libfdt: Introduce new ARCH_FIXUP_FDT option") allows us to skip memory setup of DTB, but a problem for ARM is that spin_table_update_dt() and psci_update_dt() are skipped as well if CONFIG_ARCH_FIXUP_FDT is disabled. This commit allows us to skip only fdt_fixup_memory_banks() instead of the whole of arch_fixup_fdt(). It will be useful when we want to use a memory node from a kernel DTB as is, but need some fixups for Spin-Table/PSCI. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Alexey Brodkin <abrodkin@synopsys.com> Acked-by: Simon Glass <sjg@chromium.org> Fixed build error for x86: Signed-off-by: Simon Glass <sjg@chromium.org>
2016-12-02cmd/fdt: fix uncallable systemsetup commandFabien Parent
The function that is processing the 'fdt' parameters is one big if-else if. In order to be able to type command faster only the first few letter are checked to know which block of code to execute. For systemsetup, the block of code that was executed was always the wrong one and ended up in a failure. } else if (argv[1][0] == 's') { process "fdt set" command } else if (strncmp(argv[1], "sys", 3) == 0) { process "fdt systemsetup" command. } When typing "fdt systemsetup", the code that was executed was the code for "fdt set". This commit fix this issue by moving the "else if" for systemsetup before the else if for "fdt set". This allow us to keep compatibility with any script that make use of "fdt s" to set node values. Signed-off-by: Fabien Parent <fparent@baylibre.com> Acked-by: Simon Glass <sjg@chromium.org>
2016-12-02drivers: usb: gadget: ether: prepare driver for driver model migrationMugunthan V N
prepare driver for driver model migration Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2016-12-02drivers: usb: gadget: ether: use net device priv to pass usb ether privMugunthan V N
Use net device priv to pass usb ether priv and use it in net device ops callback. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2016-12-02drivers: usb: gadget: ether: consolidate global devices to single structMugunthan V N
Consolidate the net device, usb eth device and gadget device struct to single struct and a single global variable so that the same can be passed as priv of ethernet driver. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2016-12-02drivers: usb: gadget: ether: adopt to usb driver modelMugunthan V N
Convert usb ether gadget to adopt usb driver model Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2016-12-02drivers: usb: gadget: ether: access network_started using local variableMugunthan V N
network_started of struct eth_dev can be accessed using local variable dev and no reason to access it with the global struct. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2016-12-02dm: blk: Fix get_desc to return block device descriptorMichal Simek
Current get_desc() implementation is not able to succesfully finish and return pointer to block device descriptor. Also function always return non zero value even device is found. The patch fills block device descriptor and return 0 if device is found. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2016-12-02dm: core: Handle global_data moving in SPLSimon Glass
When CONFIG_SPL_STACK_R is enabled, and spl_init() is called before board_init_r(), spl_relocate_stack_gd() will move global_data to a new place in memory. This affects driver model since it uses a list for the uclasses. Unless this is updated the list will become invalid. When looking for a non-existent uclass, such as when adding a new one, the loop in uclass_find() may continue forever, thus causing a hang. Add a function to correct this rather obscure bug. Signed-off-by: Simon Glass <sjg@chromium.org>