[Skiboot] skiboot 6.0.3 released

Stewart Smith stewart at linux.ibm.com
Wed May 23 17:53:28 AEST 2018


skiboot 6.0.3 was released on Wednesday May 23rd, 2018. It replaces
skiboot-6.0.2 as the current stable release in the 6.0.x series.

It is recommended that 6.0.3 be used instead of any previous 6.0.x

Over skiboot-6.0.3, we have bug fixes related to i2c booting in secure
mode, and general functionality with a TPM present. These changes are:

* p8-i2c: Remove force reset

  Force reset was added as an attempt to work around some issues with
  TPM devices locking up their I2C bus. In that particular case the
  problem was that the device would hold the SCL line down permanently
  due to a device firmware bug. The force reset doesn’t actually do
  anything to alleviate the situation here, it just happens to reset
  the internal master state enough to make the I2C driver appear to
  work until something tries to access the bus again.

  On P9 systems with secure boot enabled there is the added problem of
  the “diagostic mode” not being supported on I2C masters A,B,C and D.
  Diagnostic mode allows the SCL and SDA lines to be driven directly
  by software. Without this force reset is impossible to implement.

  This patch removes the force reset functionality entirely since:

     1. it doesn’t do what it’s supposed to, and

     2. it’s butt ugly code

  Additionally, turn p8_i2c_reset_engine() into p8_i2c_reset_port().
  There’s no need to reset every port on a master in response to an
  error that occurred on a specific port.

* libstb/i2c-driver: Bump max timeout

  We have observed some TPMs clock streching the I2C bus for
  signifigant amounts of time when processing commands. The same TPMs
  also have errata that can result in permernantly locking up a bus in
  response to an I2C transaction they don’t understand. Using an
  excessively long timeout to prevent this in the field.

* Add TPM timeout workaround

  Set the default timeout for any bus containing a TPM to one second.
  This is needed to work around a bug in the firmware of certain TPMs
  that will clock strech the I2C port the for up to a second.
  Additionally, when the TPM is clock streching it responds to a STOP
  condition on the bus by bricking itself. Clearing this error
  requires a hard power cycle of the system since the TPM is powered
  by standby power.

Stewart Smith
OPAL Architect, IBM.

More information about the Skiboot mailing list