1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+ 29e5935c0SWenyou Yang /* 39e5935c0SWenyou Yang * Copyright (C) 2016 Atmel Corporation 49e5935c0SWenyou Yang * Wenyou.Yang <wenyou.yang@atmel.com> 59e5935c0SWenyou Yang */ 69e5935c0SWenyou Yang 79e5935c0SWenyou Yang #include <common.h> 89e5935c0SWenyou Yang #include <clk-uclass.h> 99d922450SSimon Glass #include <dm.h> 109e5935c0SWenyou Yang at91_slow_clk_enable(struct clk * clk)119e5935c0SWenyou Yangstatic int at91_slow_clk_enable(struct clk *clk) 129e5935c0SWenyou Yang { 139e5935c0SWenyou Yang return 0; 149e5935c0SWenyou Yang } 159e5935c0SWenyou Yang at91_slow_clk_get_rate(struct clk * clk)169e5935c0SWenyou Yangstatic ulong at91_slow_clk_get_rate(struct clk *clk) 179e5935c0SWenyou Yang { 189e5935c0SWenyou Yang return CONFIG_SYS_AT91_SLOW_CLOCK; 199e5935c0SWenyou Yang } 209e5935c0SWenyou Yang 219e5935c0SWenyou Yang static struct clk_ops at91_slow_clk_ops = { 229e5935c0SWenyou Yang .enable = at91_slow_clk_enable, 239e5935c0SWenyou Yang .get_rate = at91_slow_clk_get_rate, 249e5935c0SWenyou Yang }; 259e5935c0SWenyou Yang 269e5935c0SWenyou Yang static const struct udevice_id at91_slow_clk_match[] = { 279e5935c0SWenyou Yang { .compatible = "atmel,at91sam9x5-clk-slow" }, 289e5935c0SWenyou Yang {} 299e5935c0SWenyou Yang }; 309e5935c0SWenyou Yang 319e5935c0SWenyou Yang U_BOOT_DRIVER(at91_slow_clk) = { 329e5935c0SWenyou Yang .name = "at91-slow-clk", 339e5935c0SWenyou Yang .id = UCLASS_CLK, 349e5935c0SWenyou Yang .of_match = at91_slow_clk_match, 359e5935c0SWenyou Yang .ops = &at91_slow_clk_ops, 369e5935c0SWenyou Yang }; 37