csb637.c 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. * (C) Copyright 2005 REA Elektronik GmbH <www.rea.de>
  3. * Anders Larsen <alarsen@rea.de>
  4. *
  5. * See file CREDITS for list of people who contributed to this
  6. * project.
  7. *
  8. * This program is free software; you can redistribute it and/or
  9. * modify it under the terms of the GNU General Public License as
  10. * published by the Free Software Foundation; either version 2 of
  11. * the License, or (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program; if not, write to the Free Software
  20. * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  21. * MA 02111-1307 USA
  22. */
  23. #include <common.h>
  24. #include <asm/arch/AT91RM9200.h>
  25. #include <netdev.h>
  26. #include <asm/io.h>
  27. #if defined(CONFIG_DRIVER_ETHER)
  28. #include <at91rm9200_net.h>
  29. #include <bcm5221.h>
  30. #endif
  31. DECLARE_GLOBAL_DATA_PTR;
  32. /* ------------------------------------------------------------------------- */
  33. /*
  34. * Miscelaneous platform dependent initialisations
  35. */
  36. int board_init (void)
  37. {
  38. /* Enable Ctrlc */
  39. console_init_f ();
  40. /* memory and cpu-speed are setup before relocation */
  41. /* so we do _nothing_ here */
  42. /* arch number of CSB637-Board */
  43. gd->bd->bi_arch_number = MACH_TYPE_CSB637;
  44. /* adress of boot parameters */
  45. gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
  46. return 0;
  47. }
  48. int dram_init (void)
  49. {
  50. gd->bd->bi_dram[0].start = PHYS_SDRAM;
  51. gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
  52. return 0;
  53. }
  54. #ifdef CONFIG_DRIVER_ETHER
  55. #if defined(CONFIG_CMD_NET)
  56. /*
  57. * Name:
  58. * at91rm9200_GetPhyInterface
  59. * Description:
  60. * Initialise the interface functions to the PHY
  61. * Arguments:
  62. * None
  63. * Return value:
  64. * None
  65. */
  66. void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops)
  67. {
  68. p_phyops->Init = bcm5221_InitPhy;
  69. p_phyops->IsPhyConnected = bcm5221_IsPhyConnected;
  70. p_phyops->GetLinkSpeed = bcm5221_GetLinkSpeed;
  71. p_phyops->AutoNegotiate = bcm5221_AutoNegotiate;
  72. }
  73. #endif
  74. #endif /* CONFIG_DRIVER_ETHER */
  75. #ifdef CONFIG_DRIVER_AT91EMAC
  76. int board_eth_init(bd_t *bis)
  77. {
  78. int rc = 0;
  79. rc = at91emac_register(bis, 0);
  80. return rc;
  81. }
  82. #endif