diff options
Diffstat (limited to 'security/smc/tf_crypto.c')
-rw-r--r-- | security/smc/tf_crypto.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/security/smc/tf_crypto.c b/security/smc/tf_crypto.c index 1be70ce..f70b087 100644 --- a/security/smc/tf_crypto.c +++ b/security/smc/tf_crypto.c @@ -850,6 +850,28 @@ end: spin_unlock_irqrestore(&clk_lock, flags); } +u32 tf_crypto_read_clock_value(uint32_t clock_paddr) +{ + u32 *clock_reg; + u32 val; + unsigned long flags; + + dprintk(KERN_INFO "tf_crypto_read_clock_value: " \ + "clock_paddr=0x%08X\n", + clock_paddr); + + /* Ensure none concurrent access when changing clock registers */ + spin_lock_irqsave(&clk_lock, flags); + + clock_reg = (u32 *)IO_ADDRESS(clock_paddr); + + val = __raw_readl(clock_reg); + + spin_unlock_irqrestore(&clk_lock, flags); + + return val; +} + /*------------------------------------------------------------------------- */ /* CUS RPCs */ /*------------------------------------------------------------------------- */ |