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 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 u32 uart_mask; 26 void (*wdt_reset)(void); 27 struct ralink_pinmux_grp *pci; 28 int pci_shift; 29 u32 pci_mask; 30}; 31extern struct ralink_pinmux rt_gpio_pinmux; 32 33struct 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}; 42extern struct ralink_soc_info soc_info; 43 44extern void ralink_of_remap(void); 45 46extern void ralink_clk_init(void); 47extern void ralink_clk_add(const char *dev, unsigned long rate); 48 49extern 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