v2024.04.0

Sascha Hauer s.hauer at pengutronix.de
Thu Apr 25 00:37:21 PDT 2024


Hi All,

I am happy to announce barebox-2024.04.0.

This release brings us some nice things. Our MMC layer now supports HS200
speed modes and the arasan SD controller is the first driver that supports
this. We have two new i.MX boards supported which are the Ka-Ro qsxp-ml81
i.MX8MP board and the Congatec WMX8MP board. Ahmad has continued to prepare
ARM64 EFI loader support which was a huge series with a lot of cleanups and
reworks.
There are also some nice little goodies I'd like to mention here. Whith
CONSOLE_FLUSH_LINE_BREAK enabled the console is now flushed on every
newline character, so chances are increased that the last message before
a crash is really printed. Also the number of stored log messages is now scaled
with the available RAM, so we can enable more debugging without rotating
the messages out too fast and still not eat up to much RAM on memory
constrained system.

There's a lot more, see below for a list of patches.

Have Fun!
 Sascha

Ahmad Fatoum (184):
      mci: atmel_mci: disable power save mode
      mci: atmel_mci: fix zeroing of block length on AT91SAM9263
      ARM: replace ENTRY_FUNCTION_HEAD with ENTRY_FUNCTION_WITHSTACK_HEAD
      ARM: at91: use AT91 header instead of generic barebox ARM's
      ARM: at91: implement SAM9_ENTRY_FUNCTION
      ARM: at91: sam9263_ll: drop PLL charge pump initialization
      ARM: at91: sam9263_ll: pass AT91_PMC_LL_AT91SAM9263 to PMC functions
      ARM: at91: sam9263_ll: refactor MCK switch to PLLA for clarity
      ARM: at91: sam9263_ll: support configuration of PLLB
      ARM: dts: AT91: skov-arm9cpu: remove barebox environment on NOR
      ARM: at91: skov-arm9cpu: configure SMC for NOR flash use
      ARM: at91: skov-arm9cpu: configure more appropriate hostname
      ARM: AT91: skov-arm9cpu: support environment on SD-Card
      driver: make struct bus_type::match optional
      driver: make struct bus_type::probe optional
      treewide: remove bus probe functions that just call driver probe
      usb: otg: maintain list of USB OTG controllers
      usb: otg: turn global otg device into device alias
      usb: print number of skipped OTG controllers when scanning
      of: fdt: factor out FDT header parsing
      string: implement strcmp_ptr and streq_ptr helpers
      commands: efiexit: flush console and shutdown barebox
      treewide: add errno_set helper for returning positive error code in errno
      vsprintf: guard against NULL in UUID %pU
      common: add option to poweroff system on failure
      boot: print error code when booting fails
      common: efi: move directory to top-level
      efi: payload: rename CONFIG_EFI_BOOTUP to CONFIG_EFI_PAYLOAD
      efi: payload: image: return actual read_file() error
      of: don't report failure to of_read_file twice
      efi: payload: make missing state reporting less verbose
      libfile: factor out read_file_into_buf helper
      efi: payload: image: allocate image via loader if it exceeds malloc area
      efi: payload: image: use assigned barebox loader type on x86
      efi: payload: iomem: adjust types to avoid casting
      commands: kallsyms: add command-line interface
      block: define BLOCKSIZE globally in block.h
      cdev: implement setter/getter for cdev device node
      block: virtio: assign virtio-mmio device tree node to cdevs
      commands: stat: print DT node for cdevs if available
      partitions: have parsers record bootable bits
      commands: stat: display bootable partition table bit info
      block: record block device type
      include: add definitions for UAPI discoverable partitions spec
      efi: payload: restrict 8250 UART at I/O port 0x3f8 registration to x86
      fs: fix unreaddir, so readdir returns unread dirent first
      fs: turn creat into static inline helper
      fs: drop unused LOOKUP_ flags
      fs: opendir: reference mount point until closedir is called
      fs: factor out opendir iteration
      fs: implement fdopendir and rewinddir
      fs: remove unused member from struct nameidata
      fs: always check path_init for errors
      fs: set current working dir directly when mounting root
      fs: implement openat and friends
      fs: implement O_PATH
      fs: support different root directories
      fs: implement O_CHROOT
      commands: introduce new findmnt command
      fs: initialize struct nameidata::last
      fs: support opening /
      test: self: add dirfd tests
      commands: stat: add option for statat
      efi: payload: lower command line options print from error to info
      efi: payload: init: warn if /boot FS is unknown
      commands: time: switch to using getopt for -n
      commands: time: reduce strjoin runtime, drop trailing space
      commands: time: refactor into new strjoin
      test: self: add strjoin tests
      filetype: have cdev_detect_type take a cdev
      ARM: mmu-early: gracefully handle already enabled MMU
      efi: don't hide structs, enums or unions behind _t
      efi: make headers self-contained
      efi: unify whitespace for GUIDs
      efi: efi-guid: add more GUIDs
      ARM64: cpu: setupc: rewrite to be fully PIC
      ARM64: runtime-offset: make get_runtime_offset fully PIC
      pbl: introduce CONFIG_PBL_FULLY_PIC
      efi: payload: fix ARM build
      efi: payload: init: restrict barebox mem to first 1G only on x86
      efi: add efi_is_loader/efi_is_payload helpers
      efi: payload: suppress EFI payload initcalls when not EFI-loaded
      ARM: make board data definitions accessible to other architectures
      boarddata: add barebox_boarddata_is_machine helper
      common: add PE/COFF loader
      efi: use efi_handle_t where appropriate
      efi: block: move definitions into header file
      efi: define efi_handle_t as opaque pointer
      efi: constify guid_t in API
      efi: rename efi_simple_input_interface to efi_simple_text_input_protocol
      efi: add EFI_WARN constants
      efi-stdio: fix wait_for_event argument
      efi-stdio: wait for extended input key event when using extended input
      efi: flesh out EFI definitions in header
      efi: add efi_driver_binding_protocol
      efi: improve usability of EFI_PAGE_* macros
      fs: efi: move definitions into header
      efi: fs: flesh out file system definitions
      efi: stdio: fix efi_register_keystroke_notify prototype
      video: mark EFI_GOP driver x86-only for now
      filetype: add new file types for EFI-enabled Linux images
      efi: payload: register handler for EFI-stubbed ARM64 kernel
      efi: payload: factor C efi_main into dedicated file
      efi: payload: early-mem: simplify error message reporting
      efi: payload: early-mem: use EFI_PAGE_SIZE instead of PAGE_SIZE
      ARM64: add optional EFI stub
      efi: devicepath: improve const safety
      efi: refactor device_path_to_partuuid for code reuse
      efi: devicepath: implement device_path_to_str_buf variant
      lib: vsprintf: align documentation with current feature set
      vsprintf: add %pD for printing EFI device path
      lib: string: import Linux strreplace helper
      efi: payload: dynamically determine bootloader file name
      efi: payload: iomem: register later
      efi: payload: protect against buggy EFI implementations
      efi: payload: don't require efi_loaded_image->parent_handle for bootsource detection
      commands: add cpuinfo -s option for stacktrace
      efi: devicepath: align MemoryMapped name with spec
      efi: devicepath: pretty print BBS BEV DeviceType
      efi: devicepath: format GUIDs as little endian
      efi: devicepath: move END device node definitions into header
      efi: devicepath: drop underscores in hex constants
      efi: devicepath: namespace definitions
      efi: devicepath: use flexible array members for trailing strings
      efi: devicepath: drop unused macro
      efi: devicepath: let compiler worry about unaligned unpacking
      efi: devicepath: correct formatting of BBS
      commands: provide efi_handle_dump in both payload and loader
      lib: uuid: implement uuid/guid_parse
      commands: efi_handle_dump: prepare for supporting EFI loader
      commands: efi_handle_dump: print loaded image devpath
      commands: efi_handle_dump: use guid_parse instead of open-coding
      commands: efi_handle_dump: don't ignore failure to parse GUID
      of: fdt: implement fdt_machine_is_compatible
      blspec: don't parse whole device tree to compare compatibles
      FIT: support finding compatible configuration by FDT compatible
      console: scale number of log messages with available RAM
      commands: dmesg: support aborting dmesg output with ctrl-c
      mci: add comment about hardcoded 512 bytes for DDR
      dma: debug: detect repeated DMA sync
      pbl: make PBL_FULLY_PIC specific to ARM64
      fs: fix overlap of O_RWSIZE with new O_PATH/O_CHROOT flags
      of: fdt: justify fdt_machine_is_compatible parsing only the root node
      ARM: i.MX: phytec-som-imx6: use strdup instead of basprintf
      ARM: i.MX8MM: innocomm-wb15: switch to upstream DT
      ARM: i.MX8M: drop function prototype for removed imx8m_uid
      env: export getenv_ullx() helper
      console: flush consoles on newline when debugging
      net: add net_alloc_packets helper
      net: ep93xx: replace global NetRxPackets with per-interface allocation
      net: enc28j60: replace global NetRxPackets with per-interface allocation
      net: gianfar: replace global NetRxPackets with per-interface allocation
      net: ethoc: replace global NetRxPackets with per-interface allocation
      net: cpsw: replace global NetRxPackets with per-interface allocation
      net: retire global NetRxPackets arrays
      hw_random: support ctrlc()
      ARM: io: read 32 bits at once for aligned I/O memcpy/memset
      driver: implement dev_platform_get_and_ioremap_resource
      hw_random: add struct hwrng::priv member
      hw_random: remove confusing left-overs from kernel help texts
      hw_random: remove reference to undefined CONFIG_HW_RANDOM
      hw_random: add Atmel RNG driver
      hw_random: add BCM2835 RNG driver
      hw_random: add IPROC RNG200 driver for BCM2711
      hw_random: add Rockchip RNG support
      hw_random: add timeriomem_rng driver
      hw_random: add OMAP RNG driver
      ddr: imx8m: add deprecation warnings for ddrphy_trained_csr
      net: cpsw: map/unmap buffers used for DMA
      ARM: i.MX: define MUX_MODE_SION for use in board code
      dma: correctly honour dma-noncoherent device tree property
      soc: sifive: l2_cache: fix 32-bit compilation
      RISC-V: riscvemu: build overlay as DTSO
      treewide: replace references to barebox.org/jsbarebox with demo
      Documentation: devel: project-ideas: remove outdated info on MMC speed
      Documentation: aarch64-qemu-virt: add name of defconfig
      gpio: rockchip: fix support for RK3588/RK3566
      soc: rockchip: io-domain: handle missing supply correctly
      partitions: efi: fix NULL dereference on corrupted GPT
      mci: core: don't fail MMC probe if HS200 isn't supported in HW
      clk: imx: add IMX_COMPOSITE_CLK_FLAGS_DEFAULT macro
      clk: imx: composite-8m: fix muxing of core and bus clocks
      clk: imx: imx8mp: sync with Linux v6.9-rc3
      mci: core: allocate memory used for DMA with dma_alloc

