1. 14 5月, 2021 4 次提交
    • K
      am57xx: add support for cape detect functionality · 0705e25c
      Kory Maincent 提交于
      This commit enables using the extension board detection mechanism on
      AM57xx based platforms.
      Signed-off-by: NKory Maincent <kory.maincent@bootlin.com>
      0705e25c
    • K
      ti/common: add support for extension_scan_board function · 8c1d4432
      Kory Maincent 提交于
      The BeagleBone platforms all use a common mechanism to discover and
      identify extension boards (called "capes"): each extension board has an
      I2C-connected EEPROM describing itself.
      
      This patch implements a generic extension_scan_board() feature that can
      be used by all BeagleBone platforms to read those I2C EEPROMs and fill
      in the list of "extension" structures.
      
      Following commits will enable this common logic on two BeagleBone
      platforms.
      Signed-off-by: NKory Maincent <kory.maincent@bootlin.com>
      8c1d4432
    • K
      pytest: add sandbox test for "extension" command · 95300f20
      Kory Maincent 提交于
      This commit extends the sandbox to implement a dummy
      extension_board_scan() function and enables the extension command in
      the sandbox configuration. It then adds a test that checks the proper
      functionality of the extension command by applying two Device Tree
      overlays to the sandbox Device Tree.
      Signed-off-by: NKory Maincent <kory.maincent@bootlin.com>
      [trini: Limit to running on sandbox]
      Signed-off-by: NTom Rini <trini@konsulko.com>
      95300f20
    • K
      cmd: add support for a new "extension" command · 2f84e9cf
      Kory Maincent 提交于
      This patch adds a new "extension" command, which aims at detecting
      extension boards connected to the hardware platform, and apply the
      Device Tree overlays that describe the hardware present on those
      extension boards.
      
      In order to enable this mechanism, board-specific code must implement
      the extension_board_scan() function that fills in a linked list of
      "struct extension", each describing one extension board. In addition,
      the board-specific code must select the SUPPORT_EXTENSION_SCAN Kconfig
      boolean.
      
      Based on this:
      
       - "extension scan" makes the generic code call the board-specific
         extension_board_scan() function to retrieve the list of detected
         extension boards.
      
       - "extension list" allows to list the detected extension boards.
      
       - "extension apply <number>|all" allows to apply the Device Tree
         overlay(s) corresponding to one, or all, extension boards
      
      The latter requires two environment variables to exist and set one variable
      to run:
      
       - extension_overlay_addr: the RAM address where to load the Device
         Tree overlays
      
       - extension_overlay_cmd: the U-Boot command to load one overlay.
         Indeed, the location and mechanism to load DT overlays is very setup
         specific.
      
       - extension_overlay_name: set by the command: the name of the DT which
         will be load during the execution.
      
      When calling the command described in the extension_overlay_cmd
      variable, the variable extension_overlay_name will be defined. So a
      typical extension_overlay_cmd will look like this:
      
        extension_overlay_cmd=load mmc 0:1 $extension_overlay_addr /boot/$extension_overlay_name
      
      Here is an example on how to use it:
      => run loadfdt
      => fdt addr $fdtaddr
      => setenv extension_overlay_addr 0x1000
      => setenv extension_overlay_cmd 'load mmc 0:1 ${extension_overlay_addr} /boot/${extension_overlay_name}'
      => extension scan
      Found 1 extension board(s).
      => extension apply 0
      519 bytes read in 3 ms (168.9 KiB/s)
      Signed-off-by: NKory Maincent <kory.maincent@bootlin.com>
      Reviewed-by: NMaxime Ripard <maxime@cerno.tech>
      2f84e9cf
  2. 13 5月, 2021 1 次提交
  3. 12 5月, 2021 35 次提交