board-iconnect.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * arch/arm/mach-kirkwood/board-iconnect.c
  3. *
  4. * Iomega i-connect Board Setup
  5. *
  6. * This file is licensed under the terms of the GNU General Public
  7. * License version 2. This program is licensed "as is" without any
  8. * warranty of any kind, whether express or implied.
  9. */
  10. #include <linux/kernel.h>
  11. #include <linux/init.h>
  12. #include <linux/of.h>
  13. #include <linux/mv643xx_eth.h>
  14. #include "common.h"
  15. #include "mpp.h"
  16. static struct mv643xx_eth_platform_data iconnect_ge00_data = {
  17. .phy_addr = MV643XX_ETH_PHY_ADDR(11),
  18. };
  19. static unsigned int iconnect_mpp_config[] __initdata = {
  20. MPP12_GPIO,
  21. MPP35_GPIO,
  22. MPP41_GPIO,
  23. MPP42_GPIO,
  24. MPP43_GPIO,
  25. MPP44_GPIO,
  26. MPP45_GPIO,
  27. MPP46_GPIO,
  28. MPP47_GPIO,
  29. MPP48_GPIO,
  30. 0
  31. };
  32. void __init iconnect_init(void)
  33. {
  34. kirkwood_mpp_conf(iconnect_mpp_config);
  35. kirkwood_ehci_init();
  36. kirkwood_ge00_init(&iconnect_ge00_data);
  37. }
  38. static int __init iconnect_pci_init(void)
  39. {
  40. if (of_machine_is_compatible("iom,iconnect"))
  41. kirkwood_pcie_init(KW_PCIE0);
  42. return 0;
  43. }
  44. subsys_initcall(iconnect_pci_init);