[coreboot-gerrit] Patch merged into coreboot/master: rockchip: spi: Add support for 16-bit APB reads

gerrit at coreboot.org gerrit at coreboot.org
Thu Oct 6 21:50:29 CEST 2016


the following patch was just integrated into master:
commit 74fedbe3771febf7702a30fc4aa2e039040ff908
Author: Simon Glass <sjg at chromium.org>
Date:   Mon Sep 5 11:10:26 2016 -0600

    rockchip: spi: Add support for 16-bit APB reads
    
    With a SPI clock above about 24MHz the APB cannot keep up when doing
    individual byte transfers. Adjust the driver to use 16-bit reads when
    it can, to remove this bottleneck.
    
    Any transaction which involves writing bytes still uses 8-bit transfers,
    to simplify the code. These are the transfers that are not time-critical
    since they tend to be small. The case that really matters is reading from
    SPI flash.
    
    In general we can use 16-bit reads anytime we are transferring an even
    number of bytes. If the code detects an odd number of bytes, it tries to
    perform the operation in two steps: once in 16-bit mode with an even
    number of bytes, and once in 8-bit mode for the final byte. This allow
    us to use 16-bit reads even if asked to transfer (for example) 0xf423
    bytes.
    
    The limit on in_now and out_now is adjusted to 0xfffe to avoid an extra
    transfer when transferring ~>=64KB.
    
    CQ-DEPEND=CL:383232
    BUG=chrome-os-partner:56556
    BRANCH=none
    TEST=boot on gru and see that things still work correctly. I tested (with
    extra debugging) that the 16-bit case is being picked when it should be.
    
    Change-Id: If5effae9a84e4de06537fd594bedf7f01d6a9c88
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: ec250b4931c7d99cc014e32ab597fca948299d08
    Original-Change-Id: Idc5b7e5d82cdbdc1e8fe8b2d6da819edf2d5570c
    Original-Signed-off-by: Simon Glass <sjg at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/381312
    Original-Commit-Ready: Julius Werner <jwerner at chromium.org>
    Original-Tested-by: Julius Werner <jwerner at chromium.org>
    Original-Reviewed-by: Julius Werner <jwerner at chromium.org>
    Reviewed-on: https://review.coreboot.org/16712
    Tested-by: build bot (Jenkins)
    Reviewed-by: Paul Menzel <paulepanter at users.sourceforge.net>
    Reviewed-by: Martin Roth <martinroth at google.com>


See https://review.coreboot.org/16712 for details.

-gerrit



More information about the coreboot-gerrit mailing list