summaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-next/mvebu'Sascha Hauer2018-06-111-10/+53
|\
| * scripts/kwboot: fix image check for v0 imagesUwe Kleine-König2018-06-081-10/+53
| | | | | | | | | | | | | | | | | | Since kwboot checks the contents of the file to send it only works for v1 images (or with -f). Extend the check to know about v0 images, too. Fixes: 39ebd7e73bec ("kwboot: do a filetype check before sending the image") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2018-06-1143-1740/+4641
|\ \
| * | scripts: create a separate section for host toolsUwe Kleine-König2018-06-113-5/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to enable host tools even if they are not needed for the current configuration to improve compile coverage and simplify packaging these tools. The conversion doesn't cover all tools available but can be extended later. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | scripts: omap3-usb-loader: fix compiler warningSascha Hauer2018-06-111-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compiling omap3-usb-loader issues the warning: warning: self-comparison always evaluates to true [-Wtautological-compare] Just remove the bogus test. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | Kbuild: Add $(quote)Sascha Hauer2018-06-081-0/+1
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | scripts/dtc: Update to upstream version 1.4.6Pascal Vizeli2018-06-0736-1728/+4578
| | | | | | | | | | | | | | | Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | scripts: gitignore omap3-usb-loader binaryRoland Hieber2018-06-071-0/+1
| | | | | | | | | | | | | | | Signed-off-by: Roland Hieber <r.hieber@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | scripts/mkimage: Fix strncpy usageAndrey Smirnov2018-05-231-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original code produces the following warning when compiled with GCC8: HOSTCC scripts/mkimage In function ‘image_set_name’, inlined from ‘main’ at scripts/mkimage.c:614:2: scripts/mkimage.c:153:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation] strncpy(image_get_name(hdr), name, IH_NMLEN); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ reduce specified bound by one to make sure that NULL-terminator is never overwritten. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | scripts: imx-image: Limit v2 header size to HEADER_LENAndrey Smirnov2018-06-111-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the following: 1. Assembly code, namely "b 0x1000" instruction, in bb_header[] assumes that i.MX image header occupies first HEADER_LEN bytes and bootloader executable is located right after. 2. Code in imx_image_size() assumes that i.MX image header is HEADER_LEN bytes 3. Original code handling v2 header allocated more than HEADER_LEN buffer to store IVT + boot data + DCD. However, the code writing that buffer to disk is only set up to use first HEADER_LEN bytes and to silently discard the rest as a side effect. Let's be conservative and limit total size of v2 header to not exceed Inital Load Region (4K or HEADER_LEN) to match what's being done for v1. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | scripts: imx-image: Drop error return from write_dcd()Andrey Smirnov2018-06-111-7/+3
| | | | | | | | | | | | | | | | | | Write_dcd() exits early in case of failure, so there's no realy reason to have it return a error code as a result. Drop it and simplify the caller code. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Include our own include/dt-bindingsSascha Hauer2018-06-111-0/+1
| | | | | | | | | | | | | | Allow to use dt-bindings files that are not yet upstreamed. They can be put into include/dt-bindings. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | imx-usb-loader: dump memory bytewise on verification mismatchSascha Hauer2018-05-241-24/+2
| | | | | | | | | | | | | | | | | | dump_long only prints the full words and does not print the unaligned rest. This means that some bytes (and maybe actually the interesting ones) may not be printed. Use dump_bytes instead which does not have this problem. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | imx-usb-loader: Fix verify for non word aligned lengthsSascha Hauer2018-05-241-2/+3
| | | | | | | | | | | | | | | | | | Verifying the uploaded image fails when the length is not word aligned. This is because read_memory reads full words, so the input length must be word aligned. Align the length up to 4 bytes so that we do not pass unaligned lengths to read_memory. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | imx-usb-loader: Align uploaded file lengthSascha Hauer2018-05-241-1/+5
|/ | | | | | | | At least i.MX25 does not properly upload a non word aligned file length. Align the uploaded length to word length to make sure the end of the file is also transferred properly. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* i.MX/DCD compiler and interpreter: logic is differentJuergen Borleis2018-03-264-50/+28
| | | | | | | | | | | Reading the manual more carefully discovers a different logic for the DCD 'check' command. They use the term "until". In order to get the manual and the software in sync, this change switches to the term "until" as well. Changing must happen at compiler and interpreter level to make it work. Signed-off-by: Juergen Borleis <jbe@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/ratp'Sascha Hauer2018-03-053-0/+183
|\
| * ratp: new reset commandAleksander Morgado2018-03-013-3/+35
| | | | | | | | | | | | | | | | E.g.: $ ./bbremote -v --port /dev/ttyUSB2 reset Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ratp: new md and mw commandsAleksander Morgado2018-03-013-0/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces support for running the md and mw commands using the binary interface provided by RATP. This allows clients to read and write memory files without needing to do custom string parsing on the data returned by the console 'md' and 'mw' operations. The request and response messages used for these new operations are structured in the same way: * An initial fixed-sized section includes the fixed-sized variables (e.g. integers), as well as the size and offset of the variable-length variables. * After the initial fixed-sized section, the buffer is given, which contains the variable-length variables in the offsets previously defined and with the size previously defined. The message also defines separately the offset of the buffer w.r.t. the start of the message. The endpoint reading the message will use this information to decide where the buffer starts. This allows to extend the message format in the future without needing to break the message API, as new fields can be appended to the fixed-sized section as long as the buffer offset is also updated to report the new position of the buffer. E.g.: $ ./bbremote --port /dev/ttyUSB2 md /dev/pic_eeprom_rdu 0x107 5 0000000000 $ ./bbremote --port /dev/ttyUSB2 mw /dev/pic_eeprom_rdu 0x107 0102030405 5 bytes written $ ./bbremote --port /dev/ttyUSB2 md /dev/pic_eeprom_rdu 0x107 5 0102030405 $ ./bbremote --port /dev/ttyUSB2 mw /dev/pic_eeprom_rdu 0x107 0000000000 5 bytes written $ ./bbremote --port /dev/ttyUSB2 md /dev/pic_eeprom_rdu 0x107 5 0000000000 Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2018-03-051-1/+13
|\ \ | |/ |/|
| * bootm: fit: add option to add DT snipped that contains fit public keyMarc Kleine-Budde2018-02-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it easier for build systems to include a configurable dts snippet which holds the public keys for FIT images. Usage: Add to your dts: #ifdef CONFIG_BOOTM_FITIMAGE_PUBKEY #include CONFIG_BOOTM_FITIMAGE_PUBKEY #endif Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * Makefile.lib: imx hab: fix hab files with embedded variablesMarc Kleine-Budde2018-02-201-1/+7
| | | | | | | | | | | | | | | | When passing variables this way, all embedded variables are expanded, so that the path in the .config file can be kept relative. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> SIgned-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | scripts/compiler.h: inline functions in headers must be staticMichael Olbrich2018-02-091-2/+2
|/ | | | | | | | | | | | | | | | | | Without this building bareboxenv-target with gcc 7.3 fails with: CC scripts/bareboxenv-target /tmp/cc9G2oOY.o: In function `file_action': bareboxenv.c:(.text+0x14): undefined reference to `xzalloc' /tmp/cc9G2oOY.o: In function `concat_path_file': bareboxenv.c:(.text+0xf4): undefined reference to `xmalloc' /tmp/cc9G2oOY.o: In function `envfs_save': bareboxenv.c:(.text+0x5b4): undefined reference to `xzalloc' /tmp/cc9G2oOY.o: In function `envfs_load': bareboxenv.c:(.text+0x7d8): undefined reference to `xmalloc' collect2: error: ld returned 1 exit status Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* bbremote: rename command subparser variablesAleksander Morgado2018-01-301-7/+7
| | | | | | | | | | Don't reuse unrelated subparser variables for new command subparsers, make each subparser have its own variable. Just for consistency really, not a bugfix. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* build: fix that LZO file is always rebuiltSam Ravnborg2018-01-051-6/+8
| | | | | | | | | | | | | | | From e398a00f84db33ea5ae7f6ee12c54511ef7a94fc Mon Sep 17 00:00:00 2001 From: Sam Ravnborg <sam@ravnborg.org> Date: Tue, 26 Dec 2017 18:09:35 +0100 Subject: [PATCH 4/4] build: fix that LZO file is always rebuilt Port the make-cmd from linux kernel. with the updated version $$ is porperly escaped, thus the LZO rule works as intended. And we avoid rebuilds when not required Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* build: fix that the bbenv file is always rebuiltSam Ravnborg2018-01-051-1/+1
| | | | | | | | | | | | | | | From ac9ca6505d5b887c351117d9c033c8a76cc77125 Mon Sep 17 00:00:00 2001 From: Sam Ravnborg <sam@ravnborg.org> Date: Tue, 26 Dec 2017 18:05:14 +0100 Subject: [PATCH 3/4] build: fix that the bbenv file is always rebuilt Use if_changed in rule for bbenv file. This avoids re-builds. The target is already assigned to extra-y - so the kbuild logic will work as expected. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts: imx imx-usb-loader: Fix last transfer error messageSascha Hauer2017-09-261-1/+1
| | | | | | | | | | | When doing memory read transfers there will always be 64 bytes transferred, even when less bytes are requested. This is expected and there is a test skipping the error message in this case. The test is wrong though since cnt is not decremented and will never be equal to rem. Fix the test so that verifying memory does not give a bogus error message. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts: imx imx-usb-loader: Add support for i.MX6ullSascha Hauer2017-09-261-0/+7
| | | | | | Same as other i.MX6 variants, just add the product id. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* regsubst.pl: fix typo in help textUwe Kleine-König2017-09-061-1/+1
| | | | | | | | It seems I did too much assembler stuff ... Fixes: e7fed4338441 ("scripts: Provide script that helps using cpp defines in dcd tables") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/imx: fix out-of-bounds access for big DCD tablesUwe Kleine-König2017-08-151-4/+8
| | | | | | | | | | | add_header_v2 might need a buffer that is bigger than HEADER_LEN (0x1000) as MAX_DCD * sizeof(u32) (i.e. the maximal size of the dcd table alone) is already 0x1000. Additionally add_header_v2 adds padding (usually 0x400) and a struct imx_flash_header_v2 (48). So expand the buffer size accordingly for v2. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
* Merge branch 'for-next/socfpga'Lucas Stach2017-07-311-16/+9
|\
| * scripts: socfpga_get_sequencer: update importerSteffen Trumtrar2017-07-111-16/+9
| | | | | | | | | | | | | | | | Adjust two header files that where renamed in the meantime. While at it, also remove trailing whitespace and cleanup the script a little. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
* | scripts: Provide script that helps using cpp defines in dcd tablesUwe Kleine-König2017-07-301-0/+129
|/ | | | | | | | This script was used to help create commit 8f426992c562 ("ARM: imx: use register defines in imxcfg files instead of plain numbers"). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
* Merge branch 'for-next/ratp'Sascha Hauer2017-06-301-23/+15
|\
| * ratp: user close may happen in SYN-RECEIVED stateAleksander Morgado2017-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reference says: 5.2.3. SYN-RECEIVED ... Departures - A CLOSE request is made by the user. Create a packet with FIN set. Send it and go to the FIN-WAIT state. Add this missing step. Probably not a real usecase for barebox anyway as there is no user triggered close. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ratp: don't ignore data that may arrive in behaviour H1Aleksander Morgado2017-06-231-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an input packet arrives H1 that has data in it, we need to: * track sn_received * if we have data pending, send it * if we don't have data pending, send a plain ACK This process, as noted in RFC916, is the same as the I1 procedure, so go and run it: Go to the ESTABLISHED state and execute procedure I1 to process any data which might be in this packet. This fix allows the peer to queue data in the last packet doing the connection establishment. It doesn't apply to the barebox<->bbremote interaction because bbremote won't queue data until the connection is completely established, but it allows third party ratp implementations to do that. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ratp: remove FIXME comment: FIN always requires ACKAleksander Morgado2017-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Section 3.4 in the RFC916 shows a packet flow for the connection close where the initial packet sent by the endpoint starting the close has just the FIN flag set, without an ACK: --> <SN=0><AN=1><CTL=FIN> <SN=1><AN=1><CTL=FIN,ACK> <-- --> <SN=1><AN=0><CTL=ACK> This may lead to think that it is actually allowed to send the initial packet with just FIN set, without ACK-ing any other packet from the peer. But, this is actually not possible, the packet MUST be ACK-ing a previous packet from the peer, even if this is just a duplicated ACK, because otherwise the packet with the FIN wouldn't get processed in the H2 behavior (FIN processing) of the peer, as the F2 behavior (ACK processing) would filter it out. This is actually the same reasoning why data packets always have ACK set, even if the same ACK has already been sent previously (e.g. with a simple ACK packet without data); if they didn't have it, they would be filtered out in the F2 behavior, never arriving the I1 behavior, which is where the received data is processed. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ratp: remove bogus data checks in behavior C2Aleksander Morgado2017-06-231-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The SN validation was being completely ignored if the packet had no data (e.g. for RST, FIN or SYN or plain ACKs). This condition is now removed so that the SN check is done. The second check removed was actually never being used, as it was already being tested for not having data in the first one. These two fixes are a cleanup to follow the protocol correctly. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ratp: fix data presence checkAleksander Morgado2017-06-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Looking at the "data length" and SO flag isn't enough to declare a packet with or without data, because SYN flagged packets will also use the "data length" field to define MDL. So, improve the check to match against SYN|RST|FIN flagged packets, which can never have data. This commit fixed a segfault in barebox when an unexpected SYN packet was sent in the middle of a connection; barebox thought the packet had data because the "data length" in the SYN packet was different than 0. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/mvebu'Sascha Hauer2017-06-301-1/+3
|\ \
| * | scripts/kwboot: document -n optionUwe Kleine-König2017-06-301-1/+3
| |/ | | | | | | | | | | | | This was forgotten in the commit that added support for that option Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2017-06-301-1/+1
|\ \
| * | enable LFS support for host programsUwe Kleine-König2017-06-301-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | This fixes building on an XFS partition on a 32 bit machine: $ armmake -C ~/gsrc/barebox O=$PWD imx_defconfig HOSTCC scripts/basic/fixdep fixdep: error fstat'ing depfile: scripts/basic/.fixdep.d: Value too large for defined data type Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / scripts/kwbimage: support empty binary.0 filesUwe Kleine-König2017-06-191-1/+5
|/ | | | | | | | While it doesn't make sense to use empty binary headers on a machine for first stage, it is convenient to support this for build testing. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2017-06-141-0/+6
|\
| * new make helper to decode binaries using base64Uwe Kleine-König2017-06-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is helpful to provide mvebu binary.0 images with a patch. When added directly a binary patch is needed which isn't understood by patch(1). As it's (at least) unclear if these images are distributable in general I don't provide a patch making use of this, but the pattern is as follows: Add $(obj)/start_netgear_rn2120.pblx.kwbimg: $(board)/netgear-rn2120/binary.0 to images/Makefile.mvebu and then put a binary.0.base64 into the board folder. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | imx-usb-loader: add prefix '0x' for hex valueStefan Lengfeld2017-05-171-1/+1
| | | | | | | | | | Signed-off-by: Stefan Lengfeld <contact@stefanchrist.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Fix linking with new ld, based on u-bootAndrey Panov2017-05-171-1/+1
|/ | | | | | | | U-boot commit info: http://git.denx.de/?p=u-boot.git;a=commit;h=e391b1e64b0bd65709a28a4764afe4f32d408243 Signed-off-by: Andrey Panov <rockford@yandex.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/socfpga'Sascha Hauer2017-05-052-1/+118
|\
| * ARM: socfpga: add arria10 supportSteffen Trumtrar2017-05-031-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Arria10 is a SoC + FPGA like the Cyclone5 SoCFPGA that is already supported in barebox. Both a the same in some parts, but totaly different in others. Most of the hardware blocks are the same in the SoC parts. The OCRAM is larger on the Arria10 and the SDRAM controller is different. The serial core only supports 32bit accesses (different to the 8bit accesses on the Cyclone5). As Arria10 has 256KB of OCRAM, it is possible to fit a larger barebox (and/or use PBL) instead of the two stage bootprocess used on the Cyclone5 and its 64KB OCRAM. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>