1 // 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 intel_clk_get_rate(struct clk * clk)12static ulong intel_clk_get_rate(struct clk *clk) 13 { 14 switch (clk->id) { 15 case CLK_I2C: 16 /* Hard-coded to 133MHz on current platforms */ 17 return 133333333; 18 default: 19 return -ENODEV; 20 } 21 } 22 23 static struct clk_ops intel_clk_ops = { 24 .get_rate = intel_clk_get_rate, 25 }; 26 27 static const struct udevice_id intel_clk_ids[] = { 28 { .compatible = "intel,apl-clk" }, 29 { } 30 }; 31 32 U_BOOT_DRIVER(intel_apl_clk) = { 33 .name = "intel_apl_clk", 34 .id = UCLASS_CLK, 35 .of_match = intel_clk_ids, 36 .ops = &intel_clk_ops, 37 }; 38