Antony Pavlov (2):
      net: drop unused rarp.h
      MIPS: add generic device tree 2nd stage support

Bastian Krause (3):
      ARM: i.MX8MM: set SION bits for i2c2, i2c3, i2c4 mux options
      ARM: i.MX8MN: set SION bits for i2c mux options
      firmware: fix SoC variant in help text of FIRMWARE_IMX93_OPTEE

Denis Orlov (3):
      ddr_spd: add DDR3 Load Reduced module specific data
      ddr_spd: add routine for printing DDR3 SPD contents
      clk: fix clk_set_rate command help text

Enrico Scholz (2):
      of: do not acccess 'prop->value' directly
      ARM64: let 'end' point after the range in cache functions

Johannes Zink (1):
      ARM: i.MX8MP: add König+Bauer AlphaJet board

Jonas Richardsen (1):
      of: do not copy properties if they already exist in the destination

Lucas Stach (1):
      usb: onboard-hub: bail out if peer hub is already probed

Marc Kleine-Budde (4):
      net: phy: micrel: update id table from Linux kernel
      net: phy: micrel: add support for ksz9131 phy
      arm: dts: karo: import dts for karo-qsxp-ml81
      arm: imx8mp: add karo electronics qsxp-ml81 som support

Marco Felsch (5):
      fastboot: add support to set fastboot_bbu from board code
      boot: add helper to set default boot source from board file
      startup: fix autoboot_state in case of abort
      common: barebox_banner: fix missing newline
      pmdomain: imx8mp-blk-ctrl: fix adb handshake handling

