[coreboot-gerrit] Patch merged into coreboot/master: e5b2127 tegra124: A couple clock fixes.

gerrit at coreboot.org gerrit at coreboot.org
Mon Dec 15 19:57:51 CET 2014


the following patch was just integrated into master:
commit e5b21274bd3648a6797a2415e5ad654ca4609275
Author: Gabe Black <gabeblack at google.com>
Date:   Sat Apr 5 03:54:30 2014 -0700

    tegra124: A couple clock fixes.
    
    This fixes two problems with the clock configuration on tegra124. First, the
    macro which set up the i2c clocks tried to account for the fact that the i2c
    divisor's lsb represents 1.0 where it normally represents 0.5 by multiplying
    the target frequency by 2. That doesn't work, unfortunately, because the
    divisor is actually n + 1, and what n + 1 means depends on where the one's
    place is in the divisor.
    
    Also, when calculating the divisor, the standard C division operator uses
    truncation to deal any remainder which tends to make the divisor smaller. That
    has the effect of making the output frequency higher than what was requested.
    Since it's usually safer to undershoot a frequency than overshoot it, this
    change makes those divisions round up instead.
    
    Finally, the hand tuned temporary UART clock configuration was adjusted so
    that it still ends up with the same divisor. Without that, very early output
    from the bootblock is garbled, specifically the coreboot welcome banner,
    build timestamp, etc.
    
    BUG=chrome-os-partner:27220
    TEST=Built and booted on nyan. Used a logic analyzer to verify that the TPM
    i2c bus ran at 400KHz instead of 660KHz, and that the divisor was the expected
    value. Measured boot time with and without EFS and verified that there was no
    change. Spot checked the output for errors and verified that none of the
    bootblock output was garbled.
    BRANCH=None
    
    Had to add the stdlib.h from 89ed6c that hadn't been merged correctly.
    
    Original-Change-Id: I7e948c361ed4bf58c608627d32f2e3424faea1fb
    Original-Signed-off-by: Gabe Black <gabeblack at google.com>
    Original-Reviewed-on: https://chromium-review.googlesource.com/193362
    Original-Reviewed-by: Julius Werner <jwerner at chromium.org>
    Original-Commit-Queue: Gabe Black <gabeblack at chromium.org>
    Original-Tested-by: Gabe Black <gabeblack at chromium.org>
    (cherry picked from commit 164f7010a47d3bbdbc8bb572106140ae186f3807)
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
    
    Change-Id: I317b66eda929c0e5a5832adca267b8b54c6aae34
    Reviewed-on: http://review.coreboot.org/7736
    Tested-by: build bot (Jenkins)
    Reviewed-by: Stefan Reinauer <stefan.reinauer at coreboot.org>


See http://review.coreboot.org/7736 for details.

-gerrit



More information about the coreboot-gerrit mailing list