common.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. #ifndef _RALINK_COMMON_H__
  9. #define _RALINK_COMMON_H__
  10. #define RAMIPS_SYS_TYPE_LEN 32
  11. struct ralink_pinmux_grp {
  12. const char *name;
  13. u32 mask;
  14. int gpio_first;
  15. int gpio_last;
  16. };
  17. struct ralink_pinmux {
  18. struct ralink_pinmux_grp *mode;
  19. struct ralink_pinmux_grp *uart;
  20. int uart_shift;
  21. u32 uart_mask;
  22. void (*wdt_reset)(void);
  23. struct ralink_pinmux_grp *pci;
  24. int pci_shift;
  25. u32 pci_mask;
  26. };
  27. extern struct ralink_pinmux rt_gpio_pinmux;
  28. struct ralink_soc_info {
  29. unsigned char sys_type[RAMIPS_SYS_TYPE_LEN];
  30. unsigned char *compatible;
  31. unsigned long mem_base;
  32. unsigned long mem_size;
  33. unsigned long mem_size_min;
  34. unsigned long mem_size_max;
  35. };
  36. extern struct ralink_soc_info soc_info;
  37. extern void ralink_of_remap(void);
  38. extern void ralink_clk_init(void);
  39. extern void ralink_clk_add(const char *dev, unsigned long rate);
  40. extern void prom_soc_init(struct ralink_soc_info *soc_info);
  41. __iomem void *plat_of_remap_node(const char *node);
  42. #endif /* _RALINK_COMMON_H__ */