1. 08 10月, 2020 2 次提交
    • A
      cfi_flash: Fix devicetree address determination · 492b9917
      Andre Przywara 提交于
      The cfi-flash driver uses an open-coded version of the generic
      algorithm to decode and translate multiple frames of a "reg" property.
      
      This starts off the wrong foot by using the address-cells and size-cells
      properties of *this* very node, and not of the parent. This somewhat
      happened to work back when we were using a wrong default size of 2,
      but broke about a year ago with commit 0ba41ce1 ("libfdt: return
      correct value if #size-cells property is not present").
      
      Instead of fixing the reinvented wheel, just use the generic function
      that does all of this properly.
      
      This fixes U-Boot on QEMU (-arm64), which was crashing due to decoding
      a wrong flash base address:
      DRAM:  1 GiB
      Flash: "Synchronous Abort" handler, esr 0x96000044
      elr: 00000000000211dc lr : 00000000000211b0 (reloc)
      elr: 000000007ff5e1dc lr : 000000007ff5e1b0
      x0 : 00000000000000f0 x1 : 000000007ff5e1d8
      x2 : 000000007edfbc48 x3 : 0000000000000000
      x4 : 0000000000000000 x5 : 00000000000000f0
      x6 : 000000007edfbc2c x7 : 0000000000000000
      x8 : 000000007ffd8d70 x9 : 000000000000000c
      x10: 0400000000000003 x11: 0000000000000055
           ^^^^^^^^^^^^^^^^
      Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Reviewed-by: NStefan Roese <sr@denx.de>
      492b9917
    • V
      mtd: cfi_mtd: Use DMA for reads · 3f891a10
      Vignesh Raghavendra 提交于
      When possible use DMA for reading from CFI flash, this provides upto 5x
      improvement in read performance with high speed CFI compliant flashes
      like HyperFlash.
      
      Code will gracefully fallback to CPU copy when DMA is unavailable.
      Signed-off-by: NVignesh Raghavendra <vigneshr@ti.com>
      Reviewed-by: NStefan Roese <sr@denx.de>
      3f891a10
  2. 30 9月, 2020 9 次提交
  3. 24 9月, 2020 1 次提交
  4. 23 9月, 2020 2 次提交
  5. 12 9月, 2020 1 次提交
  6. 13 8月, 2020 7 次提交
  7. 05 8月, 2020 1 次提交
  8. 04 8月, 2020 3 次提交
  9. 21 7月, 2020 6 次提交
  10. 17 7月, 2020 1 次提交
  11. 11 7月, 2020 2 次提交
  12. 10 7月, 2020 3 次提交
    • W
      core: add support for U_BOOT_DRIVER_ALIAS · addf358b
      Walter Lozano 提交于
      Currently when using OF_PLATDATA the binding between devices and drivers
      is done trying to match the compatible string in the node with a driver
      name. However, usually a single driver supports multiple compatible strings
      which causes that only devices which its compatible string matches a
      driver name get bound.
      
      To overcome this issue, this patch adds the U_BOOT_DRIVER_ALIAS macro,
      which generates no code at all, but allows an easy way to declare driver
      name aliases. Thanks to this, dtoc could be improve to look for the driver
      name based on its alias when it populates the U_BOOT_DEVICE entry.
      Signed-off-by: NWalter Lozano <walter.lozano@collabora.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      addf358b
    • W
      drivers: rename drivers to match compatible string · e3e2470f
      Walter Lozano 提交于
      When using OF_PLATDATA, the bind process between devices and drivers
      is performed trying to match compatible string with driver names.
      However driver names are not strictly defined, and also there are different
      names used when declaring a driver with U_BOOT_DRIVER, the name of the
      symbol used in the linker list and the used in the struct driver_info.
      
      In order to make things a bit more clear, rename the drivers names. This
      will also help for further OF_PLATDATA improvements, such as checking
      for valid driver names.
      Signed-off-by: NWalter Lozano <walter.lozano@collabora.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      Add a fix for sandbox of-platdata to avoid using an invalid ANSI colour:
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      e3e2470f
    • H
      sandbox: spi: sandbox_sf_state_name() is required · a6cfc34e
      Heinrich Schuchardt 提交于
      Compiling drivers/mtd/spi/sandbox.c fails when compiled with
      CONFIG_LOG=n:
      
      In file included from include/common.h:20,
                       from drivers/mtd/spi/sandbox.c:13:
      drivers/mtd/spi/sandbox.c:295:15: error: format ‘%s’ expects argument of
      type ‘char *’, but argument 7 has type ‘int’ [-Werror=format=]
        295 |   log_content(" cmd: transition to %s state\n",
            |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      include/linux/printk.h:37:21: note: in definition of macro ‘pr_fmt’
         37 | #define pr_fmt(fmt) fmt
            |                     ^~~
      include/log.h:128:30: note: in expansion of macro ‘log_nop’
        128 | #define log_content(_fmt...) log_nop(LOG_CATEGORY, \
            |                              ^~~~~~~
      drivers/mtd/spi/sandbox.c:295:3: note: in expansion of macro
      ‘log_content’
        295 |   log_content(" cmd: transition to %s state\n",
            |   ^~~~~~~~~~~
      drivers/mtd/spi/sandbox.c:295:37: note: format string is defined here
        295 |   log_content(" cmd: transition to %s state\n",
            |                                    ~^
            |                                     |
            |                                     char *
            |                                    %d
      
      Supply function sandbox_sf_state_name() independent of CONFIG_LOG.
      
      Fixes: c3aed5db ("sandbox: spi: Add more logging")
      Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      a6cfc34e
  13. 09 7月, 2020 2 次提交