| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adresses below 0x04 and above 0x77 are reserved in the i2c bus
specification, so don't probe these addresses unless requested
explicitly.
Also do more strict boundary checking:
- ensure start address is greater or equal to zero;
- don't decrease stopaddr after checking it being greater or equal to
startaddr.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
This helps understand how the imd stuff works because now
$(git grep IMD_TYPE_OF_COMPATIBLE) also matches the critical code
location that creates the imd entry.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
Mark sparse_seek() as static to avoid -Wmissing-prototypes warnings
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
| |
Drop struct data which doesn't seem to serve any purpose in the code
and looks like a leftover.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Maximum file size on 64-bit system is 2^63-1 (9223372036854775807),
which takes more that 14 characters of space. In order to keep things
properly aligned adjust that spacing to 20 on 64-bit platforms.
Before:
ls -l /dev/
d--------- 0 .
d--------- 0 ..
crw------- 16384 dds-eeprom
crw------- 256 e1000-invm0
crw------- 16384 eeprom0
cr-------- 0 full
crw------- 2048 imx-ocotp
crw------- 16384 main-eeprom
crw------- 64 mdio0-phy00
crw------- 9223372036854775807 mem
c-w------- 0 netconsole-1
c-w------- 0 null
crw------- 256060514304 nvme0n1
cr-------- 0 prng
crw------- 4294967296 ram0
c-w------- 0 serial0-1
cr-------- 0 zero
After:
ls -l /dev/
d--------- 0 .
d--------- 0 ..
crw------- 16384 dds-eeprom
crw------- 256 e1000-invm0
crw------- 16384 eeprom0
cr-------- 0 full
crw------- 2048 imx-ocotp
crw------- 16384 main-eeprom
crw------- 64 mdio0-phy00
crw------- 9223372036854775807 mem
c-w------- 0 netconsole-1
c-w------- 0 null
crw------- 256060514304 nvme0n1
cr-------- 0 prng
crw------- 4294967296 ram0
c-w------- 0 serial0-1
cr-------- 0 zero
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When calling I/O functions of underlying block device driver we always
need to make sure that its size is small enough to not go past
device's boundary. Not only in get_chunk() and block_cache(), but in
writebuffer_flush() as well. Since the same code is used in three
different places, move it into a subroutine and adjust all of the
calls to ->write()/->read() accordingly.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After flashing a bogus UBI image, e.g. when the UBI is bigger than the
available flash size, it can happen that barebox hangs itself with a
stacktrace when the board code or the environment does a ubi_attach() on
boot:
ERROR: ubi0 error: init_volumes: not enough PEBs, required 7478, available 4024
unable to handle NULL pointer dereference at address 0x00000204
pc : [<1fd1eaf2>] lr : [<1fd15aad>]
sp : 1feefd30 ip : 0000000a fp : 1fd5d1d7
r10: 00001d34 r9 : 00000000 r8 : 1fd5d540
r7 : 14983148 r6 : 00000006 r5 : ffffffe4 r4 : 14983004
r3 : 1fd82bfc r2 : 021f0000 r1 : 0000000a r0 : 00000000
Flags: nzcv IRQs off FIQs off Mode SVC_32
[<1fd1eaf2>] (ubi_fastmap_destroy_checkmap+0x8/0xa) from [<1fd15aad>] (ubi_read_volume_table+0x4d9/0x71c)
[<1fd15aad>] (ubi_read_volume_table+0x4d9/0x71c) from [<1fd1cbf7>] (ubi_attach+0x157/0x1f8)
[<1fd1cbf7>] (ubi_attach+0x157/0x1f8) from [<1fd16ec3>] (ubi_attach_mtd_dev+0x4a3/0x954)
[...]
After this change, barebox at least boots to a prompt where the faulty
flash can be repaired:
ERROR: ubi0 error: init_volumes: not enough PEBs, required 7478, available 4024
ERROR: ubi0 error: ubi_attach_mtd_dev: failed to attach mtd0, error -28
[...]
running /env/bin/init...
barebox@boardname:/
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
This removes the stale netx-devices.h include as there is no user of it.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
This removes the stale mach/sama5d3_matrix.h include as there is no user of it.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
This removes the stale asm/mc146818rtc.h include as there is no user of it.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
This removes the stale asm/e300.h include as there is no user of it.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
This removes the stale mach/dove.h include as there is no user of it.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
This removes the stale mach/clock-imx1.h include as there is no user of it.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
This removes the stale mach/am33xx-devices.h include as there is no user of it.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
This removes the stale mach/kirkwood.h include as there is no user of it.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current boot code prints too much error messages without much value
in them. This patch prints the error string when it makes sense and
simplifies the return path of bootscript_boot(). Make use of pr_err()
in boot_entry() which is the shared code responsible for calling the
boot_entry->boot callback. Remove the unnecessary print statement
from bootsource_action() as well.
This removes a single print statement ATM, allowing us to go from this:
booting 'sd'
Cannot set parameter mci0.probe: No such device
running automount command 'mci${global.sd}.probe=1 && mount /dev/disk${global.sd}.0 /mnt/sd' failed
could not open /mnt/sd/zImage: No such device
ERROR: Booting 'sd' failed: No such device
booting 'sd' failed: No such device
boot: No such device
to this:
Booting entry 'sd'
Cannot set parameter mci0.probe: No such device
running automount command 'mci${global.sd}.probe=1 && mount /dev/disk${global.sd}.0 /mnt/sd' failed
could not open /mnt/sd/zImage: No such device
ERROR: Booting entry 'sd' failed
boot: No such device
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
Setting the nfsroot variable as well as the kernel bootargs for the
interface used to reach the server is specific to nfs, which are used
only if there's no initramfs to load from tftp. Move these statements
within the condition.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some variables may be set from DHCP requests, as shown below:
barebox@ZII VF610 Development Board, Rev C:/ echo $global.hostname
dev-rev-c
barebox@ZII VF610 Development Board, Rev C:/ echo $global.net.server
0.0.0.0
barebox@ZII VF610 Development Board, Rev C:/ dhcp
eth0: 100Mbps full duplex link detected
T T T eth0: DHCP client bound to address 192.168.203.31
barebox@ZII VF610 Development Board, Rev C:/ echo $global.hostname
zii-dev-rev-c-1
barebox@ZII VF610 Development Board, Rev C:/ echo $global.net.server
192.168.203.1
barebox@ZII VF610 Development Board, Rev C:/
These variables are used by the boot/net script, so it is necessary
to trigger DHCP before we set the TFTP file paths, otherwise booting
from net will fail like below and will need to be triggered twice:
running /env/bin/init...
Hit m for menu or any key to stop autoboot: 1
booting 'net'
eth0: 100Mbps full duplex link detected
T T T eth0: DHCP client bound to address 192.168.203.31
WARNING: eth1: No MAC address set. Using random address 8a:ee:18:f5:98:e7
T T T T T T T T T T T T T T T T T T T T could not open /mnt/tftp/none-linux-dev-rev-c: No such file or directory
ERROR: Booting 'net' failed: No such file or directory
boot: No such file or directory
type exit to get to the menu
barebox@ZII VF610 Development Board, Rev C:/ boot
booting 'net'
Loading ARM Linux zImage '/mnt/tftp/none-linux-zii-dev-rev-c-1'
Loaded initrd unknown '/mnt/tftp/none-initramfs-zii-dev-rev-c-1'
initrd is at 0x82509000-0x835593ff
Loading devicetree from '/mnt/tftp/none-oftree-zii-dev-rev-c-1'
commandline: console=ttyLP0,115200n8 ip=dhcp
Ucompressing Linux... done, booting the kernel.
To fix this, bring the interfaces up before setting up tftpboot.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
| |
arch/arm/boards/qemu-virt64/Kconfig is not used by build system,
so it can be removed.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
| |
Just a cleanup over barebox tree
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
| |
For some reasons, I missed to delete this file in commit 997b70f585ef
("kconfig: sync to Linux 4.20").
Now really synced with Linux 4.20.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
Sync up implemenations of simple_str*() functions with their kernel
counterparts in order to convert the code to use plumbing from
kstrtox.c
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sphinx warns:
Documentation/boards/imx/amazon-kindle-4-5.rst:39: WARNING: Enumerated list ends without a blank line; unexpected unindent.
Documentation/boards/imx/amazon-kindle-4-5.rst:42: WARNING: Enumerated list ends without a blank line; unexpected unindent.
Documentation/boards/imx/amazon-kindle-4-5.rst:45: WARNING: Enumerated list ends without a blank line; unexpected unindent.
Solve this by fixing the list enumeration and adding blank lines.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
Also fix the resulting sphinx warning:
Documentation/user/state.rst:650: WARNING: Explicit markup ends without a blank line; unexpected unindent.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
| |
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
All of the functions using debug() in that file have enough info to
use dev_dbg instead. Convert all of the uses of debug() to dev_dbg()
in order to get more informative debug output.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
The two functions are identical, so there's no need to keep two copies
of the same code around. Alias block_op_close() to block_op_flush()
and drop standalone definition for the former.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pblx-* has been removed in 5a1a5ed253 ("ARM: images: use piggydata")
and using it (e.g. because a patchset was rebased) results in a non-obvious:
make[1]: *** No rule to make target 'images/*.pblx.*', \
needed by 'images/barebox-*.img'. Stop.
Avoid this by explicitly failing with an error message whenever pblx-y
or pblx- has been defined.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
| |
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
| |
Now that we compile the compressed binary into the decompressor we
no longer need fix_size but can use the linker to fill in the image
size into the binary.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
|
|
|
|
|
|
| |
This was lost during conversion to use upstream device tree.
Fixes: 29841dfa4b ("ARM: imx8mq: use upstream devicetree")
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ |
|
| |
| |
| |
| |
| | |
Signed-off-by: Thomas Haemmerle <thomas.haemmerle@wolfvision.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for the Xilinx Zynq Ultrascale+ MPSoC architecture (ZynqMP)
and the Xilinx ZCU104 board.
Barebox is booted as BL33 in EL-1 and expects that a BL2 (i.e. the FSBL)
already took care of initializing the RAM. Also for debug_ll, the UART
is expected to be already setup correctly. Thus, you have to add the
Barebox binary to a boot image as described in "Chapter 11: Boot and
Configuration" of "Zynq Ultrascale+ Device Technical Reference Manual".
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
arm64 has no __naked__ attribute and the compiler adds a function prologue
for saving x29 and x30 to the stack for all C functions. This includes
functions defined using the ENTRY_FUNCTION macro. Therefore, the stack
needs to be setup before entering a C function, which is not possible if
the entry is a C function.
Provide a macro to implement the entry in assembly to be able to setup the
stack before entering the low level entry function.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Without this flag, gcc generates code to save the Q/V registers to the
stack for handling the va_list in pr_print(). Saving the registers is
useless, as the registers are never restored, but accessing the
registers to save them hangs the CPU.
Follow the Linux arch/arm64/Makefile and use the general-regs-only flag
to prevent usage of floating point and Advanced SIMD register.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit e1287b1a8b27 ("arm: rework lib directory to support arm64")
restructured the lib directory and added the lib64 directory. It moved
the existing .gitignore to the lib32 directory but didn't add a new
.gitignore for lib64.
Thus building Barebox for arm64 results in stray barebox.lds files.
Copy the .gitignore from lib32 to lib64.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
nmon is a tiny (<1024 bytes) monitor program
for the RV32I processors.
It can operate with NO working RAM at all!
It uses only the processor registers and NS16550-compatible
UART port for operation, so it can be used for a memory
controller setup code debugging.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch adds macros for ns16550 port initialization
and single char output. The macros can be used in
MIPS asm pbl code.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Erizo is an opensource hardware SoC for FPGA.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|