aboutsummaryrefslogtreecommitdiffstats
path: root/board/keymile
Commit message (Collapse)AuthorAgeFilesLines
* SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini2018-05-0723-53/+24
| | | | | | | | | | | | | | | | | | | | 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>
* Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTRTom Rini2018-04-271-2/+0
| | | | | | | | We have a large number of places where while we historically referenced gd in the code we no longer do, as well as cases where the code added that line "just in case" during development and never dropped it. Signed-off-by: Tom Rini <trini@konsulko.com>
* libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h>Masahiro Yamada2018-03-052-2/+2
| | | | | | | | | | | | | | | | | Thomas reported U-Boot failed to build host tools if libfdt-devel package is installed because tools include libfdt headers from /usr/include/ instead of using internal ones. This commit moves the header code: include/libfdt.h -> include/linux/libfdt.h include/libfdt_env.h -> include/linux/libfdt_env.h and replaces include directives: #include <libfdt.h> -> #include <linux/libfdt.h> #include <libfdt_env.h> -> #include <linux/libfdt_env.h> Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* drivers/misc: Share qbman init between archsAhmed Mansour2018-01-101-1/+1
| | | | | | | | | | | | | | | | | | This patch adds changes necessary to move functionality present in PowerPC folders with ARM architectures that have DPAA1 QBMan hardware - Create new board/freescale/common/fsl_portals.c to house shared device tree fixups for DPAA1 devices with ARM and PowerPC cores - Add new header file to top includes directory to allow files in both architectures to grab the function prototypes - Port inhibit_portals() from PowerPC to ARM. This function is used in setup to disable interrupts on all QMan and BMan portals. It is needed because the interrupts are enabled by default for all portals including unused/uninitialised portals. When the kernel attempts to go to deep sleep the unused portals prevent it from doing so Signed-off-by: Ahmed Mansour <ahmed.mansour@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
* env: Rename some other getenv()-related functionsSimon Glass2017-08-161-2/+2
| | | | | | | | | | | | | | We are now using an env_ prefix for environment functions. Rename these other functions as well, for consistency: getenv_vlan() getenv_bootm_size() getenv_bootm_low() getenv_bootm_mapsize() env_get_default() Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
* env: Rename getenv/_f() to env_get()Simon Glass2017-08-164-8/+8
| | | | | | | | | | | 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-165-19/+19
| | | | | | | | 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>
* powerpc, 8260: remove support for mpc8260Heiko Schocher2017-06-124-490/+0
| | | | | | | | | There was for long time no activity in the 8260 area. We need to go further and convert to Kconfig, but it turned out, nobody is interested anymore in 8260, so remove it. Signed-off-by: Heiko Schocher <hs@denx.de>
* i2c: keymile: Drop use of CONFIG_I2C_HARDSimon Glass2017-05-152-9/+0
| | | | | | Drop use of this long-deprecated option. Signed-off-by: Simon Glass <sjg@chromium.org>
* board_f: Rename initdram() to dram_init()Simon Glass2017-04-133-3/+3
| | | | | | | | | This allows us to use the same DRAM init function on all archs. Add a dummy function for arc, which does not use DRAM init here. Signed-off-by: Simon Glass <sjg@chromium.org> [trini: Dummy function on nios2] Signed-off-by: Tom Rini <trini@konsulko.com>
* board_f: Drop return value from initdram()Simon Glass2017-04-053-7/+19
| | | | | | | | | At present we cannot use this function as an init sequence call without a wrapper, since it returns the RAM size. Adjust it to set the RAM size in global_data instead, and return 0 on success. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de>
* board_f: Drop board_type parameter from initdram()Simon Glass2017-04-053-3/+3
| | | | | | | | | It looks like only cm5200 and tqm8xx use this feature, so we don't really need it in generic code. Drop it and have the users access gd->board_type directly. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de>
* usb: fsl: Rename fdt_fixup_dr_usbSriram Dash2016-09-271-1/+1
| | | | | | | | The function fdt_fixup_dr_usb is specific to fsl/nxp. So, make the function name explicit and rename fdt_fixup_dr_usb into fsl_fdt_fixup_dr_usb. Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
* treewide: replace #include <asm/errno.h> with <linux/errno.h>Masahiro Yamada2016-09-232-2/+2
| | | | | | | | | | | Now, arch/${ARCH}/include/asm/errno.h and include/linux/errno.h have the same content. (both just wrap <asm-generic/errno.h>) Replace all include directives for <asm/errno.h> with <linux/errno.h>. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> [trini: Fixup include/clk.] Signed-off-by: Tom Rini <trini@konsulko.com>
* Various, unrelated tree-wide typo fixes.Robert P. J. Day2016-07-162-2/+2
| | | | | | | | | | | | | | | | | | | 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>
* dm: fsl_i2c: Rename I2C register structuremario.six@gdsys.cc2016-05-171-13/+15
| | | | Signed-off-by: Mario Six <mario.six@gdsys.cc>
* Use correct spelling of "U-Boot"Bin Meng2016-02-061-1/+1
| | | | | | | | | | Correct spelling of "U-Boot" shall be used in all written text (documentation, comments in source files etc.). Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
* 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>
* km/powerpc: fix ft_board_setup prototype for km82xx & km83xxValentin Longchamp2015-11-182-2/+2
| | | | Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* powerpc/83xx: add support for kmtegr1 boardValentin Longchamp2015-11-181-0/+1
| | | | | | | | | This board uses the same CPU (8309) as VECT1. The memory however is different since it has NAND Flash, the NOR Flash partitioning is different and of course the FPGAs as well. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Christoph Dietrich <christoph.dietrich@keymile.com>
* board/keymile/km82xx: setting dip_switch 3 and 4 will run bootloaderBagavathiannan Palanisamy2015-11-181-2/+2
| | | | | | | | | | Setting dip_switch 3 and 4 also will run bootloader in COGE3 and COGE6 It is required remove local mgmt IP address, when DIP Switch PIN3 is enabled. DIP Switch 4 also enabled to avoid u-boot update in future for DIP switch enhancements. Signed-off-by: Bagavathiannan Palanisamy <Bagavathiannan.Palanisamy@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* km/powerpc82xx: remove unused functionHolger Brunck2015-11-181-16/+0
| | | | | | | | commit 0a4f88b98 removed the usage of our setports function, but the function itself were not removed. So toss it it's dead code. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* km/powerpc: remove unneeded definesHolger Brunck2015-11-182-9/+3
| | | | | | | | We use CONFIG_OF_LIBFDT and CONFIG_OF_BOARD_SETUP on all our powerpc targets, so there is no need to check these defines within our C code. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* powerpc/82xx/km: add testpin detection for mgcoge3neHolger Brunck2015-11-183-1/+15
| | | | | | | | | 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>
* powerpc/82xx: make set/get_pin for km82xx more flexibleHolger Brunck2015-11-181-12/+12
| | | | | | | | | The get_pin and set_pin funciton was only used for pins on Port D and therefore the value was hard coded in the function. Enhance this with a parameter, that we are able to use this functions for other ports too. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* powerpc/83xx: add support for kmtepr2 boardChristoph Dietrich2015-11-181-0/+1
| | | | | | | | This board is similar to TUXX1, but it has differend FPGAs. Signed-off-by: Christoph Dietrich <christoph.dietrich@keymile.com> Signed-off-by: Andreas Huber <andreas.huber@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* km/scripts: search for kernel/DTBs at serverip:/PRODUCTNAME via TFTP in ↵Tobias Müller2015-11-181-3/+3
| | | | | | | | | | | develop mode Search for the kernel and DTBs in a folder named PRODUCTNAME (found in the IVM) at the TFTP server instead of the u-boot boardname. Signed-off-by: Tobias Müller <Tobias.Mueller@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Reviewed-by: Heiko Schocher <hs@denx.de>
* km/scripts: load fdt_bid_kwkey.dtb when working with tftpHolger Brunck2015-11-181-1/+1
| | | | | | | | | | | | When loading the dtb file via tftp we should load the one which matches boardId and hwKey and not a common one for the boardname. We have boards were different hwKeys are used and then we may load an incorrect dtb file. If no fdt_bid_kwkey.dtb file is not a fallback to boardname.dtb is used. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Tobias Müller <Tobias.Mueller@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Reviewed-by: Heiko Schocher <hs@denx.de>
* arm/km_kirkwood: fix the #ifdef for KM_COGE5UN dip switchValentin Longchamp2015-11-181-1/+1
| | | | | | | There was a small typo for KM_COGE5UN that resulted in the dip switch not to behave as expected. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* arm/mgcoge3un: check dip_switch at startupHolger Brunck2015-11-181-4/+7
| | | | | | | | | | | | Similar to kmcoge5un we need to check the dip switch at startup connected to the kirkwood at MPP43. If it's set we need to set the actual_bank to zero to boot from SW bank zero. Additional to kmcoge5un we need to check also the pin in misc_init to decide wether we wait for the ne to start or not. If the dip_switch is set we don't wait and continue immediately. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* arm/km: Fix LED configuration for 88E1118R PHY (PIGGY3)Tobias Müller2015-11-181-0/+55
| | | | | | | | | | Configure PHY LED register for Marvell 88E1118R PHY used on PIGGY3 to match with printed descriptions on PCB Signed-off-by: Tobias Müller <Tobias.Mueller@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> [trini: Fix typo, CRTL_PAGE -> CTRL_PAGE] Signed-off-by: Tom Rini <trini@konsulko.com>
* KM/IVM: remove ivm_read_eeprom(void)Valentin Longchamp2015-02-166-26/+6
| | | | | | | | | | 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>
* 82xx/km82xx: read the IVM eeprom earlierValentin Longchamp2015-02-161-1/+9
| | | | | | | | | | This allows to define the ethaddr env variable according to the the IVM content by reading the IVM in misc_init_r. Later, when HUSH is available the content read earlier is analyzed to populate some non env variables. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* 83xx/km83xx: read the IVM eeprom earlierValentin Longchamp2015-02-161-1/+4
| | | | | | | | | | This allows to define the ethaddr env variable according to the the IVM content by reading the IVM in misc_init_r. Later, when HUSH is available the content read earlier is analyzed to populate some non env variables. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* 85xx/kmp204x: read the IVM eeprom earlierValentin Longchamp2015-02-161-1/+4
| | | | | | | | | | This allows to define the ethaddr env variable according to the the IVM content by reading the IVM in misc_init_r. Later, when HUSH is available the content read earlier is analyzed to populate some non env variables. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* kirkwood/km_arm: read the IVM eeprom earlierValentin Longchamp2015-02-161-1/+5
| | | | | | | | | | This allows to define the ethaddr env variable according to the the IVM content by reading the IVM in misc_init_r. Later, when HUSH is available the content read earlier is analyzed to populate some non env variables. 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>
* km/km82xx: remove CONFIG_SYS_RAMBOOTHolger Brunck2014-12-051-2/+0
| | | | | | | | | | | | This define is never set in our setup, so we can remove it safely. The former code causes cppcheck to complain about: [board/keymile/km82xx/km82xx.c:311]: (error) Uninitialized variable: psize Signed-off-by: Holger Brunck <holger.brunck@keymile.com> cc: Valentin Longchamp <valentin.longchamp@keymile.com> cc: Wolfgang Denk <wd@denx.de> Reviewed-by: York Sun <yorksun@freescale.com>
* fdt: Allow ft_board_setup() to report failureSimon Glass2014-11-213-3/+9
| | | | | | | | | | | | | | | | | | This function can fail if the device tree runs out of space. Rather than silently booting with an incomplete device tree, allow the failure to be detected. Unfortunately this involves changing a lot of places in the code. I have not changed behvaiour to return an error where one is not currently returned, to avoid unexpected breakage. Eventually it would be nice to allow boards to register functions to be called to update the device tree. This would avoid all the many functions to do this. However it's not clear yet if this should be done using driver model or with a linker list. This work is left for later. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Anatolij Gustschin <agust@denx.de>
* 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>
* arm: kirkwood: Change naming of dram functions from km_foo() to mvebu_foo()Stefan Roese2014-10-231-2/+2
| | | | | | | | | | | | Additionally the SDRAM address decoding register address is not hard coded in the C code any more. A define is introduced for this base address. This makes is possible to use those gpio functions from other MVEBU SoC's as well. Signed-off-by: Stefan Roese <sr@denx.de> Tested-by: Luka Perkov <luka@openwrt.org> Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
* arm: marvell: Extract kirkwood gpio functions into new common file gpio.cStefan Roese2014-10-231-2/+2
| | | | | | | | This makes is possible to use those gpio functions from other MVEBU SoC's as well. Signed-off-by: Stefan Roese <sr@denx.de> Tested-by: Luka Perkov <luka@openwrt.org> Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
* arm: marvell: Move arch/kirkwood.h to arch/soc.hStefan Roese2014-10-231-1/+1
| | | | | | | | | This move makes is possible to use this header not only from kirkwood platforms but from all Marvell mvebu platforms. Signed-off-by: Stefan Roese <sr@denx.de> Tested-by: Luka Perkov <luka@openwrt.org> Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
* kconfig: remove redundant "string" type in arch and board KconfigsMasahiro Yamada2014-09-134-18/+0
| | | | | | | | | | | | | | | | | | Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME} are specified in arch/Kconfig. We can delete the ones in arch and board Kconfig files. This commit can be easily reproduced by the following command: find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e ' /config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ { N s/\n[[:space:]]*string// } ' Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* kirkwood: kconfig: refactor Kconfig and defconfigMasahiro Yamada2014-08-301-8/+0
| | | | | | | | | | | | Becuase the board select menu in arch/arm/Kconfig is too big, move the KirkWood board select menu to kirkwood/Kconfig. Consolidate also common settings (CONFIG_SYS_CPU="arm926ejs" and CONFIG_SYS_SOC="kirkwood"). Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Prafulla Wadasdkar <prafulla@marvell.com> Cc: Luka Perkov <luka@openwrt.org>
* kmp204x: reset the Zarlink clocking chips at power up onlyValentin Longchamp2014-08-201-4/+4
| | | | | | | | | | | | | | There is the requirement on the chassis's backplane that when the clocks have been enabled, they then should not disappear. Resetting the Zarlink clocking chips at unit reset violates this requirement because the backplane clocks are not supplied during the reset time. To avoid this side effect, both the Zarlink clocking chips are reset only at power up. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>