blob: bebd14930bd92bbbf94c607de1f216de1af1b19c [file] [log] [blame]
John Crispin85639912013-01-21 18:25:59 +01001/*
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
14struct ralink_pinmux_grp {
15 const char *name;
16 u32 mask;
17 int gpio_first;
18 int gpio_last;
19};
20
21struct ralink_pinmux {
22 struct ralink_pinmux_grp *mode;
23 struct ralink_pinmux_grp *uart;
24 int uart_shift;
25 void (*wdt_reset)(void);
Gabor Juhos946fda62013-04-12 12:40:23 +020026 struct ralink_pinmux_grp *pci;
27 int pci_shift;
28 u32 pci_mask;
John Crispin85639912013-01-21 18:25:59 +010029};
John Crispin4114b6a2013-04-12 22:12:09 +020030extern struct ralink_pinmux rt_gpio_pinmux;
John Crispin85639912013-01-21 18:25:59 +010031
32struct ralink_soc_info {
33 unsigned char sys_type[RAMIPS_SYS_TYPE_LEN];
34 unsigned char *compatible;
35};
36extern struct ralink_soc_info soc_info;
37
38extern void ralink_of_remap(void);
39
40extern void ralink_clk_init(void);
41extern void ralink_clk_add(const char *dev, unsigned long rate);
42
43extern void prom_soc_init(struct ralink_soc_info *soc_info);
44
45__iomem void *plat_of_remap_node(const char *node);
46
47#endif /* _RALINK_COMMON_H__ */