summaryrefslogtreecommitdiffstats
path: root/cmd/fpga.c
Commit message (Collapse)AuthorAgeFilesLines
* image: Adjust the workings of fit_check_format()Simon Glass2021-02-151-1/+1
| | | | | | | | | | | | | | | | | At present this function does not accept a size for the FIT. This means that it must be read from the FIT itself, introducing potential security risk. Update the function to include a size parameter, which can be invalid, in which case fit_check_format() calculates it. For now no callers pass the size, but this can be updated later. Also adjust the return value to an error code so that all the different types of problems can be distinguished by the user. Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Bruce Monroe <bruce.monroe@intel.com> Reported-by: Arie Haenel <arie.haenel@intel.com> Reported-by: Julien Lenoir <julien.lenoir@intel.com>
* common: Drop log.h from common headerSimon Glass2020-05-181-0/+1
| | | | | | Move this header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
* command: Remove the cmd_tbl_t typedefSimon Glass2020-05-181-20/+21
| | | | | | | | | | | | | 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>
* common: Drop image.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>
* env: Move env_get() to env.hSimon Glass2019-08-111-0/+1
| | | | | | | Move env_get() over to the new header file. Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* common: Move gzip functions into a new gzip headerSimon Glass2019-08-111-0/+1
| | | | | | | | | As part of the effort to remove things from common.h, create a new header for the gzip functions. Move the function declarations to it and add missing documentation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
* cmd: fpga: correct typo, capitalize "Xilinx"Robert P. J. Day2019-07-301-1/+1
| | | | | | | A couple minor tweaks to printed strings in cmd/fpga.c. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* configs: Rename CONFIG_IMAGE_FORMAT_LEGACY to CONFIG_LEGACY_IMAGE_FORMATTom Rini2019-07-111-1/+1
| | | | | | | | | The name CONFIG_LEGACY_IMAGE_FORMAT reads slightly better along with allowing us to avoid a rather nasty Kbuild/Kconfig issue down the line with CONFIG_IS_ENABLED(IMAGE_FORMAT_LEGACY). In a few places outside of cmd/ switch to using CONFIG_IS_ENABLED() to test what is set. Signed-off-by: Tom Rini <trini@konsulko.com>
* fpga: Add support for getting external data address and lengthTien Fong Chee2019-04-161-3/+3
| | | | | | | | This function supports getting both data address and length for existing FPGA subimage and FPGA external data. Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* cmd: fpga: Fix loads commandMichal Simek2018-09-111-112/+36
| | | | | | | Convert last loads command to fpga subcommands. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Use CMD_RET_FAILURE instead of simple 1Michal Simek2018-09-111-7/+7
| | | | | | | Use standard return command failure macro. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Add support for missing fpga loadmk commandsMichal Simek2018-09-111-20/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are ways how to call fpga loadmk 1. Full command fpga loadmk [dev] [address] 2. Dev setup via variable set fpga [dev] fpga loadmk [address] 3. Address setup via variable set fpgadata [address] fpga loadmk [dev] 4. Dev and address setup via variables set fpga [dev] set fpgadata [address] fpga loadmk Before this patch only cases 1 and 3 are working but the part of code was trying to support also cases 2 and 4. This patch is adding support for cases 2 and 4 to have all of combinations supported. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Fix loadmk commandMichal Simek2018-09-111-115/+123
| | | | | | | | Convert loadmk command to fpga subcommands. Not all combinations are working but they have never worked properly. This will be fixed later. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Fix loadfs commandMichal Simek2018-09-111-30/+28
| | | | | | | Convert loadfs command to fpga subcommands. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Fix dump and all direct fpga load commandsMichal Simek2018-09-111-44/+122
| | | | | | | | | Separate dump, load, loadb, loadp and loadbp commands to separate functions to make it clear how they are called and what parameters they need. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Extract fpga info command to separate functionMichal Simek2018-09-111-8/+27
| | | | | | | | | | | Move fpga info to U_BOOT_CMD_MKENT subcommand. Also use strtol instead of simple_strtoul. The reason is that if -1 is passed (or fpga info without "fpga" variable) the list of all fpgas is shown. This functionality is in the fpga core but it couldn't be performed. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Create new do_fpga_wrapper for using u-boot subcommandsMichal Simek2018-09-111-2/+40
| | | | | | | | Create command wrapper to clean fpga subcommands. The function logic is taken from cmd_dm.c Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Clean wrong_parms handlingMichal Simek2018-09-111-27/+8
| | | | | | | | | There is no reason to check parameters in separate switch. Check them directly when they are read. Also there is no reason to check loadmk case separately because fpga_data address must be non zero too. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Remove parameter checking from fpga loadfs commandMichal Simek2018-09-111-7/+0
| | | | | | | | | Parameter checking is dead code because all the time there must be all params assigned. If they are not assigned there is no 9th parameters passed and checking before return CMD_RET_USAGE. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Move parameter checking for loadfs/loadsMichal Simek2018-09-111-23/+21
| | | | | | | | | There is no reason to check parameters in separate switch before main one. This patch is simplifying error path and checking parameters right after assignment. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Cleanup error handling in connection to FPGA_NONEMichal Simek2018-09-111-6/+2
| | | | | | | | | Incorrect command is already handled and FPGA_NONE should be used only one. In case of error CMD_RET_USAGE can be returned directly without any addition logic around. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Move fpga_get_op to avoid local function declarationMichal Simek2018-09-111-44/+41
| | | | | | | | Move fpga_get_op() to top of file to remove local function declaration and also remove useless retyping. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Move error handling to do_fpga()Michal Simek2018-09-111-3/+3
| | | | | | | Clean fpga_get_op() error handling by moving checking/print to do_fpga. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Remove fit image support passed without fpga deviceMichal Simek2018-09-111-25/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch applied in 2010 "cmd_fpga: cleanup help and check parameters" (sha1: a790b5b2326be9d7c9ad9e3d9b51a8bfabc62d07" was adding this checking + if (dev == FPGA_INVALID_DEVICE) { + puts("FPGA device not specified\n"); + op = FPGA_NONE; + } which simply broke one command flow which was setenv fpga <dev> fpga loadmk <addr> // legacy image fpga loadmk <addr>:<fit_image_name> //fit image Also this sequence for FIT image is completely broken setenv fpga <dev> setenv fpgadata <addr>:<fit_image_name> fpga loadmk (Note: For legacy images this is working fine). even from code I don't think this has ever worked properly for fit image (dev = FPGA_INVALID_DEVICE should be rejected by fpga core). Fit image support was in 2008 added by: "[new uImage] Add new uImage fromat support to fpga command" (sha1: c28c4d193dbfb20b2dd3a5447640fd6de7fd0720) Just a summary of these facts that none found this for pretty long time it shouldn't be a problem to remove this flow (without fpga dev) completely to simplify the code. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* cmd: fpga: Add support to load secure bitstreamsSiva Durga Prasad Paladugu2018-06-011-1/+61
| | | | | | | | | | | | | | This patch adds support to load secure bitstreams(authenticated or encrypted or both). As of now, this feature is added and tested only for xilinx bitstreams and the secure bitstream was generated using xilinx bootgen tool, but the command is defined in more generic way. Command example to load authenticated and device key encrypted bitstream is as follows "fpga loads 0 100000 2000000 0 1" Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* cmd: fpga: Reorder the arguments parsing codeSiva Durga Prasad Paladugu2018-06-011-12/+19
| | | | | | | | | | | This patch modifies the arguments parsing code by parsing based on requested operation for fpga loadfs and then parses the most common/basic args for other fpga load commands. This makes it easy for new command extensions or additions especially the commands with more args. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini2018-05-071-2/+1
| | | | | | | | | | | | | | | | | | | | 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-161-2/+2
| | | | | | | | | | | 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>
* fpga: Use enum for bitstream command typesMichal Simek2017-01-101-9/+11
| | | | | | | Using enum simplify handling of different bitstream command types. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* fpga: Fix compilation warningsMichal Simek2016-01-271-4/+4
| | | | Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* Remove the cmd_ prefix from command filesSimon Glass2016-01-251-0/+376
Now that they are in their own directory, we can remove this prefix. This makes it easier to find a file since the prefix does not get in the way. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de> Acked-by: Stefan Roese <sr@denx.de> Acked-by: Przemyslaw Marczak <p.marczak@samsung.com>