sam9x60ek.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Configuation settings for the SAM9X60EK board.
  4. *
  5. * Copyright (C) 2018 Microchip Technology Inc. and its subsidiaries
  6. *
  7. * Author: Sandeep Sheriker M <sandeep.sheriker@microchip.com>
  8. */
  9. #ifndef __CONFIG_H__
  10. #define __CONFIG_H__
  11. /* ARM asynchronous clock */
  12. #define CONFIG_SYS_AT91_SLOW_CLOCK 32768
  13. #define CONFIG_SYS_AT91_MAIN_CLOCK 24000000 /* 24 MHz crystal */
  14. #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */
  15. #define CONFIG_SETUP_MEMORY_TAGS
  16. #define CONFIG_INITRD_TAG
  17. #define CONFIG_SKIP_LOWLEVEL_INIT
  18. #define CONFIG_USART_BASE ATMEL_BASE_DBGU
  19. #define CONFIG_USART_ID 0 /* ignored in arm */
  20. /* general purpose I/O */
  21. #define CONFIG_ATMEL_LEGACY /* required until (g)pio is fixed */
  22. /*
  23. * BOOTP options
  24. */
  25. #define CONFIG_BOOTP_BOOTFILESIZE
  26. /*
  27. * define CONFIG_USB_EHCI_HCD to enable USB Hi-Speed (aka 2.0)
  28. * NB: in this case, USB 1.1 devices won't be recognized.
  29. */
  30. /* SDRAM */
  31. #define CONFIG_SYS_SDRAM_BASE 0x20000000
  32. #define CONFIG_SYS_SDRAM_SIZE 0x10000000 /* 256 megs */
  33. #define CONFIG_SYS_INIT_SP_ADDR \
  34. (CONFIG_SYS_SDRAM_BASE + 16 * 1024 - GENERATED_GBL_DATA_SIZE)
  35. /* NAND flash */
  36. #ifdef CONFIG_CMD_NAND
  37. #define CONFIG_NAND_ATMEL
  38. #define CONFIG_SYS_MAX_NAND_DEVICE 1
  39. #define CONFIG_SYS_NAND_BASE 0x40000000
  40. #define CONFIG_SYS_NAND_MASK_ALE BIT(21)
  41. #define CONFIG_SYS_NAND_MASK_CLE BIT(22)
  42. #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4
  43. #define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PD5
  44. #define CONFIG_SYS_NAND_ONFI_DETECTION
  45. #endif
  46. /* PMECC & PMERRLOC */
  47. #define CONFIG_ATMEL_NAND_HWECC
  48. #define CONFIG_ATMEL_NAND_HW_PMECC
  49. #define CONFIG_PMECC_CAP 8
  50. #define CONFIG_PMECC_SECTOR_SIZE 512
  51. #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
  52. #ifdef CONFIG_SD_BOOT
  53. /* bootstrap + u-boot + env + linux in sd card */
  54. #define CONFIG_BOOTCOMMAND \
  55. "fatload mmc 0:1 0x21000000 at91-sam9x60ek.dtb;" \
  56. "fatload mmc 0:1 0x22000000 zImage;" \
  57. "bootz 0x22000000 - 0x21000000"
  58. #elif defined(CONFIG_NAND_BOOT)
  59. /* bootstrap + u-boot + env + linux in nandflash */
  60. #define CONFIG_BOOTCOMMAND "nand read " \
  61. "0x22000000 0x200000 0x600000; " \
  62. "nand read 0x21000000 0x180000 0x20000; " \
  63. "bootz 0x22000000 - 0x21000000"
  64. #elif defined(CONFIG_QSPI_BOOT)
  65. /* bootstrap + u-boot + env + linux in SPI NOR flash */
  66. #define CONFIG_BOOTCOMMAND "sf probe 0; " \
  67. "sf read 0x21000000 0x180000 0x80000; " \
  68. "sf read 0x22000000 0x200000 0x600000; " \
  69. "bootz 0x22000000 - 0x21000000"
  70. #endif
  71. /*
  72. * Size of malloc() pool
  73. */
  74. #define CONFIG_SYS_MALLOC_LEN (512 * 1024 + 0x1000)
  75. #endif