06 Dec, 2018

1 commit


03 Dec, 2018

1 commit


29 Nov, 2018

1 commit


27 Nov, 2018

5 commits


24 Nov, 2018

2 commits


21 Nov, 2018

1 commit

  • When the device tree is missing a correct spi slave description below
    the bus (compatible "spi-flash" or spi-max-frequency are missing),
    the 'set_speed' callback can be called with 'speed' == 0 Hz.
    At least with cadence qspi, this leads to a division by zero.

    Prevent this by initializing speed to 100 kHz in this case (same
    fallback value as is done in 'dm_spi_claim_bus') and issue a warning
    to console.

    Signed-off-by: Simon Goldschmidt
    Reviewed-by: Simon Glass

    Simon Goldschmidt
     

16 Oct, 2018

1 commit

  • Xilinx is introducing Versal, an adaptive compute acceleration platform
    (ACAP), built on 7nm FinFET process technology. Versal ACAPs combine
    Scalar Processing Engines, Adaptable Hardware Engines, and Intelligent
    Engines with leading-edge memory and interfacing technologies to deliver
    powerful heterogeneous acceleration for any application. The Versal AI
    Core series has five devices, offering 128 to 400 AI Engines. The series
    includes dual-core Arm Cortex™-A72 application processors, dual-core Arm
    Cortex-R5 real-time processors, 256KB of on-chip memory with ECC, more
    than 1,900 DSP engines optimized for high-precision floating point with
    low latency.

    The patch is adding necessary infrastructure in place without enabling
    platform which is done in separate patch.

    Signed-off-by: Michal Simek

    Michal Simek
     

12 Oct, 2018

1 commit


10 Oct, 2018

1 commit


09 Oct, 2018

2 commits


04 Oct, 2018

1 commit

  • This patch adds the SPI driver for the MediaTek MT7688 SoC (and
    derivates). Its been tested on the LinkIt Smart 7688 and the Gardena
    Smart Gateway with and SPI NOR on CS0 and on the Gardena Smart
    Gateway additionally with an SPI NAND on CS1.

    Note that the SPI controller only supports a max transfer size of 32
    bytes. This driver implementes a workaround to enable bigger xfer
    sizes to speed up the transfer especially for the SPI NAND support.

    Signed-off-by: Stefan Roese
    Cc: Jagan Teki
    Cc: Daniel Schwierzeck
    Cc: Piotr Dymacz
    Reviewed-by: Jagan Teki
    Reviewed-by: Daniel Schwierzeck

    Stefan Roese
     

03 Oct, 2018

4 commits


26 Sep, 2018

1 commit


20 Sep, 2018

1 commit

  • Some controllers are exposing high-level interfaces to access various
    kind of SPI memories. Unfortunately they do not fit in the current
    spi_controller model and usually have drivers placed in
    drivers/mtd/spi-nor which are only supporting SPI NORs and not SPI
    memories in general.

    This is an attempt at defining a SPI memory interface which works for
    all kinds of SPI memories (NORs, NANDs, SRAMs).

    Signed-off-by: Boris Brezillon
    Signed-off-by: Miquel Raynal
    Acked-by: Jagan Teki

    Boris Brezillon
     

03 Aug, 2018

3 commits


24 Jul, 2018

2 commits


16 Jul, 2018

5 commits


12 Jul, 2018

2 commits

  • Use "%p" to print cmdbuf.

    Compilation warning as below:

    CC spl/drivers/spi/cadence_qspi_apb.o
    LD spl/lib/built-in.o
    drivers/spi/cadence_qspi_apb.c: In function ‘cadence_qspi_apb_indirect_write_setup’:
    drivers/spi/cadence_qspi_apb.c:696:18: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    cmdlen, (unsigned int)cmdbuf);

    Signed-off-by: Ley Foon Tan
    Acked-by: Marek Vasut

    Ley Foon Tan
     
  • Use "%zu" for size_t data type.

    Compilation warning as below:

    In file included from include/linux/bug.h:7:0,
    from include/common.h:26,
    from drivers/spi/cadence_qspi.c:8:
    drivers/spi/cadence_qspi.c: In function ‘cadence_spi_xfer’:
    drivers/spi/cadence_qspi.c:211:8: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
    debug("%s: len=%d [bytes]\n", __func__, data_bytes);
    ^
    include/linux/printk.h:37:21: note: in definition of macro ‘pr_fmt’
    #define pr_fmt(fmt) fmt
    ^~~
    include/log.h:142:2: note: in expansion of macro ‘debug_cond’
    debug_cond(_DEBUG, fmt, ##args)
    ^~~~~~~~~~
    drivers/spi/cadence_qspi.c:211:2: note: in expansion of macro ‘debug’
    debug("%s: len=%d [bytes]\n", __func__, data_bytes);

    Signed-off-by: Ley Foon Tan
    Acked-by: Marek Vasut

    Ley Foon Tan
     

11 Jul, 2018

1 commit

  • Add support for loading U-Boot on the Broadcom 7445 SoC. This port
    assumes Broadcom's BOLT bootloader is acting as the second stage
    bootloader, and U-Boot is acting as the third stage bootloader, loaded
    as an ELF program by BOLT.

    Signed-off-by: Thomas Fitzsimmons
    Cc: Stefan Roese
    Cc: Tom Rini
    Cc: Florian Fainelli

    Thomas Fitzsimmons
     

28 Jun, 2018

1 commit

  • The claim/release bus function must not reset the whole SPI core because
    settings regarding wordlen, clock-frequency and so on made by
    set_wordlen, set_mode, set_speed get lost with this action. Resulting in
    a non-functional SPI.

    Without DM the failure didn't came up since after the spi_reset within
    claim bus all the setup (wordlen, mode, ...) was called, in DM they are
    called by the spi uclass.

    We change now the things as following for having a working SPI instance
    in DM:

    - move the spi_reset(...) to the probe call in DM for having a known
    hardware state after probe. Without DM we don't have a probe call, so we
    issue the reset as before during the claim_bus call.

    - in release bus we just reset the modulctrl to the reset-value (spi-
    slave)

    Signed-off-by: Hannes Schmelzer
    Reviewed-by: Jagan Teki

    Hannes Schmelzer
     

25 Jun, 2018

3 commits

  • commit 84807922874e03895bbf15c4472a2dcee8fbbd03
    ("spi: omap3: Skip set_mode, set_speed from claim") did break SPI
    support on my AM335x board.

    The named commit:

    - ignored the responsible arguments (speed, mode)
    The set speed/mode function must use the supplied function arguments to
    work properly. With this commit we take those arguments and transfer
    them to the priv-data.

    - used wrong udevice pointer for getting priv data
    the udevice-pointer within function argument is already the spi-bus
    device, so it is wrong looking here for some parent (ocp-bus in this
    case) and getting priv-pointer from there.

    Signed-off-by: Hannes Schmelzer
    Reviewed-by: Jagan Teki

    Hannes Schmelzer
     
  • Otherwise the frequency is zero and the clock divider cannot be setup by
    'omap3_spi_set_speed' function.

    Signed-off-by: Hannes Schmelzer
    Reviewed-by: Jagan Teki

    Hannes Schmelzer
     
  • CS GPIO activation low/high is determinated by the device tree
    so we don't need to take in accoung in cs_activate and cs_deactivate

    Signed-off-by: Michael Trimarchi
    Reviewed-by: Peng Fan
    Reviewed-by: Jagan Teki

    Michael Trimarchi