summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ks2_evm: Add EEPROM based board detection helper functionsCooper Jr., Franklin2017-07-101-0/+20
| | | | | | | | | Add a function that can be used to determine if the board being ran on is a K2G Industrial Communication Engine EVM or K2G General Purpose EVM based on values programmed on the EEPROM. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ARM: k2g: Program DDRPHY_DATX8 registers via mask and value variablesCooper Jr., Franklin2017-07-102-5/+41
| | | | | | | | | | Different K2G evms may need to program the various KS2_DDRPHY_DATX8_X_OFFSET registers in different ways. Therefore, use the mask and val registers for each KS2_DDRPHY_DATAX_X_OFFSET to properly program the register. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ARM: k2g: Program DDR PHY MR2 register with the default valueCooper Jr., Franklin2017-07-102-3/+2
| | | | | | | | | | | K2G GP doesn't require the MR2 register to be programed since the default is good enough. However, newer K2G boards do need to change this register value. Therefore, instead of not writing this register if ran on a K2G board just program the value to be written to match the default/reset value. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ARM: keystone2: Add additional fields used for DDR3 configurationCooper Jr., Franklin2017-07-102-0/+17
| | | | | | | | | Future boards will need to configure DDR3 registers in a slightly different manner. Support this by defining additional variables and defines that will be utilized later. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* defconfig: keystone2: Enable U-boot runtime DTB detectionCooper Jr., Franklin2017-07-104-0/+12
| | | | | | | | Enable various config options to allow U-boot at runtime to select the proper dtb to use from the list of dtb's within the FIT image. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ks2_evm: Add EEPROM based board detectionCooper Jr., Franklin2017-07-102-21/+24
| | | | | | | | | | | | | Some K2G evms have their EEPROM programming while most do not. Therefore, add EEPROM board detection to be used as the default method and fall back to the alternative board detection when needed. Also reorder board configuration. Perform bare minimal configuration initially since board detection hasn't ran. Finish board configuration once the board has been identified. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ARM: keystone2: Define board_fit_config_name_match for Keystone 2 boardsCooper Jr., Franklin2017-07-104-0/+44
| | | | | | | | | Now with support for U-boot runtime dtb selection each board needs to define board_fit_config_name_match so U-boot can determine what the correct dtb is within the FIT blob. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ARM: k2g: Define embedded_dtb_select for runtime DTB selection in U-bootCooper Jr., Franklin2017-07-102-0/+45
| | | | | | | | | | | | | | | | For K2G, runtime DTB selection utilizes the embedded_dtb_select function. Therefore, define the function which will perform a EEPROM read and then retries selecting the correct dtb now that it can detect which board its on. For other Keystone devices use an empty function since they will still use the embedded FIT functionality but their FIT will only contain a single dtb. Most production K2G boards do not have their EEPROM programmed. Therefore, perform a test to verify a K2G GP is currently being used and if it is then set the values normally set by a EEPROM read. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ARM: keystone2: Allow to build with all image formatsCooper Jr., Franklin2017-07-101-2/+2
| | | | | | | | | | | | u-boot.bin is a copy of: u-boot-fit-dtb.bin if CONFIG_FIT_EMBED is enabled, u-boot-dtb.bin if CONFIG_OF_SEPARATE is enabled, u-boot-nodtb.bin if DT is not enabled. So, use u-boot.bin to to generate keystone images instead of u-boot-dtb.bin Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* Makefile: Build additional binaries for dtb FIT blobs appended to U-bootCooper Jr., Franklin2017-07-102-2/+17
| | | | | | | | Add additional make targets and options for building embedded FIT U-boot images. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* board_f: Add new function to allow runtime DTB selectionCooper Jr., Franklin2017-07-103-0/+16
| | | | | | | | | | | | Runtime U-boot dtb selection is generally a two step process. First step is to simply use an initial generic dtb. The second step is to select the dtb and perhaps execute additional code ones U-boot knows what board it is running on. Embedded_dtb_select handles the second step by allowing board specific code to run and perform what ever necessary configuration that is needed. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* arm: dts: Add new "generic" 66AK2Gx device tree file.Cooper Jr., Franklin2017-07-103-1/+49
| | | | | | | | | With U-boot runtime board detect for DTB selection a "default" dtb needs to be created. This will be used temporarily until the "proper" dtb is selected. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ARM: dts: k2g: Introduce U-boot specific dtsi fileCooper Jr., Franklin2017-07-101-0/+19
| | | | | | | | | | | | Introduce K2G evm specific dtsi file for U-boot specific configurations. This will help seperate U-boot only configurations thus making it easier to keep device tree files synced between U-boot and Linux. For now only add nodes to allow i2c drivers to be probed early during the boot process. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* dts: Allow OF_LIST to depend on FIT_EMBEDCooper Jr., Franklin2017-07-101-5/+6
| | | | | | | | | | | OF_LIST will be useable by SPL and U-boot. Therefore, update its dependency to allow it to be enable by either SPL or U-boot specific config option. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-by: Andrew F. Davis <afd@ti.com>
* ti: common: board_detect: Add function to determine if EEPROM was readCooper Jr., Franklin2017-07-102-0/+19
| | | | | | | | | | | | When the EEPROM is first read its contents are stored in memory as a cache to avoid further I2C operations. To determine if the EEPROM was previously read the easiest way is to check the memory to see if the EEPROM's magic header value is set. Create a new function that can determine if the EEPROM was previously read or not without having to perform a I2C transaction. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* fdt: Enable selecting correct DTB from appended FIT ImageCooper Jr., Franklin2017-07-101-0/+10
| | | | | | | | | | This patch gives U-boot the runtime support to have the board specific code decide which FDT to use. This is especially useful for devices that need this type of runtime determination and also doesn't use SPL. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* boot_fit: Create helper functions that can be used to select DTB out of FITCooper Jr., Franklin2017-07-105-0/+100
| | | | | | | | Some platforms may append a FIT image to the U-boot image. This function aids in parsing the FIT image and selecting the correct DTB at runtime. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* spl: fit: Break out some functions into a common fileCooper Jr., Franklin2017-07-104-53/+66
| | | | | | | | | | | | | Some of the functions within spl_fit will be used for non spl purposes. Instead of duplicating functions simply break the functions to be reused into its own file. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> [trini: Only add the new define to image.h, otherwise we see breakage due to massive include leakage into host tools in some cases] Signed-off-by: Tom Rini <trini@konsulko.com>
* ti: common: board_detect: Allow settings board detection variables manuallyNishanth Menon2017-07-102-0/+41
| | | | | | | | | | | | | | | | In some situations the EEPROM used for board detection may not be programmed or simply programmed incorrectly. Therefore, it may be necessary to "simulate" reading the contents of the EEPROM to set appropriate variables used in the board detection code. This may also be helpful in certain boot modes where doing i2c reads may be costly and the config supports running only a specific board. Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Keerthy <j-keerthy@ti.com> Signed-off-by: Franklin S Cooper Jr. <fcooper@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ARM: dts: keystone-k2e-evm: Add U-boot specific dtsi fileCooper Jr., Franklin2017-07-101-0/+15
| | | | | | | | | With Davinci I2C switching to device model, K2E requires U-boot specific device tree entries. This is only required for I2C 1 which is needed extremely early during the boot process. Fixes: 1743d040b1df ("ARM: keystone: Enable DM_I2C by default") Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
* Prepare v2017.07v2017.07Tom Rini2017-07-101-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* km/common: remove unused function declarationsHolger Brunck2017-07-101-9/+0
| | | | | | Cc: Wolfgang Denk <wd@denx.de> Cc: Heiko Schocher <hs@denx.de> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* cmd, nand: fix broken output of "nand info"Lothar Waßmann2017-07-101-2/+2
| | | | | | | | | | | | | | | | | If the value of either "nand options" or "bbt options" has a zero in the most significant nibble, the '0x' prefix will be isolated from the value like shown below: |Device 0: nand0, sector size 128 KiB | Page size 2048 b | OOB size 64 b | Erase size 131072 b | subpagesize 2048 b | options 0x40000200 | bbt options 0x 60000 Change the format string to produce leading zeroes filling the gap. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
* libfdt: Drop -FDT_ERR_TOODEEPSimon Glass2017-07-102-7/+2
| | | | | | | | | | | This error code has not been upstreamed and is not really needed since it is unlikely to be triggered. Drop it to maintain compatability with upstream. Reported-by: Peter Robinson <pbrobinson@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Peter Robinson <pbrobinson@gmail.com>
* configs: Resync defconfigsTom Rini2017-07-1023-49/+34
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* MAINTAINERS: drop bcm283x/rpi maintainershipStephen Warren2017-07-082-4/+4
| | | | | | | | It's been a while since I've touched U-Boot on the Raspberry Pi and other things have been taking my time. Drop my maintainership for this port. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
* powerpc, 8xx: Add support for MCR3000 board from CSSIChristophe Leroy2017-07-0811-0/+604
| | | | | | | | | CS Systemes d'Information (CSSI) manufactures two boards, named MCR3000 and CMPC885 which are respectively based on MPC866 and MPC885 processors. This patch adds support for the first board. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
* powerpc, 8xx: move Serial driver to drivers/serial/Christophe Leroy2017-07-086-50/+54
| | | | | | At the same time, move to Kconfig Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
* powerpc, 8xx: move SPI driver to drivers/spi/Christophe Leroy2017-07-084-4/+7
| | | | Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
* powerpc, 8xx: move FEC Ethernet driver in drivers/netChristophe Leroy2017-07-087-39/+60
| | | | Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
* powerpc, 8xx: Migrate to KconfigChristophe Leroy2017-07-087-37/+154
| | | | | Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Reviewed-by: Heiko Schocher <hs@denx.de>
* powerpc, 8xx: Properly set CPM frequency in the device treeChristophe Leroy2017-07-081-0/+2
| | | | | | | | | For processors whose core runs at twice the bus frequency, the fallback frequency calculation in Linux provides a wrong result. Therefore, U-boot needs to pass the correct value. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Reviewed-by: Heiko Schocher <hs@denx.de>
* powerpc, 8xx: Handle checkpatch errors and some of the warnings/checksChristophe Leroy2017-07-0813-341/+283
| | | | | Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Reviewed-by: Heiko Schocher <hs@denx.de>
* powerpc, 8xx: Implement GLL2 ERRATAChristophe Leroy2017-07-081-0/+20
| | | | | | Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Acked-by: Wolfgang Denk <wd@denx.de> Reviewed-by: Heiko Schocher <hs@denx.de>
* powerpc, 8xx: Use IO accessors to access IO memoryChristophe Leroy2017-07-0812-665/+739
| | | | | Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Reviewed-by: Heiko Schocher <hs@denx.de>
* powerpc, 8xx: move specific reginfoChristophe Leroy2017-07-083-52/+67
| | | | | Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Reviewed-by: Heiko Schocher <hs@denx.de>
* powerpc, 8xx: move immap.c in arch/powerpc/cpu/mpc8xx/Christophe Leroy2017-07-086-13/+10
| | | | | | | | | immap.c used to be common to several CPUs. It is now only linked to the 8xx, so this patch moves it into arch/powerpc/cpu/mpc8xx/ Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Reviewed-by: Heiko Schocher <hs@denx.de>
* powerpc: Partialy restore core of mpc8xxChristophe Leroy2017-07-0834-26/+5418
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CS Systemes d'Information (CSSI) manufactures 8xx boards for critical communication systems. Those boards have been running U-Boot since 2010 and will have to be maintained until at least 2027. commit 5b8e76c35ec312a3f73126bd1a2d2c0965b98a9f ("powerpc, 8xx: remove support for 8xx") orphaned those boards by removing support for the mpc8xx CPU. This commit partially restores support for the 8xx, with the following limitations: - Restores support for MPC866 and MPC885 only - Does not restore IDE, PCMCIA, I2C, USB - Does not restore examples - Does not restore POST - Does not restore Ethernet on SCC - Does not restore console on SCC - Does not restore bedbug and kgdb support As the 866 and 885 do not support the following features, they are not restored either: - VIDEO / LCD - RTC clock The CPM uCODE patch is not restored either, because: - 866 and 885 already have support for I2C and SPI relocation without a uCODE patch - relocation of SMC, I2C or SPI is only needed for using SCCs for Ethernet or QMC The dynamic setup/calculation of clocks is removed, we expect the target being use with the clock and PLPRCR register defined in the configuration. All the clock settings for 8xx prior to 866 is removed as well as we now only support 866 and 885. This code is mature and addresses mature boards. Therefore all code enclosed in '#if 0/#endif' and '#if XX_DEBUG/#endif' is unneeded. The following files are not restored by this patch: - arch/powerpc/cpu/mpc8xx/bedbug_860.c - arch/powerpc/cpu/mpc8xx/fec.h - arch/powerpc/cpu/mpc8xx/kgdb.S - arch/powerpc/cpu/mpc8xx/plprcr_write.S - arch/powerpc/cpu/mpc8xx/scc.c - arch/powerpc/cpu/mpc8xx/upatch.c - arch/powerpc/cpu/mpc8xx/video.c - arch/powerpc/include/asm/status_led.h - arch/powerpc/lib/ide.c - arch/powerpc/lib/ide.h - doc/README.MPC866 - drivers/pcmcia/mpc8xx_pcmcia.c - drivers/rtc/mpc8xx.c - drivers/usb/gadget/mpc8xx_udc.c - drivers/video/mpc8xx_lcd.c - examples/standalone/test_burst.c - examples/standalone/test_burst.h - examples/standalone/test_burst_lib.S - examples/standalone/timer.c - include/mpc823_lcd.h - include/usb/mpc8xx_udc.h - post/cpu/mpc8xx/Makefile - post/cpu/mpc8xx/cache.c - post/cpu/mpc8xx/cache_8xx.S - post/cpu/mpc8xx/ether.c - post/cpu/mpc8xx/spr.c - post/cpu/mpc8xx/uart.c - post/cpu/mpc8xx/usb.c - post/cpu/mpc8xx/watchdog.c Some of the restored files are not located in a proper location. In order to keep traceability of the changes, they will be moved to their correct location and moved to Kconfig in a followup patch. This patch also declares CSSI as point of contact for the update of the 8xx platform, as those boards are the only ones still being maintained on the 8xx area. A later patch will add those boards to the tree. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
* am335x: sl50: Enable CONFIG_AUTOBOOT_KEYEDEnric Balletbo i Serra2017-07-071-1/+4
| | | | | | | | On startup the SL50 board halt at U-Boot prompt. Use CONFIG_AUTOBOOT_KEYED to enable autoboot for this board and define the <SPACE> key to get the U-Boot prompt. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
* board/BuR/brppt1: fix MMC bootHannes Schmelzer2017-07-071-9/+9
| | | | | | | | | | | since commit 'd5abcf94c7123167725fc22ace342f0d455093c1' - ti: boot: Register the MMC controllers in SPL in the same way as in u-boot MMC boot on brppt1 board is broken, with this commit we make our board working again. Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
* wdt: Unify option of timeout valueAndy Shevchenko2017-07-073-3/+2
| | | | | | | | | | | There is no need to duplicate same option with different name. Kill HW_WATCHDOG_TIMEOUT_MS in favor of WATCHDOG_TIMEOUT_MSECS. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de>
* wdt: Fix spelling Resettting -> ResettingAndy Shevchenko2017-07-071-1/+1
| | | | | | | | | | Fix spelling Resettting -> Resetting. No functional change intended. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de>
* avr32: Retire AVR32 for goodAndy Shevchenko2017-07-06106-5886/+20
| | | | | | | | | | | | | | AVR32 is gone. It's already more than two years for no support in Buildroot, even longer there is no support in GCC (last version is heavily patched 4.2.4). Linux kernel v4.12 got rid of it (and v4.11 didn't build successfully). There is no good point to keep this support in U-Boot either. Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Heiko Schocher <hs@denx.de> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
* stm32: Correct positioning of declarationSimon Glass2017-07-061-1/+3
| | | | | | | | | | | | | | | | | The current code gives a warning: arch/arm/mach-stm32/stm32f7/soc.c: In function 'arch_cpu_init': arch/arm/mach-stm32/stm32f7/soc.c:38:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode for (int i = 0; i < ARRAY_SIZE(stm32_region_config); i++) ^ arch/arm/mach-stm32/stm32f7/soc.c:38:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code Fix it by moving the declaration to the top of the function. Signed-off-by: Simon Glass <sjg@chromium.org> Series-cc trini
* km/common: remove unused codeHolger Brunck2017-07-061-3/+0
| | | | | | | | | The 82xx board mgcoge3ne was removed from the codebase, so this is dead code. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Cc: Heiko Schocher <hs@denx.de> Reviewed-by: Heiko Schocher <hs@denx.de>
* configs: Odroid C2: enable device tree overlaysxypron.glpk@gmx.de2017-07-061-0/+1
| | | | | | | | The Odroid C2 comes with several expansion options such as an RTC module. As these expansions are not considered in the Linux device tree they have to be enabled via device tree overlays. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* mkimage: fix display of image types listBaruch Siach2017-07-061-1/+5
| | | | | | | | | | | | | Since commit 5b9d44df2307f (mkimage: Display a better list of available image types) mkimage usage text suggest to "use -T to see a list of available image types". Unfortunately, commit 02221f29deb8 (mkimage: Convert to use getopt()) broke that feature, because getopt() fails when -T has no option argument. Add a pseudo image type name 'list' that lists all image types. Update the usage text accordingly. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
* CHIP: add device tree overlay supportPeter Robinson2017-07-062-0/+4
| | | | | | | CHIP and CHIP Pro devices have options of DIP addon boards some of which need overlays from the beginning so it makes sense to enable device tree overlays. Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
* 96boards: dragonboard/hikey: add device tree overlay supportPeter Robinson2017-07-062-0/+4
| | | | | | | | 96boards CE devices such as the DragonBoard and Hikey devices have numerous mezzanine options some of which need overlays from the beginning so it makes sense to enable device tree overlays. Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
* am335x: beagle/evm: add device tree overlay supportPeter Robinson2017-07-066-0/+7
| | | | | | | | TI am33xx devices such as the BeagleBone devices have numerous cape options such as screens some of which need overlays from the beginning so it makes sense to enable evice tree overlays. Signed-off-by: Peter Robinson <pbrobinson@gmail.com>