[PATCH v4 00/10] Add support for extension boards detection and DT overlays application
trini at konsulko.com
Tue May 4 13:57:50 CEST 2021
On Tue, Apr 20, 2021 at 10:25:31AM +0200, Kory Maincent wrote:
> This series of patches aims at proposing a generic U-Boot mechanism to
> detect extension boards connected to the HW platform, and apply the
> appropriate Device Tree overlays depending on the detected extension
> Indeed, numerous popular platforms, such as the BeagleBone or the
> RaspberryPi, feature some kind of extension board mechanism. These
> extension boards are often discoverable through some kind of EEPROM
> (connected on I2C, 1-wire, etc.) and require Device Tree overlays to be
> applied at the U-Boot level to provide a complete HW description to the
> Linux kernel. However, currently this logic is usually implemented
> ad-hoc in downstream forks of U-Boot.
> This series proposes to bring a HW-agnostic and generic solution to
> this problem to upstream U-Boot. The series shows that it is generic
> enough by implementing its usage for 2 different families of HW
> platforms and expansion boards:
> - The BeagleBone Black and BeagleBone AI, that use extension boards
> where the EEPROM describing the extension boards is connected over
> - The CHIP, that uses extension boards where the EEPROM describing the
> extension boards is connected over 1-wire.
> The patch series implements a new command called "extension", with two
> - "extension scan" to detect available extension boards
> - "extension list" will simply list the detected extension boards
> - "extension apply" will allow to apply the Device Tree overlays
> corresponding to one extension board or to all expansion boards
> Note that the name "extension" has been chosen to not refer to any
> particular board-specific terminology for extension boards ("cape" for
> BeagleBone, "DIP" for CHIP, "hat" for RaspberryPi, etc.). However, we
> welcome suggestions of other names and are definitely willing to use a
> different naming.
> The "extension apply" command requires two environment variables to be
> defined so that it knows how to apply DT overlays. This is described
> in more details in PATCH 1.
> This generic code requires board-specific code for the detection and
> enumeration of extension boards. This is simply implemented in the form
> of a board-specific extension_board_scan() function, which fills in a
> list of detected extension boards.
> In detail:
> - PATCH 1 move fdt_valid function to fdt_support file
> - PATCH 2 implements the generic command and logic
> - PATCH 3 implements the python test for the "extension" command
> - PATCH 4 implements the board-specific code for the BeagleBone platforms
> - PATCH 5 enables the mechanism for the BeagleBone AI
> - PATCH 6 review the detection mechanism of one-wire devices
> - PATCH 7 and 8 enable the mechanism for the CHIP
> - PATCH 9 and 10 enable the mechanism for the BeagleBone Black
> Thanks in advance for your review and feedback
Can you please rebase this on current master? Thanks.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 659 bytes
Desc: not available
More information about the U-Boot