cuboot-taishan.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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_44x
  23. #include "ppcboot.h"
  24. static bd_t bd;
  25. BSS_STACK(4096);
  26. static void taishan_fixups(void)
  27. {
  28. /* FIXME: sysclk should be derived by reading the FPGA
  29. registers */
  30. unsigned long sysclk = 33000000;
  31. ibm440gx_fixup_clocks(sysclk, 6 * 1843200, 25000000);
  32. ibm4xx_sdram_fixup_memsize();
  33. dt_fixup_mac_addresses(bd.bi_enetaddr, bd.bi_enet1addr);
  34. ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
  35. }
  36. void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
  37. unsigned long r6, unsigned long r7)
  38. {
  39. CUBOOT_INIT();
  40. platform_ops.fixups = taishan_fixups;
  41. fdt_init(_dtb_start);
  42. serial_console_init();
  43. }