blob: b633934d90a122c678c63a6f710f1b7162c1b04f [file] [log] [blame]
Simon Glassb4d00b22020-02-06 09:54:53 -07001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2019 Google LLC
4 * Written by Simon Glass <sjg@chromium.org>
5 */
6
7#include <common.h>
8#include <dm.h>
9#include <clk-uclass.h>
10#include <dt-bindings/clock/intel-clock.h>
11
12static ulong intel_clk_get_rate(struct clk *clk)
13{
Simon Glassb4d00b22020-02-06 09:54:53 -070014 switch (clk->id) {
15 case CLK_I2C:
16 /* Hard-coded to 133MHz on current platforms */
17 return 133333333;
18 default:
19 return -ENODEV;
20 }
Simon Glassb4d00b22020-02-06 09:54:53 -070021}
22
23static struct clk_ops intel_clk_ops = {
24 .get_rate = intel_clk_get_rate,
25};
26
27static const struct udevice_id intel_clk_ids[] = {
28 { .compatible = "intel,apl-clk" },
29 { }
30};
31
32U_BOOT_DRIVER(clk_intel) = {
33 .name = "clk_intel",
34 .id = UCLASS_CLK,
35 .of_match = intel_clk_ids,
36 .ops = &intel_clk_ops,
37};