18 Aug, 2019

1 commit

  • Some Amlogic boards store the Ethernet MAC address inside the eFuse. The
    Ethernet MAC address uses 6 bytes. The existing logic in
    meson_mx_efuse_read() would write beyond the end of the data buffer when
    trying to read data with a size that is not aligned to word_size (4
    bytes on Meson8, Meson8b and Meson8m2).

    Calculate the remaining data to copy inside meson_mx_efuse_read() so
    reading 6 bytes doesn't write beyond the end of the data buffer.

    Signed-off-by: Martin Blumenstingl
    Reviewed-by: Neil Armstrong
    Signed-off-by: Srinivas Kandagatla
    Link: https://lore.kernel.org/r/20190818093345.29647-5-srinivas.kandagatla@linaro.org
    Signed-off-by: Greg Kroah-Hartman

    Martin Blumenstingl
     

05 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of version 2 of the gnu general public license as
    published by the free software foundation this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 64 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141901.894819585@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

15 Mar, 2018

1 commit

  • Drop all of the code related to .remove hook and make use of
    devm_nvmem_register() instead.

    Cc: Srinivas Kandagatla
    Cc: Heiko Stuebner
    Cc: Masahiro Yamada
    Cc: Carlo Caione
    Cc: Kevin Hilman
    Cc: Matthias Brugger
    Cc: cphealy@gmail.com
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mediatek@lists.infradead.org
    Cc: linux-rockchip@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Andrey Smirnov
    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Greg Kroah-Hartman

    Andrey Smirnov
     

23 Dec, 2017

1 commit

  • meson_mx_efuse_read calculates the address internal to the eFuse based
    on the offset and the word size. This works fine with any given offset.
    However, the offset is also included when writing to the output buffer.
    This means that reading 4 bytes at offset 500 tries to write beyond the
    array allocated by the nvmem core as it wants to write the 4 bytes to
    "buffer address + offset (500)".
    This issue did not show up in the previous tests since no driver uses
    any value from the eFuse yet and reading the eFuse via sysfs simply
    reads the whole eFuse, starting at offset 0.

    Fix this by only including the offset in the internal address
    calculation.

    Fixes: 8caef1fa9176 ("nvmem: add a driver for the Amlogic Meson6/Meson8/Meson8b SoCs")
    Signed-off-by: Martin Blumenstingl
    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Greg Kroah-Hartman

    Martin Blumenstingl
     

20 Oct, 2017

1 commit

  • This adds a driver to access the efuse on Amlogic Meson6, Meson8 and
    Meson8b SoCs.
    These SoCs are accessing the efuse IP block directly through the
    registers in the "secbus" region. This makes it different from the Meson
    GX efuse driver which uses the "secure monitor" firmware to access the
    efuse.

    The efuse on Meson6 can only read one byte at a time, while the efuse on
    Meson8 and Meson8b always reads 4 bytes at a time. The new driver
    supports both, but due to lack of hardware Meson6 support was not tested.

    The hardware also supports writing. However, this is currently not
    supported by the driver.

    Signed-off-by: Martin Blumenstingl
    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Greg Kroah-Hartman

    Martin Blumenstingl