ib62x0.c 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /*
  2. * Copyright (C) 2011-2012
  3. * Gerald Kerma <dreagle@doukki.net>
  4. * Luka Perkov <uboot@lukaperkov.net>
  5. * Simon Baatz <gmbnomis@gmail.com>
  6. *
  7. * See file CREDITS for list of people who contributed to this
  8. * project.
  9. *
  10. * This program is free software; you can redistribute it and/or
  11. * modify it under the terms of the GNU General Public License as
  12. * published by the Free Software Foundation; either version 2 of
  13. * the License, or (at your option) any later version.
  14. *
  15. * This program is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. *
  20. * You should have received a copy of the GNU General Public License
  21. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  22. */
  23. #include <common.h>
  24. #include <miiphy.h>
  25. #include <asm/io.h>
  26. #include <asm/arch/cpu.h>
  27. #include <asm/arch/kirkwood.h>
  28. #include <asm/arch/mpp.h>
  29. #include "ib62x0.h"
  30. DECLARE_GLOBAL_DATA_PTR;
  31. int board_early_init_f(void)
  32. {
  33. /*
  34. * default gpio configuration
  35. * There are maximum 64 gpios controlled through 2 sets of registers
  36. * the below configuration configures mainly initial LED status
  37. */
  38. kw_config_gpio(IB62x0_OE_VAL_LOW,
  39. IB62x0_OE_VAL_HIGH,
  40. IB62x0_OE_LOW, IB62x0_OE_HIGH);
  41. /* Set SATA activity LEDs to default off */
  42. writel(MVSATAHC_LED_POLARITY_CTRL, MVSATAHC_LED_CONF_REG);
  43. /* Multi-Purpose Pins Functionality configuration */
  44. u32 kwmpp_config[] = {
  45. MPP0_NF_IO2,
  46. MPP1_NF_IO3,
  47. MPP2_NF_IO4,
  48. MPP3_NF_IO5,
  49. MPP4_NF_IO6,
  50. MPP5_NF_IO7,
  51. MPP6_SYSRST_OUTn,
  52. MPP8_TW_SDA,
  53. MPP9_TW_SCK,
  54. MPP10_UART0_TXD,
  55. MPP11_UART0_RXD,
  56. MPP18_NF_IO0,
  57. MPP19_NF_IO1,
  58. MPP20_SATA1_ACTn,
  59. MPP21_SATA0_ACTn,
  60. MPP22_GPIO, /* Power LED red */
  61. MPP24_GPIO, /* Power off device */
  62. MPP25_GPIO, /* Power LED green */
  63. MPP27_GPIO, /* USB transfer LED */
  64. MPP28_GPIO, /* Reset button */
  65. MPP29_GPIO, /* USB Copy button */
  66. 0
  67. };
  68. kirkwood_mpp_conf(kwmpp_config, NULL);
  69. return 0;
  70. }
  71. int board_init(void)
  72. {
  73. /* adress of boot parameters */
  74. gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100;
  75. return 0;
  76. }