linux/arch/powerpc/sysdev/mpc5xxx_clocks.c
<<
>>
Prefs
   1/**
   2 *      mpc5xxx_get_bus_frequency - Find the bus frequency for a device
   3 *      @node:  device node
   4 *
   5 *      Returns bus frequency (IPS on MPC512x, IPB on MPC52xx),
   6 *      or 0 if the bus frequency cannot be found.
   7 */
   8
   9#include <linux/kernel.h>
  10#include <linux/of_platform.h>
  11#include <linux/export.h>
  12#include <asm/mpc5xxx.h>
  13
  14unsigned long mpc5xxx_get_bus_frequency(struct device_node *node)
  15{
  16        struct device_node *np;
  17        const unsigned int *p_bus_freq = NULL;
  18
  19        of_node_get(node);
  20        while (node) {
  21                p_bus_freq = of_get_property(node, "bus-frequency", NULL);
  22                if (p_bus_freq)
  23                        break;
  24
  25                np = of_get_parent(node);
  26                of_node_put(node);
  27                node = np;
  28        }
  29        if (node)
  30                of_node_put(node);
  31
  32        return p_bus_freq ? *p_bus_freq : 0;
  33}
  34EXPORT_SYMBOL(mpc5xxx_get_bus_frequency);
  35