1. 29 Sep, 2020 1 commit
  2. 27 Sep, 2020 9 commits
  3. 25 Sep, 2020 1 commit
  4. 24 Sep, 2020 2 commits
    • Jon Hunter's avatar
      dt-bindings: eeprom: at24: Add label property for AT24 · 412b7a52
      Jon Hunter authored
      Add a label property for the AT24 EEPROM to allow a custom name to be
      used for identifying the EEPROM on a board. This is useful when there
      is more than one EEPROM present.
      Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
      412b7a52
    • Jon Hunter's avatar
      eeprom: at24: Initialise AT24 NVMEM ID field · f434f9b7
      Jon Hunter authored
      The AT24 EEPROM driver does not initialise the 'id' field of the
      nvmem_config structure and because the entire structure is not
      initialised, it ends up with a random value. This causes the NVMEM
      driver to append the device 'devid' value to name of the NVMEM
      device. Ideally for I2C devices such as the AT24 that already have a
      unique name, we would not bother to append the 'devid'. However, given
      that this has always been done for AT24 devices, we cannot remove the
      'devid' as this will change the name of the userspace sysfs node for
      the NVMEM device. Nonetheless we should ensure that the 'id' field of
      the nvmem_config structure is initialised so that there is no chance of
      a random value causes problems in the future. Therefore, set the NVMEM
      config.id to NVMEM_DEVID_AUTO for AT24 EEPROMs so that the 'devid' is
      always appended.
      Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
      f434f9b7
  5. 21 Sep, 2020 13 commits
  6. 18 Sep, 2020 7 commits
  7. 17 Sep, 2020 1 commit
  8. 09 Sep, 2020 4 commits
  9. 28 Aug, 2020 2 commits
    • Dirk Behme's avatar
      i2c: rcar: Auto select RESET_CONTROLLER · 5b9bacf2
      Dirk Behme authored
      The i2c-rcar driver utilizes the Generic Reset Controller kernel
      feature, so select the RESET_CONTROLLER option when the I2C_RCAR
      option is selected with a Gen3 SoC.
      
      Fixes: 2b16fd63 ("i2c: rcar: handle RXDMA HW behaviour on Gen3")
      Signed-off-by: default avatarDirk Behme <dirk.behme@de.bosch.com>
      Signed-off-by: default avatarAndy Lowe <andy_lowe@mentor.com>
      [erosca: Add "if ARCH_RCAR_GEN3" per Wolfram's request]
      Signed-off-by: default avatarEugeniu Rosca <erosca@de.adit-jv.com>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      5b9bacf2
    • Jaakko Laine's avatar
      i2c: xiic: Support forcing single-master in DT · 9e3b184b
      Jaakko Laine authored
      I2C master operating in multimaster mode can get stuck
      indefinitely if I2C start is detected on bus, but no master
      has a transaction going.
      
      This is a weakness in I2C standard, which defines no way
      to recover, since all masters are indefinitely disallowed
      from interrupting the currently operating master. A start
      condition can be created for example by an electromagnetic
      discharge applied near physical I2C lines. Or a already
      operating master could get reset immediately after sending
      a start.
      
      If it is known during device tree creation that only a single
      I2C master will be present on the bus, this deadlock of the
      I2C bus could be avoided in the driver by ignoring the
      bus_is_busy register of the xiic, since bus can never be
      reserved by any other master.
      
      This patch adds this support for detecting single-master flag
      in device tree and when provided, improves I2C reliability by
      ignoring the therefore unnecessary xiic bus_is_busy register.
      
      Error can be reproduced by pulling I2C SDA -line temporarily low
      by shorting it to ground, while linux I2C master is operating on
      it using the xiic driver. The application using the bus will
      start receiving linux error code 16: "Device or resource busy"
      indefinitely:
      
      kernel: pca953x 0-0020: failed writing register
      app: Error writing file, error: 16
      
      With multi-master disabled device will instead receive error
      code 5: "I/O error" while SDA is grounded, but recover normal
      operation once short is removed.
      
      kernel: pca953x 0-0020: failed reading register
      app: Error reading file, error: 5
      Signed-off-by: default avatarJaakko Laine <ext-jaakko.laine@vaisala.com>
      Acked-by: default avatarMichal Simek <michal.simek@xilinx.com>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      9e3b184b