# SPDX-License-Identifier: GPL-2.0-only # # Misc strange devices # menu "Misc devices" config JTAG tristate "JTAG Bitbang driver" depends on GENERIC_GPIO help Controls JTAG chains connected to I/O pins config SRAM bool "Generic SRAM driver" help This driver adds support for memory mapped SRAM. config STATE_DRV tristate "state driver" depends on OFDEVICE depends on STATE config DEV_MEM bool "Generic memory I/O device (/dev/mem)" config UBOOTVAR bool "U-Boot environment storage" depends on OFTREE help This driver exposes U-Boot environment variable storage as a single mmap-able device, hiding various low-level details such as: - Preamble format differences - Read/write logic in presence of redundant partition While it can be used standalone, it is best when coupled with corresponding filesystem driver. config STARFIVE_PWRSEQ bool "StarFive power sequencing driver" depends on SOC_STARFIVE help This driver sets up a number of StarFive peripherals not matched by more specific barebox drivers by deasserting reset lines, muxing pins and/or enabling clocks. Peripherals set up by this can then be accessed over /dev/mem or used from kernels which still depend on bootloader for initialization. config STORAGE_BY_UUID bool "storage by UUID" depends on OFDEVICE help This adds a driver which matches to a "barebox,storage-by-uuid" compatible node. The driver looks for a storage device matching the given UUID and when found registers a new cdev for the device. This driver solved a very specific problem. On EFI the storage devices are not connected to any device tree node. barebox-state however expects a node to use as its backend. The obvious solution would be to create a partition with a specific partuuid and use that for state, in our special usecase though the storage device is partitioned with a MBR which doesn't have any space left to create a new partition. As this driver parses the of partition binding we can use that to create a partition in an unallocated are of the disk which is then used for state. This driver has the problem that it depends on storage devices which are not described in the device tree. This means it cannot work with deep probe. This is not a problem on EFI though. It's a special purpose driver, it's not recommended for general use. endmenu