From 843f6cd1fa11357f5d2ef5c0e0bae4f29e491b8b Mon Sep 17 00:00:00 2001 From: lars Date: Fri, 29 Jan 2010 20:12:27 +0000 Subject: [xburst] Export clock states through debugfs git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19383 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../xburst/files-2.6.32/arch/mips/jz4740/clock.h | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 target/linux/xburst/files-2.6.32/arch/mips/jz4740/clock.h (limited to 'target/linux/xburst/files-2.6.32/arch/mips/jz4740/clock.h') diff --git a/target/linux/xburst/files-2.6.32/arch/mips/jz4740/clock.h b/target/linux/xburst/files-2.6.32/arch/mips/jz4740/clock.h new file mode 100644 index 000000000..88ce07d16 --- /dev/null +++ b/target/linux/xburst/files-2.6.32/arch/mips/jz4740/clock.h @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2010, Lars-Peter Clausen + * JZ4740 SoC clock support + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +#ifndef __JZ4740_CLOCK_H__ +#define __JZ4740_CLOCK_H__ + +struct clk_ops { + unsigned long (*get_rate)(struct clk* clk); + unsigned long (*round_rate)(struct clk *clk, unsigned long rate); + int (*set_rate)(struct clk* clk, unsigned long rate); + int (*enable)(struct clk* clk); + int (*disable)(struct clk* clk); + int (*is_enabled)(struct clk* clk); + + int (*set_parent)(struct clk* clk, struct clk *parent); + +}; + +struct clk { + const char *name; + struct clk* parent; + + uint32_t gate_bit; + + const struct clk_ops *ops; + + struct list_head list; + +#ifdef CONFIG_DEBUG_FS + struct dentry *debugfs_entry; + struct dentry *debugfs_parent_entry; +#endif + +}; + +#define JZ4740_CLK_NOT_GATED ((uint32_t)-1) + +int clk_is_enabled(struct clk *clk); + +#ifdef CONFIG_DEBUG_FS +void jz4740_clock_debugfs_init(void); +void jz4740_clock_debugfs_add_clk(struct clk *clk); +void jz4740_clock_debugfs_update_parent(struct clk *clk); +#else +static inline void jz4740_clock_debugfs_init(void) {}; +static inline void jz4740_clock_debugfs_add_clk(struct clk *clk) {}; +static inline void jz4740_clock_debugfs_update_parent(struct clk *clk) {}; +#endif + +#endif -- cgit v1.2.3