xref: /openbmc/linux/arch/mips/ralink/common.h (revision ca79522c)
1 /*
2  *  This program is free software; you can redistribute it and/or modify it
3  *  under the terms of the GNU General Public License version 2 as published
4  *  by the Free Software Foundation.
5  *
6  * Copyright (C) 2013 John Crispin <blogic@openwrt.org>
7  */
8 
9 #ifndef _RALINK_COMMON_H__
10 #define _RALINK_COMMON_H__
11 
12 #define RAMIPS_SYS_TYPE_LEN	32
13 
14 struct ralink_pinmux_grp {
15 	const char *name;
16 	u32 mask;
17 	int gpio_first;
18 	int gpio_last;
19 };
20 
21 struct ralink_pinmux {
22 	struct ralink_pinmux_grp *mode;
23 	struct ralink_pinmux_grp *uart;
24 	int uart_shift;
25 	u32 uart_mask;
26 	void (*wdt_reset)(void);
27 	struct ralink_pinmux_grp *pci;
28 	int pci_shift;
29 	u32 pci_mask;
30 };
31 extern struct ralink_pinmux rt_gpio_pinmux;
32 
33 struct ralink_soc_info {
34 	unsigned char sys_type[RAMIPS_SYS_TYPE_LEN];
35 	unsigned char *compatible;
36 
37 	unsigned long mem_base;
38 	unsigned long mem_size;
39 	unsigned long mem_size_min;
40 	unsigned long mem_size_max;
41 };
42 extern struct ralink_soc_info soc_info;
43 
44 extern void ralink_of_remap(void);
45 
46 extern void ralink_clk_init(void);
47 extern void ralink_clk_add(const char *dev, unsigned long rate);
48 
49 extern void prom_soc_init(struct ralink_soc_info *soc_info);
50 
51 __iomem void *plat_of_remap_node(const char *node);
52 
53 #endif /* _RALINK_COMMON_H__ */
54