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 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 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(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