Oleksij Rempel (1):
      ARM: i.MX8MP: skov: add MAC address assignment support

Sam Ravnborg (1):
      ARM: at91: skov-arm9cpu: Add SD-Card xload support

Sascha Hauer (37):
      gpio: add slice support
      gpio: pca953x: depend on i2c slice
      input: gpio_keys: limit poll rate
      input: gpio_keys: only use gpios in poller when not in use
      dts: update to v6.8-rc6
      dts: update to v6.8
      board: tq: add missing select
      board: tq: fix format specifier
      board: tq: add support for 16bit eeprom
      ARM: i.MX6: add i2c4 base address
      ARM: tqma6ul: add pr_fmt string
      ARM: tqma6ul: enable enet_ref_125m clk
      net: phy: fix miibus parent device of_node not matching phy node
      ARM: tqma6ul: use upstream device trees
      ARM: i.MX6: TQMa6ulx: add OP-TEE support
      ARM: i.MX6ul: TQMa6ul: fix mmc aliases
      ARM: i.MX6ul: TQMa6ul: install barebox on eMMC boot partitions
      ARM: i.MX93: add bootsource detection
      ARM: i.MX: ele: remove unnecessary argument
      ARM: i.MX: ele: move ELE_READ_SHADOW_REQ definition
      ARM: i.MX: ele: add function comments
      ARM: i.MX: ele: add ele_write_shadow_fuse
      nvmem: add nvmem_device_get_device()
      nvmem: imx-ocotp-ele: implement permanent write support
      Merge branch 'for-next/arm-efi-prepare'
      Merge branch 'for-next/at91'
      Merge branch 'for-next/bus-probe'
      Merge branch 'for-next/dts'
      Merge branch 'for-next/hwrng'
      Merge branch 'for-next/imx'
      Merge branch 'for-next/misc'
      dma: Fix compiler warning
      mtd: nand: stm32: fix wrong regmap_bulk_read() usage
      clk: imx27: add nand clock
      clk: imx27: add watchdog clock
      Revert "ARM64: let 'end' point after the range in cache functions"
      Release v2024.04.0

