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 ralink_rst_init(void); 50 51 extern void prom_soc_init(struct ralink_soc_info *soc_info); 52 53 __iomem void *plat_of_remap_node(const char *node); 54 55 #endif /* _RALINK_COMMON_H__ */ 56