19e5935c0SWenyou Yang /* 29e5935c0SWenyou Yang * Copyright (C) 2016 Atmel Corporation 39e5935c0SWenyou Yang * Wenyou.Yang <wenyou.yang@atmel.com> 49e5935c0SWenyou Yang * 59e5935c0SWenyou Yang * SPDX-License-Identifier: GPL-2.0+ 69e5935c0SWenyou Yang */ 79e5935c0SWenyou Yang 89e5935c0SWenyou Yang #include <common.h> 99e5935c0SWenyou Yang #include <clk-uclass.h> 10*9d922450SSimon Glass #include <dm.h> 119e5935c0SWenyou Yang 129e5935c0SWenyou Yang DECLARE_GLOBAL_DATA_PTR; 139e5935c0SWenyou Yang at91_master_clk_get_rate(struct clk * clk)149e5935c0SWenyou Yangstatic ulong at91_master_clk_get_rate(struct clk *clk) 159e5935c0SWenyou Yang { 169e5935c0SWenyou Yang return gd->arch.mck_rate_hz; 179e5935c0SWenyou Yang } 189e5935c0SWenyou Yang 199e5935c0SWenyou Yang static struct clk_ops at91_master_clk_ops = { 209e5935c0SWenyou Yang .get_rate = at91_master_clk_get_rate, 219e5935c0SWenyou Yang }; 229e5935c0SWenyou Yang 239e5935c0SWenyou Yang static const struct udevice_id at91_master_clk_match[] = { 24a9513d47SWenyou Yang { .compatible = "atmel,at91rm9200-clk-master" }, 259e5935c0SWenyou Yang { .compatible = "atmel,at91sam9x5-clk-master" }, 269e5935c0SWenyou Yang {} 279e5935c0SWenyou Yang }; 289e5935c0SWenyou Yang 299e5935c0SWenyou Yang U_BOOT_DRIVER(at91_master_clk) = { 309e5935c0SWenyou Yang .name = "at91-master-clk", 319e5935c0SWenyou Yang .id = UCLASS_CLK, 329e5935c0SWenyou Yang .of_match = at91_master_clk_match, 339e5935c0SWenyou Yang .ops = &at91_master_clk_ops, 349e5935c0SWenyou Yang }; 35