socfpga_sr1500.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /*
  2. * Copyright (C) 2015 Stefan Roese <sr@denx.de>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef __CONFIG_SOCFPGA_SR1500_H__
  7. #define __CONFIG_SOCFPGA_SR1500_H__
  8. #include <asm/arch/base_addr_ac5.h>
  9. #define CONFIG_BOARD_EARLY_INIT_F
  10. #define CONFIG_SYS_NO_FLASH
  11. #define CONFIG_DOS_PARTITION
  12. #define CONFIG_FAT_WRITE
  13. #define CONFIG_HW_WATCHDOG
  14. /* Memory configurations */
  15. #define PHYS_SDRAM_1_SIZE 0x40000000 /* 1GiB on SR1500 */
  16. /* Booting Linux */
  17. #define CONFIG_BOOTFILE "uImage"
  18. #define CONFIG_BOOTARGS "console=ttyS0," __stringify(CONFIG_BAUDRATE)
  19. #define CONFIG_BOOTCOMMAND "run mmcload; run mmcboot"
  20. #define CONFIG_LOADADDR 0x01000000
  21. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  22. /* Ethernet on SoC (EMAC) */
  23. #define CONFIG_PHY_INTERFACE_MODE PHY_INTERFACE_MODE_RGMII
  24. /* The PHY is autodetected, so no MII PHY address is needed here */
  25. #define CONFIG_PHY_MARVELL
  26. #define PHY_ANEG_TIMEOUT 8000
  27. #define CONFIG_EXTRA_ENV_SETTINGS \
  28. "verify=n\0" \
  29. "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
  30. "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
  31. "bootm ${loadaddr} - ${fdt_addr}\0" \
  32. "bootimage=zImage\0" \
  33. "fdt_addr=100\0" \
  34. "fdtimage=socfpga.dtb\0" \
  35. "fsloadcmd=ext2load\0" \
  36. "bootm ${loadaddr} - ${fdt_addr}\0" \
  37. "mmcroot=/dev/mmcblk0p2\0" \
  38. "mmcboot=setenv bootargs " CONFIG_BOOTARGS \
  39. " root=${mmcroot} rw rootwait;" \
  40. "bootz ${loadaddr} - ${fdt_addr}\0" \
  41. "mmcload=mmc rescan;" \
  42. "load mmc 0:1 ${loadaddr} ${bootimage};" \
  43. "load mmc 0:1 ${fdt_addr} ${fdtimage}\0" \
  44. "qspiload=sf probe && mtdparts default && run ubiload\0" \
  45. "qspiboot=setenv bootargs " CONFIG_BOOTARGS \
  46. " ubi.mtd=1,64 root=ubi0:rootfs rw rootfstype=ubifs;"\
  47. "bootz ${loadaddr} - ${fdt_addr}\0" \
  48. "ubiload=ubi part UBI && ubifsmount ubi0 && " \
  49. "ubifsload ${loadaddr} /boot/${bootimage} && " \
  50. "ubifsload ${fdt_addr} /boot/${fdtimage}\0"
  51. /* Environment */
  52. #define CONFIG_ENV_IS_IN_SPI_FLASH
  53. /* Enable SPI NOR flash reset, needed for SPI booting */
  54. #define CONFIG_SPI_N25Q256A_RESET
  55. /*
  56. * Bootcounter
  57. */
  58. #define CONFIG_BOOTCOUNT_LIMIT
  59. /* last 2 lwords in OCRAM */
  60. #define CONFIG_SYS_BOOTCOUNT_ADDR 0xfffffff8
  61. #define CONFIG_SYS_BOOTCOUNT_BE
  62. /* Environment setting for SPI flash */
  63. #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
  64. #define CONFIG_ENV_SECT_SIZE (64 * 1024)
  65. #define CONFIG_ENV_SIZE (16 * 1024)
  66. #define CONFIG_ENV_OFFSET 0x000e0000
  67. #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SECT_SIZE)
  68. #define CONFIG_ENV_SPI_BUS 0
  69. #define CONFIG_ENV_SPI_CS 0
  70. #define CONFIG_ENV_SPI_MODE SPI_MODE_3
  71. #define CONFIG_ENV_SPI_MAX_HZ 100000000 /* Use max of 100MHz */
  72. #define CONFIG_SF_DEFAULT_SPEED 100000000
  73. /*
  74. * The QSPI NOR flash layout on SR1500:
  75. *
  76. * 0000.0000 - 0003.ffff: SPL (4 times)
  77. * 0004.0000 - 000d.ffff: U-Boot
  78. * 000e.0000 - 000e.ffff: env1
  79. * 000f.0000 - 000f.ffff: env2
  80. */
  81. /* The rest of the configuration is shared */
  82. #include <configs/socfpga_common.h>
  83. #endif /* __CONFIG_SOCFPGA_SR1500_H__ */