ibm440gx_common.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * PPC440GX system library
  3. *
  4. * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
  5. * Copyright (c) 2003, 2004 Zultys Technologies
  6. *
  7. * This program is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU General Public License as published by the
  9. * Free Software Foundation; either version 2 of the License, or (at your
  10. * option) any later version.
  11. *
  12. */
  13. #ifdef __KERNEL__
  14. #ifndef __PPC_SYSLIB_IBM440GX_COMMON_H
  15. #define __PPC_SYSLIB_IBM440GX_COMMON_H
  16. #ifndef __ASSEMBLY__
  17. #include <linux/config.h>
  18. #include <linux/init.h>
  19. #include <linux/seq_file.h>
  20. #include <syslib/ibm44x_common.h>
  21. /*
  22. * Please, refer to the Figure 14.1 in 440GX user manual
  23. *
  24. * if internal UART clock is used, ser_clk is ignored
  25. */
  26. void ibm440gx_get_clocks(struct ibm44x_clocks*, unsigned int sys_clk,
  27. unsigned int ser_clk) __init;
  28. /* common 440GX platform init */
  29. void ibm440gx_platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
  30. unsigned long r6, unsigned long r7) __init;
  31. /* Enable L2 cache */
  32. void ibm440gx_l2c_enable(void) __init;
  33. /* Disable L2 cache */
  34. void ibm440gx_l2c_disable(void) __init;
  35. /* Enable/disable L2 cache for a particular chip revision */
  36. void ibm440gx_l2c_setup(struct ibm44x_clocks*) __init;
  37. /* Get Ethernet Group */
  38. int ibm440gx_get_eth_grp(void) __init;
  39. /* Set Ethernet Group */
  40. void ibm440gx_set_eth_grp(int group) __init;
  41. /* Enable TAH devices */
  42. void ibm440gx_tah_enable(void) __init;
  43. /* Add L2C info to /proc/cpuinfo */
  44. int ibm440gx_show_cpuinfo(struct seq_file*);
  45. #endif /* __ASSEMBLY__ */
  46. #endif /* __PPC_SYSLIB_IBM440GX_COMMON_H */
  47. #endif /* __KERNEL__ */