summaryrefslogtreecommitdiff
path: root/board/keymile/common
Commit message (Collapse)AuthorAgeFilesLines
* common: Drop linux/bitops.h from common headerWIP/2020-05-18-reduce-size-of-common.hSimon Glass2020-05-181-0/+1
| | | | | | Move this uncommon header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
* common: Drop linux/delay.h from common headerSimon Glass2020-05-181-0/+1
| | | | | | Move this uncommon header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
* command: Remove the cmd_tbl_t typedefSimon Glass2020-05-181-6/+6
| | | | | | | | | | | | | We should not use typedefs in U-Boot. They cannot be used as forward declarations which means that header files must include the full header to access them. Drop the typedef and rename the struct to remove the _s suffix which is now not useful. This requires quite a few header-file additions. Signed-off-by: Simon Glass <sjg@chromium.org>
* ARM: socfpga: Add initial support for the ABB SECU boardHolger Brunck2020-03-031-1/+18
| | | | | | | | | Add initial support for the ABB SECU board, which is an ArriaV-based SoCFPGA system with ethernet and booting from Denali NAND. Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com> Cc: Ley Foon Tan <ley.foon.tan@intel.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
* km/common: fix for CPUWD reset reasonRainer Boschung2020-01-231-4/+3
| | | | | | | | | | | | | The CPUWD reset reason is used for kmp204x. And the qrio cpu reset request is configured to operate in core reset mode. But for the evaluation of the qrio's reset reason register the CPUWD figures as a unit reset source rather than a core reset source. This patch defines the CPUWD reset as a core reset source when evaluating the reset reason register. Signed-off-by: Rainer Boschung <rainer.boschung@ch.abb.com> CC: Priyanka Jain <priyanka.jain@nxp.com>
* KM/kmp204x: qrio and i2c deblock code moved to commonHolger Brunck2020-01-232-0/+320
| | | | | | | | This patch moves the qrio and i2c deblocking code to keymile/common as it will also be used by the upcoming CENT2 board. Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com> CC: Priyanka Jain <priyanka.jain@nxp.com>
* km/boards: add MAC address offset as argument to ivm_populate_envHolger Brunck2020-01-102-7/+7
| | | | | | | | | | | | | For upcoming SECU board we have different MAC address offsets depending on which functional unit we are running. In this case we need to pass this value to the ivm_populate_env function instead of using the hard coded config option there. Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com> CC: Stefan Roese <sr@denx.de> CC: Valentin Longchamp <valentin.longchamp@ch.abb.com> CC: Marek Vasut <marex@denx.de> Reviewed-by: Stefan Roese <sr@denx.de>
* km/boards: fix typo for MAC address offset config optionHolger Brunck2020-01-101-3/+3
| | | | | | | | | This patch only fixes a typo. Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com> CC: Stefan Roese <sr@denx.de> CC: Valentin Longchamp <valentin.longchamp@ch.abb.com> Reviewed-by: Stefan Roese <sr@denx.de>
* Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvellWIP/12Aug2019Tom Rini2019-08-122-9/+0
|\ | | | | | | | | | | | | | | | | - Various improvements to Keymile boards - mostly DT conversation (Pascal & Holger) - Removal of now unsupported Keymile boards (Pascal & Holger) - Small MVEBU PCI fix (Marek) - Turris Omnia defconfig update (Marek) - Misc Allied Telesis defconfig updates (Chris)
| * powerpc/km: remove unmaintained target KMVECT1Holger Brunck2019-08-121-5/+0
| | | | | | | | | | | | Signed-off-by: Valentin Longchamp <valentin.longchamp@ch.abb.com> Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com> Signed-off-by: Stefan Roese <sr@denx.de>
| * km: remove obsolete definitions in KM header filesPascal Linder2019-08-121-4/+0
| | | | | | | | | | | | | | | | | | | | After moving the KM specific configurations to Kconfig, the associated preprocessor definitions can now be removed in the headers. Moreover, the whitelist has been adapted correspondingly. Signed-off-by: Pascal Linder <pascal.linder@edu.hefr.ch> Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com> Signed-off-by: Stefan Roese <sr@denx.de>
* | env: Move env_set() to env.hSimon Glass2019-08-112-0/+2
|/ | | | | | | Move env_set() over to the new header file. Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini2018-05-073-6/+3
| | | | | | | | | | | | | | | | | | | | When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com>
* env: Rename getenv/_f() to env_get()Simon Glass2017-08-162-6/+6
| | | | | | | | | | | 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>
* env: Rename setenv() to env_set()Simon Glass2017-08-162-12/+12
| | | | | | | | 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>
* km/ivm: allow to set locally administred MAC addressesHolger Brunck2017-07-221-3/+21
| | | | | | | | | | It is possible to flag MAC addresses as locally administred. In this case they don't need to be unique. This is only allowed for interfaces which have no connection to the outside. For the TEGR1 board we use this feature. Cc: Heiko Schocher <hs@denx.de> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* km/ivm: always set ethaddr after reading IVMHolger Brunck2017-07-221-6/+3
| | | | | | | | | If we rebrand the IVM and ethaddr was set previously we need to change ethaddr. Otherwise we end up with a wrong MAC adress for the ethernet interface. Cc: Heiko Schocher <hs@denx.de> Signed-off-by: Holger Brunck <holger.brunck@keymile.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>
* 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>
* Various, unrelated tree-wide typo fixes.Robert P. J. Day2016-07-161-1/+1
| | | | | | | | | | | | | | | | | | | Fix a number of typos, including: * "compatble" -> "compatible" * "eanbeld" -> "enabled" * "envrionment" -> "environment" * "FTD" -> "FDT" (for "flattened device tree") * "ommitted" -> "omitted" * "overriden" -> "overridden" * "partiton" -> "partition" * "propogate" -> "propagate" * "resourse" -> "resource" * "rest in piece" -> "rest in peace" * "suport" -> "support" * "varible" -> "variable" Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
* Fix GCC format-security errors and convert sprintfs.Ben Whitten2016-01-141-2/+2
| | | | | | | | | | | With format-security errors turned on, GCC picks up the use of sprintf with a format parameter not being a string literal. Simple uses of sprintf are also converted to use strcpy. Signed-off-by: Ben Whitten <ben.whitten@gmail.com> Acked-by: Wolfgang Denk <wd@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
* powerpc/82xx/km: add testpin detection for mgcoge3neHolger Brunck2015-11-182-1/+6
| | | | | | | | | On mgcoge3ne we also want to start the test application if the testpin is asserted. But we don't have a full POST test support yet. So simply add a function to read the testpin value. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* KM/IVM: remove ivm_read_eeprom(void)Valentin Longchamp2015-02-162-22/+2
| | | | | | | | | | This is not used anymore since the procedure was split into a simple read function and a later alaysis. The ivm_read_eeprom name is now used for the previous ivm_simple_read_eeprom function. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* KM/IVM: split the IVM reading and parsing in 2 partsValentin Longchamp2015-02-162-25/+63
| | | | | | | | | | | | | | This allows to first read the IVM content (earlier in the boot sequence) and define the ethaddr env variable thanks to the ivm_read_eepromi(). Later, the IVM content can be parsed and used to define some hush variables, when the hush subsystem is available thanks to ivm_analyze_eeprom(). To avoid the HW read to happen twice, the buffer passed to ivm_read_eeprom() has to be reused by ivm_analyze_eeprom (and thus allocated before calling ivm_read_eeprom()). Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* cppcheck cleanup: fix nullPointer errorsWolfgang Denk2014-11-071-0/+1
| | | | | | | | | | | There are a number of places where U-Boot intentionally and legally accesses physical address 0x0000, for example when installing exception vectors on systems where these are located in low memory. Add "cppcheck-suppress nullPointer" comments to silence cppcheck where this is intentional and legal. Signed-off-by: Wolfgang Denk <wd@denx.de>
* board:keymile: remove unnecessary double bracesJeroen Hofstee2014-06-111-1/+1
| | | | | | | | | | Clang interpretes an if condition like "if ((a = b) == NULL) as it tries to assign a value in a statement. Hence if you do "if ((something)) it warns you that you might be confused. Hence drop the double braces for plane if statements. cc: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
* Rename hush to cli_hushSimon Glass2014-05-292-2/+2
| | | | | | Hush is a command-line interpreter, so rename it to make that clearer. Signed-off-by: Simon Glass <sjg@chromium.org>
* KM: add CONFIG_KM_COMMON_ETH_INIT for km common eth initValentin Longchamp2013-10-241-0/+2
| | | | | | | | | | | | This must be defined by a board support file that want to use the keymile common.c board_eth_init function that requires ethernet_present to be defined. Currently all the km architectures use it but the kmp204x architecture later supported in this series does use another board_eth_init function and thus does not define it. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* KM: define CONFIG_SYS_I2C_INIT_BOARD only for concerned boardValentin Longchamp2013-10-241-25/+0
| | | | | | | | | | | | | This must be defined for all the keymile boards that use the common i2c_abort function that is used to "reset" the I2C bus. These are currently km82xx and km_arm boards. The km83xx boards use other functions and thus do not need this. This patch removes the CONFIG_SYS_I2C_INIT_BOARD from keymile-common.h and defines it for km_arm.h and km82xx.h. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* Merge branch 'next' of git://git.denx.de/u-boot-mpc83xxTom Rini2013-10-092-4/+4
|\
| * powerpc/83xx/km: make local functions and structs staticHolger Brunck2013-05-212-4/+4
| | | | | | | | | | Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-i2cTom Rini2013-07-241-17/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sandburst-specific i2c drivers have been deleted, conflict was just over the SPDX conversion. Conflicts: board/sandburst/common/ppc440gx_i2c.c board/sandburst/common/ppc440gx_i2c.h Signed-off-by: Tom Rini <trini@ti.com>
| * | i2c, multibus, keymile: get rid of EEprom_ivm envvariableHeiko Schocher2013-07-231-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as the keymile boards use now the new i2c multibus/multiadapter framework, remove the EEprom_ivm Environmentvar, as not longer needed. Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Holger Brunck <holger.brunck@keymile.com> Tested-By: Holger Brunck <holger.brunck@keymile.com>
| * | i2c, fsl_i2c: switch to new multibus/multiadapter supportHeiko Schocher2013-07-231-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | - added to fsl_i2c driver new multibus/multiadpater support - adapted all config files, which uses this driver Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Stephen Warren <swarren@wwwdotorg.org>
| * | i2c, soft-i2c: switch to new multibus/multiadapter supportHeiko Schocher2013-07-231-1/+5
| |/ | | | | | | | | | | | | | | | | - added to soft_i2c driver new multibus/multiadpater support - adapted all config files, which uses this driver Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Stephen Warren <swarren@wwwdotorg.org>
* | Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk2013-07-243-38/+3
|/ | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <trini@ti.com>
* powerpc/83xx/km: add MV88E6122 switch support for kmvect1Karlheinz Jerg2013-02-151-1/+7
| | | | | | | | | | | | | | | kmvect1 has a UEC2 connection to the piggy board and a UEC0 connection to the switch MV88E6122. This switch has a connection to a frontport ethernet interface. The ethernet port used for network booting is automatically selected by u-boot. If a Piggy is plugged, the Piggy port is selected (UEC2, eth1). If the Piggy isn't present, the Frontport is selected (UEC0, eth0). The switch reset is connected to a GPIO on the PRIO3 board FPGA (GPIO28) and released at startup. Signed-off-by: Karlheinz Jerg <karlheinz.jerg@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* km/common/ivm: rework piggy mac adress offset generationHolger Brunck2013-02-151-11/+17
| | | | | | | | | For the the kmvect1 board we will also need a functionality to add an offset to the IVMs MAC address, because these board will have two valid ethernet ports for debugging purpose. So move the code to an own function. Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* km82xx, km83xx: move ethernet_present() from common to cpu specificKarlheinz Jerg2013-02-151-11/+0
| | | | | | | | For kmvect1 we need a special solution and for km_arm boards we already have. So move the common code to the architectur specific file. Signed-off-by: Karlheinz Jerg <karlheinz.jerg@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* km/common/ivm: remove CONFIG_SYS_I2C_IVM_BUS related codeHolger Brunck2013-02-151-4/+0
| | | | | | | This define isn't set within our setup files. So we can safely remove the affected code. Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* km/common/ivm: remove obsolete codeHolger Brunck2013-02-151-8/+0
| | | | | | | EEprom_ivm_addr isn't set in our environment, so remove the usage of this. Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* km/common: remove unneeded ifdefs for I2CHolger Brunck2013-02-151-2/+0
| | | | | | | All boards from this serie use i2c. There is no need to #ifdef the header. Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* km/common: cosmetic change reported from checkpatchHolger Brunck2013-01-091-1/+1
| | | | | | | Signed-off-by: Holger Brunck <holger.brunck@keymile.com> cc: Valentin Longchamp <valentin.longchamp@keymile.com> cc: Prafulla Wadaskar <prafulla@marvell.com> Acked-by: Prafulla Wadaskar <Prafulla@marvell.com>
* km/ivm: fix string len check to support 7 char board namesValentin Longchamp2012-09-031-1/+1
| | | | | | | | | | | | | | | The fanless boards now have a 7-digit (XXXXX-F) board name. This triggers a border condition when reading this string in the IVM although this string is smaller than the currenly read string size, but only by 1 character. This patch corrects this by changing the size check condition for string length. It is the same change that was done in the platform for this same bug. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> cc: Holger Brunck <holger.brunck@keymile.com> cc: Stefan Bigler <stefan.bigler@keymile.com>
* km/common: remove printfs for i2c deblocking codeHolger Brunck2012-07-311-3/+0
| | | | | | | | | This code will also be used before reallocation and during this time we are not allowed to do these printings. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Acked-by: Prafulla Wadaskar <Prafulla@marvell.com> Acked-by: Heiko Schocher <hs@denx.de>
* arm/km: enable BOCO2 FPGA download supportValentin Longchamp2012-07-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | This adds a first support of the FPGA download for a PCIe FPGA based on the BOCO2 CPLD. This takes place in 3 steps, all done accessing the SPICTRL reg of the BOCO2: 1) start the FPGA config with an access to the FPGA_PROG bit 2) later in the boot sequence, wait for the FPGA_DONE bit to toggle to 1 for the end of the FPGA configuration (with a timeout) 3) reset the FPGA 4) finally remove the access to its config EEPROM from the FPGA so that the CPU can update the FPGA configuration when the kernel is running The boards with a PCIe FPGA but without BOCO2 still are supported. The config option name is CONFIG_KM_FPGA_CONFIG Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> cc: Gerlando Falauto <gerlando.falauto@keymile.com> cc: Prafulla Wadaskar <prafulla@marvell.com>
* km/common: check test_bank and testpin for testbootThomas Herzmann2012-06-151-0/+36
| | | | | | | | | | If the testpin is asserted, first check if a test_bank variable is defined before trying to boot this test_bank. Signed-off-by: Thomas Herzmann <thomas.herzmann@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* powerpc/83xx: configure CONFIG_POST for kmcoge5neThomas Herzmann2012-06-151-1/+5
| | | | | | | | | | kmcoge5ne starts the post tests if the testpin on the board was enabled. Currently it does simply a memory test. Signed-off-by: Thomas Herzmann <thomas.herzmann@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* powerpc/83xx/km: added missing enable of application bufferStefan Bigler2012-06-151-0/+2
| | | | | | | | Enabled application buffers in uboot to allow application chipselect access in uboot. Signed-off-by: Stefan Bigler <stefan.bigler@keymile.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* km/common: fixed error in ethaddr (1-byte-shift)Thomas Herzmann2012-06-151-1/+1
| | | | | | | | The MAC address begins at offset 1. Signed-off-by: Thomas Herzmann <thomas.herzmann@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>