root/arch/arm/mach-shmobile/timer.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. shmobile_init_delay

   1 // SPDX-License-Identifier: GPL-2.0
   2 /*
   3  * SH-Mobile Timer
   4  *
   5  * Copyright (C) 2010  Magnus Damm
   6  * Copyright (C) 2002 - 2009  Paul Mundt
   7  */
   8 #include <linux/platform_device.h>
   9 #include <linux/clocksource.h>
  10 #include <linux/delay.h>
  11 #include <linux/of_address.h>
  12 
  13 #include "common.h"
  14 
  15 void __init shmobile_init_delay(void)
  16 {
  17         struct device_node *np;
  18         u32 max_freq = 0;
  19 
  20         for_each_of_cpu_node(np) {
  21                 u32 freq;
  22 
  23                 if (!of_property_read_u32(np, "clock-frequency", &freq))
  24                         max_freq = max(max_freq, freq);
  25         }
  26 
  27         if (!max_freq)
  28                 return;
  29 
  30         /*
  31          * Calculate a worst-case loops-per-jiffy value
  32          * based on maximum cpu core hz setting and the
  33          * __delay() implementation in arch/arm/lib/delay.S.
  34          *
  35          * This will result in a longer delay than expected
  36          * when the cpu core runs on lower frequencies.
  37          */
  38 
  39         if (!preset_lpj)
  40                 preset_lpj = max_freq / HZ;
  41 }

/* [<][>][^][v][top][bottom][index][help] */