cuboot-taishan.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * Old U-boot compatibility for Taishan
  3. *
  4. * Author: Hugh Blemings <hugh@au.ibm.com>
  5. *
  6. * Copyright 2007 Hugh Blemings, IBM Corporation.
  7. * Based on cuboot-ebony.c which is:
  8. * Copyright 2007 David Gibson, IBM Corporation.
  9. * Based on cuboot-83xx.c, which is:
  10. * Copyright (c) 2007 Freescale Semiconductor, Inc.
  11. *
  12. * This program is free software; you can redistribute it and/or modify it
  13. * under the terms of the GNU General Public License version 2 as published
  14. * by the Free Software Foundation.
  15. */
  16. #include "ops.h"
  17. #include "stdio.h"
  18. #include "cuboot.h"
  19. #include "reg.h"
  20. #include "dcr.h"
  21. #include "4xx.h"
  22. #define TARGET_4xx
  23. #define TARGET_44x
  24. #define TARGET_440GX
  25. #include "ppcboot.h"
  26. static bd_t bd;
  27. BSS_STACK(4096);
  28. static void taishan_fixups(void)
  29. {
  30. /* FIXME: sysclk should be derived by reading the FPGA
  31. registers */
  32. unsigned long sysclk = 33000000;
  33. ibm440gx_fixup_clocks(sysclk, 6 * 1843200, 25000000);
  34. ibm4xx_sdram_fixup_memsize();
  35. dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
  36. dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
  37. ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
  38. }
  39. void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
  40. unsigned long r6, unsigned long r7)
  41. {
  42. CUBOOT_INIT();
  43. platform_ops.fixups = taishan_fixups;
  44. fdt_init(_dtb_start);
  45. serial_console_init();
  46. }