Sebastian Reichel (1):
      of: introduce of_property_read_s32

Stefan Kerkmann (4):
      arm: mach-imx: tzasc: lock id_swap_bypass bit
      arm: mach-imx: set cpu type in pbl
      arm: mach-imx: tzasc: convert to cpu_is_mx8xyz macros
      arm: dts: karo: add karo imx8mp-karo-qsxp-ml81-qsbase4

Stefano Manni (1):
      ARM: i.MX: sabresd: Add support for i.MX6DL board variant

Steffen Trumtrar (18):
      mci: arasan: add dma support
      mci: arasan: fix dma support
      ARM: zynqmp: add sd_dll_reset call
      zynqmp: firmware: add functions to set tap delay
      mci: arasan: implement 25MHz quirk for zynqmp
      include: mci: sync mci_timing with linux
      mci: arasan: read clk phases from DT
      mci: core: save the set clock as actual_clock
      mci: arasan: register sdcard/sampleclk
      include: mci: add more EXT_CSD_CARD_TYPE_*
      mci: core: parse more host capabilities from DT
      mci: mci-core: add HS200 support
      mci: mci-core: replace value with define
      mci: sdhci: add tuning support
      mci: arasan-sdhci: add HS200 tuning support on ZynqMP
      mci: sdhci: replace sdhci_wait_idle
      mci: mci-core: fix mci_switch_status call
      mci: arasan: fix build for non-ZynqMP

Uwe Kleine-König (3):
      bbu: Emit a message about what happens also when -y is given
      of: partition: Also add partitions created by addpart to the boot dtb
      imx25: Feed the unique id to machine_id_set_hashable()

Yann Sionneau (4):
      mci: dwcmshc-sdhci: Remove superfluous call to sdhci_enable_v4_mode
      mci: dwcmshc-sdhci: Fix f_max computation
      mci: sdhci: add register define for P_VENDOR_SPECIFIC_AREA
      mci: dwcmshc-sdhci: add support for Kalray Coolidge v2 SoC eMMC controller

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list