1/* 2 * linux/arch/arm/mach-w90x900/clock.h 3 * 4 * Copyright (c) 2008 Nuvoton technology corporation 5 * 6 * Wan ZongShun <mcuos.com@gmail.com> 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License. 11 */ 12 13#include <asm/clkdev.h> 14 15void nuc900_clk_enable(struct clk *clk, int enable); 16void nuc900_subclk_enable(struct clk *clk, int enable); 17 18struct clk { 19 unsigned long cken; 20 unsigned int enabled; 21 void (*enable)(struct clk *, int enable); 22}; 23 24#define DEFINE_CLK(_name, _ctrlbit) \ 25struct clk clk_##_name = { \ 26 .enable = nuc900_clk_enable, \ 27 .cken = (1 << _ctrlbit), \ 28 } 29 30#define DEFINE_SUBCLK(_name, _ctrlbit) \ 31struct clk clk_##_name = { \ 32 .enable = nuc900_subclk_enable, \ 33 .cken = (1 << _ctrlbit), \ 34 } 35 36 37#define DEF_CLKLOOK(_clk, _devname, _conname) \ 38 { \ 39 .clk = _clk, \ 40 .dev_id = _devname, \ 41 .con_id = _conname, \ 42 } 43