summaryrefslogtreecommitdiffstats
path: root/Documentation
Commit message (Collapse)AuthorAgeFilesLines
* Documentation: reboot-mode: fix typosUlrich Ölmann2021-10-221-4/+4
| | | | | | Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de> Link: https://lore.barebox.org/20211021143654.13824-1-u.oelmann@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: Rockchip: fix path to rkbin firmware in documentationAhmad Fatoum2021-10-121-1/+1
| | | | | | | | | | | Like in the two lines following it, the rk3568_bl31_v1.24.elf firmware's top level directory is bin/. Checked against 7d631e0d5b2d ("rk3568: bl31: update version to v1.24"). Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20211011142215.25846-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/zynqmp'Sascha Hauer2021-10-071-2/+2
|\
| * Documentation: boards: zynqmp: fix broken linksMichael Riesch2021-10-041-2/+2
| | | | | | | | | | | | | | | | | | The external links are not properly recognized. Remove quotation marks as a fix. Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net> Link: https://lore.barebox.org/20210913121350.9307-3-michael.riesch@wolfvision.net Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/targettools'Sascha Hauer2021-10-071-0/+45
|\ \
| * | scripts: allow building USB loader tools for target as wellAhmad Fatoum2021-10-021-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently build the USB loader tools only for the host (build) system, but it can be useful to cross compile them as well for the target. We already have some target tools, but support for those is easier, because they don't link against libraries. We use pkg-config to get cc and ld flags, but we always assume that pkg-config is for the host system and there is no well-defined way to request pkg-config for the target system. Support this by introducing a new CROSS_PKG_CONFIG. This will be consulted only for target tools and default to $(CROSS_COMPILE)pkgconfig. Users can override it as necessary, for example, with Yocto, pkg-config will be for the cross environment, so target tools can now be built with: export ARCH=sandbox CROSS_COMPILE=aarch64-linux-gnu- export CROSS_PKG_CONFIG=pkg-config scripts make targettools_defconfig make scripts Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210917174127.23345-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/misc'Sascha Hauer2021-10-073-6/+4
|\ \ \
| * | | Documentation: framebuffer: remove note about lack of backlight supportAhmad Fatoum2021-10-051-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | barebox supports PWM backlight. Remove the notice about lack of support. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210825092701.30436-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | net: add virtio network driverAhmad Fatoum2021-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives virtio-enabled boards an easy route to network connectivity: qemu-system-aarch64 -M virt -serial mon:stdio -trace file=/dev/null \ -kernel images/barebox-dt-2nd.img -cpu cortex-a57 -nographic \ -device virtio-net-device,netdev=network0 -netdev tap,id=network0,ifname=tap0 The tap0 interface created by QEMU can then be bridged/listened on. Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | scripts: socfpga_import_preloader: make sdk optionalSteffen Trumtrar2021-08-231-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit a9b2e6089d82686564220013f14e9f0ffcc725e2 allowed generating everything needed in one step. This was however a bit too ambitious. The script now requires that the Altera Embedded SDK is always installed. There are situations where this is unwanted. Beef up the code a little bit to allow having the SDK as an optional argument and make the other input parameters location independent. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Link: https://lore.barebox.org/20210611080233.15141-1-s.trumtrar@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/imx'Sascha Hauer2021-10-072-0/+89
|\ \ \
| * | | ARM: i.MX8MN: add i.MX8MN-EVK supportAhmad Fatoum2021-10-051-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With driver support in place, we can now build and run barebox in the i.MX8MN. Following tested working: - Setting up DDR4 SDRAM - Booting from SD-Card - Booting from eMMC - Updating barebox in SD-Card/eMMC boot partition - USB Fastboot, ACM gadgets - UART - Early I2C with bd71837 - Ethernet - Loading and communicating with TF-A The resulting image supports both DDR4 and LPDDR4. They use different PMICs, so probing the i2c addresses of them indicates what DRAM type to setup. I have only tested this on a DDR4 EVK, but the LPDDR4 code is equivalent to what's already used in barebox with i.MX8M Mini and Plus, so it should work(tm). Notably missing: - boot from USB SDP doesn't work. early debug_ll doesn't indicate that barebox PBL was actually entered. This can follow later though. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20211001100949.6891-9-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | ARM: i.MX8MM: add reboot to serial download modeAhmad Fatoum2021-08-091-0/+29
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The i.MX8MM reference manual follows long established tradition in not documenting BootROM magic reboot codes. For older i.MX variants, the values can be seen in the bmode tables of Freescale's U-Boot patches. There are no such patches for the i.MX8M, but testing shows that mw 0x30390094 0x10 ; mw 0x30390098 0x40000000 is one of the configurations that trigger serial download on next warm reset on an i.MX8MM. Describe this in the device tree, so gpr.reboot_mode.next=serial reset -r imxwd-warm does the right thing for that SoC. This all might work for other i.MX8M variants as well, but the dtsi can be genericized later on when tested. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210803165937.31608-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/at91'Sascha Hauer2021-10-072-14/+10
|\ \ \
| * | | ARM: AT91: migrate sama5d3-xplained to DTAhmad Fatoum2021-10-012-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have one other DT-enabled SAMA5D3 board already: microchip-ksz8477-evb, which is basically a sama5d3 xplained in different form factor and with a switch. Mimic what we do there to get rid of the sama5d3 board code. Unlike the microchip-ksz9477-evb, the barebox support for this board includes NAND, which is not yet up to date with respect to DT: - SMC for NAND configuration has no DT driver. Instead the board driver create this device - We don't support the newer NAND DT bindings (EBI). The device trees fix this up, so barebox sees the old bindings with the upstream partition layout. In future, this could be fixed. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210922065000.20970-6-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | Documentation: boards: at91: remove done TODOsAhmad Fatoum2021-10-011-6/+8
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All DT-enabled boards are now in the at91_multi_defconfig. The SAMA5 ones also generate first stage bootloaders with the same config. Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Acked-by: Sam Ravnborg <sam@ravnborg.org> Link: https://lore.barebox.org/20210922065000.20970-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/arm'Sascha Hauer2021-10-071-0/+21
|\ \ \
| * | | ARM: document arm_setup_stack() pitfallsAhmad Fatoum2021-10-051-0/+21
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many arm32 board entry points use arm_setup_stack() to set up the stack from C code. This necessitates using __naked, which probably has been our most frequent cause of misscompiled C code. GCC is quite clear that: Only basic asm statements can safely be included in naked functions While using extended asm or a mixture of basic asm and C code may appear to work, they cannot be depended upon to work reliably and are not supported. But some boards use it anyway, because it's nice to avoid writing assembly. Reading generated assembly to spot compiler miscompilation isn't that nice though, so add some documentation, comments and compiler diagnostics to hopefully reduce future porting effort. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210917121152.16033-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / / Documentation: Typo fix in command exampleJules Maselbas2021-10-041-1/+1
|/ / | | | | | | | | | | | | | | The ``make`` command is missing a closing angle bracket ``>``. Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20210907130131.26755-2-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / Documentation: reboot-mode: add note about /env/bmodeAhmad Fatoum2021-10-012-2/+4
|/ | | | | | | | | | | | This directory is an optional part of the defaultenv-2 and is documented there. There should be a sentence about it in the reboot-mode docs as well, because users can add it to their environments as well to avoid doing if-else chains in the init scripts. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210922091549.23185-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/zynqmp'Sascha Hauer2021-07-181-0/+40
|\
| * Documentation: zynqmp: add some documentationMichael Tretter2021-06-251-0/+40
| | | | | | | | | | | | | | | | | | Add at least some information how Barebox can be used on the ZynqMP and what is required to create a bootable image. Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Link: https://lore.barebox.org/20210624150054.1205422-8-m.tretter@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/usb-gadget'Sascha Hauer2021-07-182-23/+16
|\ \
| * | usbgadget: add support for USB mass storage gadgetAhmad Fatoum2021-06-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver is based on the f_mass_storage drivers in Linux v5.11 and U-Boot v2021.01. Unlike the U-Boot version, it runs asynchronously without blocking the bootloader from doing other tasks, like exporting other USB gadgets at the same time or enabling shell access. With pollers and workqueues, enabling this would need a large rework of the code to be completely callback based, whenever the original Linux code sleeps waiting for events. With the new bthread support, we can actually sleep and handover control to other bthreads until there is actual work to do. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210622082617.18011-9-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | Documentation: devel: background-execution: update bthread docsAhmad Fatoum2021-06-251-23/+11
| |/ | | | | | | | | | | | | | | | | | | | | Using bthreads throughout means we'll need finer grained locking across the code base, which is too big a commitment for now. Previous commit limited bthread_reschedule to only happen in command context, like how it is for workqueues. Adjust the docs appropriately. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210622082617.18011-7-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/rockchip'Sascha Hauer2021-07-181-0/+39
|\ \
| * | ARM: Rockchip: Add rk3568 evb board supportSascha Hauer2021-06-281-0/+39
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the rk3568 evb board. Tested features so far are: - 1st stage booting - Network - SD card - eMMC The dts files are based on the ones posted on the mailing lists, they should be rebased on the upstream files once they show up in barebox. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20210615141641.31577-11-s.hauer@pengutronix.de Link: https://lore.barebox.org/20210621092802.27275-11-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/riscv'Sascha Hauer2021-07-181-0/+37
|\ \
| * | RISC-V: StarFive: add board support for BeagleV StarlightAhmad Fatoum2021-06-241-0/+37
| |/ | | | | | | | | | | | | | | | | With the different drivers now in place, we have everything to start a barebox image. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210619045055.779-30-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Documentation: Add documentation for device tree overlaysSascha Hauer2021-06-281-0/+43
| | | | | | | | | | | | | | | | Document the recently gained device tree overlay features. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20210624085223.14616-18-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | doc: devicetree: Refer to internal device tree also as live treeSascha Hauer2021-06-281-1/+1
|/ | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20210624085223.14616-17-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Documentation: devel: porting: update after clk_hw syncAhmad Fatoum2021-06-211-1/+0
| | | | | | | | | | Clock code sync with Linux got way more straight forward, now that barebox knows about struct clk_hw. Remove the suggestion to replace clk_hw with clk when porting. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210621064646.19094-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/testing'Sascha Hauer2021-06-165-22/+103
|\
| * test: add emulate.pl, a runner for barebox on emulated targetsAhmad Fatoum2021-06-091-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This script is a wrapper around tuxmake, qemu and labgrid-pytest. It parses the same YAML files, labgrid-pytest uses and instructs tuxmake to build and collect the needed images. By default, it will start an interactive emulator session, but with --test, it can also run labgrid-pytest instead. The script has some knowledge of QEMU options to make common tasks like passing images straight-forward. Script is written with both manual use and CI in mind. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210604084704.17410-12-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * Documentation: boards: RISC-V: update TinyEMU supportAhmad Fatoum2021-06-093-10/+24
| | | | | | | | | | | | | | | | | | | | | | Adding the tinyemu files as separate files and including them has the nice benefit that temu users can just use these files directly instead of copy pasting. While at it, update the section as input, as support was added meanwhile. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210604084704.17410-7-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * MIPS: qemu-malta: generate swapped image as part of multi-image buildAhmad Fatoum2021-06-091-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | Having to manually swap the words in the MIPS Malta image for QEMU little endian emulation is annoying. Have the multi-image build for Malta generate a second .swapped image that can be readily used if needed. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210604084704.17410-5-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/imx'Sascha Hauer2021-06-161-0/+10
|\ \
| * | ARM: protonic: add initial support for the Protonic PRT8MM family of boardsDavid Jander2021-05-311-0/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | This board is a low-cost 7" touchscreen virtual terminal for agricultural applications. There is no upstream Linux DT yet, so we add a minimal DT for use with the bootloader in this patch. Signed-off-by: David Jander <david@protonic.nl> [lst: fixed and cleaned up for upstream] Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Link: https://lore.barebox.org/20210528133041.1109923-2-l.stach@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / Documentation: RISC-V: erizo: fix header levelAntony Pavlov2021-06-151-1/+1
|/ | | | | | | | | The "Running on DE0-Nano FPGA board" is a "Erizo" subsection not independent section. Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Link: https://lore.barebox.org/20210614142753.86477-1-antonynpavlov@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Documentation: Update env sources documentationTrent Piepho2021-05-251-6/+10
| | | | | | | | | | | Add CONFIG_DEFAULT_ENVIRONMENT_PATH to the list in the proper place. Update the board env to follow the new pattern for naming and note that, unlike the other directories, one must add code to get this directory in the environment. Link: https://lore.barebox.org/20210519060134.2976676-1-tpiepho@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Documentation: kvx: Fix broken linkJules Maselbas2021-05-031-1/+1
| | | | | | | | The link to toolchain releases was missing a part Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20210417211419.26883-1-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Documentation: user: watchdog: sync with current stateAhmad Fatoum2021-05-031-4/+32
| | | | | | | | | Since most of the documentation was written, the watchdog framework has gained three more device parameters. Document them. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210426113408.24903-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/virtio'Sascha Hauer2021-04-152-3/+3
|\
| * Documentation: virtio: Fix virtio referenceAhmad Fatoum2021-04-132-2/+2
| | | | | | | | | | | | | | | | Sphinx complains, probably, because _virtio is used for footnote in the same document. Rename it to fix the reference. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * input: add virtio input driverAhmad Fatoum2021-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | We already support Linux event codes, because they are used in the device tree bindings for e.g. gpio-keys. Virtio input devices report events using the same codes, so a driver just has to shovel the codes from virtqueue into the input layer. Do so. Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2021-04-153-156/+71
|\ \
| * | Documentation: Add qemu instructions for OpenRISCStafford Horne2021-04-131-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | Most developers have qemu and rather not download and install the or1ksim. Also, this adds details on how to get a openrisc toolchain. Signed-off-by: Stafford Horne <shorne@gmail.com> Link: https://lore.pengutronix.de/20210304210747.3679483-1-shorne@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | doc: fix note about disassembling PBLAhmad Fatoum2021-03-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | The described ``make`` incantations no longer work. Refer to the current names of the files instead. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | x86: drop legacy (PC BIOS) boot in favor of EFIAhmad Fatoum2021-03-251-153/+0
| |/ | | | | | | | | | | | | | | | | | | | | | | | | The 16-bit port has experienced bitrot and failed to compile with more recent linkers for at least a year. Fixing the linker error is insufficient to restore a barebox that can boot to shell. This continued breakage likely means that there are no users interested in updating. As new x86 projects should be using MACH_EFI_GENERIC anyway, retire support for 16-bit legacy boot (MACH_X86_GENERIC). Acked-by: Juergen Borleis <jbe@pengutronix.de> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Documentation: add barebox porter's guideAhmad Fatoum2021-04-133-0/+512
| | | | | | | | | | | | | | | | Make new porters' life easier by having a central place for porting advice and add some initial content there. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>