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