lkml.org 
[lkml]   [2023]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 7/9] hwrng: stm32 - support RNG configuration locking mechanism
    Date
    If "st,rng-lock-conf" DT binding property is set for a stm32-rng node,
    the RNG configuration will be locked until next hardware block reset
    or platform reset.

    Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
    ---
    drivers/char/hw_random/stm32-rng.c | 5 +++++
    1 file changed, 5 insertions(+)

    diff --git a/drivers/char/hw_random/stm32-rng.c b/drivers/char/hw_random/stm32-rng.c
    index 819f062f454d..4a602d666dad 100644
    --- a/drivers/char/hw_random/stm32-rng.c
    +++ b/drivers/char/hw_random/stm32-rng.c
    @@ -62,6 +62,7 @@ struct stm32_rng_private {
    struct reset_control *rst;
    const struct stm32_rng_data *data;
    bool ced;
    + bool lock_conf;
    };

    /*
    @@ -301,6 +302,9 @@ static int stm32_rng_init(struct hwrng *rng)

    reg &= ~RNG_CR_CONDRST;
    reg |= RNG_CR_RNGEN;
    + if (priv->lock_conf)
    + reg |= RNG_CR_CONFLOCK;
    +
    writel_relaxed(reg, priv->base + RNG_CR);

    err = readl_relaxed_poll_timeout_atomic(priv->base + RNG_CR, reg,
    @@ -439,6 +443,7 @@ static int stm32_rng_probe(struct platform_device *ofdev)
    }

    priv->ced = of_property_read_bool(np, "clock-error-detect");
    + priv->lock_conf = of_property_read_bool(np, "st,rng-lock-conf");

    priv->data = of_device_get_match_data(dev);
    if (!priv->data)
    --
    2.25.1
    \
     
     \ /
      Last update: 2023-09-21 20:52    [W:4.486 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site