lsxl.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /*
  2. * Copyright (c) 2012 Michael Walle
  3. * Michael Walle <michael@walle.cc>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef _CONFIG_LSXL_H
  8. #define _CONFIG_LSXL_H
  9. /*
  10. * Version number information
  11. */
  12. #if defined(CONFIG_LSCHLV2)
  13. #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-lschl.cfg
  14. #define CONFIG_MACH_TYPE 3006
  15. #define CONFIG_SYS_TCLK 166666667 /* 166 MHz */
  16. #elif defined(CONFIG_LSXHL)
  17. #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-lsxhl.cfg
  18. #define CONFIG_MACH_TYPE 2663
  19. /* CONFIG_SYS_TCLK is 200000000 by default */
  20. #else
  21. #error "unknown board"
  22. #endif
  23. /*
  24. * General configuration options
  25. */
  26. #define CONFIG_FEROCEON_88FR131 /* CPU Core subversion */
  27. #define CONFIG_KW88F6281 /* SOC Name */
  28. #define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
  29. #define CONFIG_MISC_INIT_R
  30. #define CONFIG_SHOW_BOOT_PROGRESS
  31. #define CONFIG_KIRKWOOD_GPIO
  32. #define CONFIG_SYS_NO_FLASH
  33. /*
  34. * Enable u-boot API for standalone programs.
  35. */
  36. #define CONFIG_API
  37. /*
  38. * Commands configuration
  39. */
  40. #define CONFIG_CMD_ENV
  41. #define CONFIG_CMD_IDE
  42. #define CONFIG_DOS_PARTITION
  43. #define CONFIG_EFI_PARTITION
  44. /*
  45. * mv-common.h should be defined after CMD configs since it used them
  46. * to enable certain macros
  47. */
  48. #include "mv-common.h"
  49. /* loading initramfs images without uimage header */
  50. #define CONFIG_SUPPORT_RAW_INITRD
  51. /* ST M25P40 */
  52. #undef CONFIG_ENV_SPI_MAX_HZ
  53. #define CONFIG_ENV_SPI_MAX_HZ 25000000
  54. #undef CONFIG_SF_DEFAULT_SPEED
  55. #define CONFIG_SF_DEFAULT_SPEED 25000000
  56. /*
  57. * Environment variables configurations
  58. */
  59. #ifdef CONFIG_SPI_FLASH
  60. #define CONFIG_SYS_MAX_FLASH_BANKS 1
  61. #define CONFIG_SYS_MAX_FLASH_SECT 8
  62. #define CONFIG_ENV_IS_IN_SPI_FLASH 1
  63. #define CONFIG_ENV_SECT_SIZE 0x10000 /* 64K */
  64. #else
  65. #define CONFIG_ENV_IS_NOWHERE
  66. #endif
  67. #define CONFIG_ENV_SIZE 0x10000 /* 64k */
  68. #define CONFIG_ENV_OFFSET 0x70000 /* env starts here */
  69. /*
  70. * Default environment variables
  71. */
  72. #define CONFIG_LOADADDR 0x00800000
  73. #define CONFIG_BOOTCOMMAND "run bootcmd_${bootsource}"
  74. #define CONFIG_BOOTARGS "console=ttyS0,115200 root=/dev/sda2"
  75. #if defined(CONFIG_LSXHL)
  76. #define CONFIG_FDTFILE "kirkwood-lsxhl.dtb"
  77. #elif defined(CONFIG_LSCHLV2)
  78. #define CONFIG_FDTFILE "kirkwood-lschlv2.dtb"
  79. #else
  80. #error "Unsupported board"
  81. #endif
  82. #define CONFIG_EXTRA_ENV_SETTINGS \
  83. "bootsource=legacy\0" \
  84. "hdpart=0:1\0" \
  85. "kernel_addr=0x00800000\0" \
  86. "ramdisk_addr=0x01000000\0" \
  87. "fdt_addr=0x00ff0000\0" \
  88. "bootcmd_legacy=ide reset " \
  89. "&& load ide ${hdpart} ${kernel_addr} /uImage.buffalo " \
  90. "&& load ide ${hdpart} ${ramdisk_addr} /initrd.buffalo "\
  91. "&& bootm ${kernel_addr} ${ramdisk_addr}\0" \
  92. "bootcmd_net=bootp ${kernel_addr} vmlinuz " \
  93. "&& tftpboot ${ramdisk_addr} initrd.img " \
  94. "&& setenv ramdisk_len ${filesize} " \
  95. "&& tftpboot ${fdt_addr} " CONFIG_FDTFILE " " \
  96. "&& bootz ${kernel_addr} " \
  97. "${ramdisk_addr}:${ramdisk_len} ${fdt_addr}\0" \
  98. "bootcmd_hdd=ide reset " \
  99. "&& load ide ${hdpart} ${kernel_addr} /vmlinuz " \
  100. "&& load ide ${hdpart} ${ramdisk_addr} /initrd.img " \
  101. "&& setenv ramdisk_len ${filesize} " \
  102. "&& load ide ${hdpart} ${fdt_addr} /dtb " \
  103. "&& bootz ${kernel_addr} " \
  104. "${ramdisk_addr}:${ramdisk_len} ${fdt_addr}\0" \
  105. "bootcmd_usb=usb start " \
  106. "&& load usb 0:1 ${kernel_addr} /vmlinuz " \
  107. "&& load usb 0:1 ${ramdisk_addr} /initrd.img " \
  108. "&& setenv ramdisk_len ${filesize} " \
  109. "&& load usb 0:1 ${fdt_addr} " CONFIG_FDTFILE " " \
  110. "&& bootz ${kernel_addr} " \
  111. "${ramdisk_addr}:${ramdisk_len} ${fdt_addr}\0" \
  112. "bootcmd_rescue=run config_nc_dhcp; run nc\0" \
  113. "eraseenv=sf probe 0 " \
  114. "&& sf erase " __stringify(CONFIG_ENV_OFFSET) \
  115. " +" __stringify(CONFIG_ENV_SIZE) "\0" \
  116. "config_nc_dhcp=setenv autoload_old ${autoload}; " \
  117. "setenv autoload no " \
  118. "&& bootp " \
  119. "&& setenv ncip " \
  120. "&& setenv autoload ${autoload_old}; " \
  121. "setenv autoload_old\0" \
  122. "standard_env=setenv ipaddr; setenv netmask; setenv serverip; " \
  123. "setenv ncip; setenv gatewayip; setenv ethact; " \
  124. "setenv bootfile; setenv dnsip; " \
  125. "setenv bootsource legacy; run ser\0" \
  126. "restore_env=run standard_env; saveenv; reset\0" \
  127. "ser=setenv stdin serial; setenv stdout serial; " \
  128. "setenv stderr serial\0" \
  129. "nc=setenv stdin nc; setenv stdout nc; setenv stderr nc\0" \
  130. "stdin=serial\0" \
  131. "stdout=serial\0" \
  132. "stderr=serial\0"
  133. /*
  134. * Ethernet Driver configuration
  135. */
  136. #ifdef CONFIG_CMD_NET
  137. #define CONFIG_MVGBE_PORTS {0, 1} /* enable port 1 only */
  138. #define CONFIG_PHY_BASE_ADR 7
  139. #undef CONFIG_RESET_PHY_R
  140. #endif /* CONFIG_CMD_NET */
  141. #ifdef CONFIG_CMD_IDE
  142. #undef CONFIG_IDE_LED
  143. #undef CONFIG_SYS_IDE_MAXBUS
  144. #define CONFIG_SYS_IDE_MAXBUS 1
  145. #undef CONFIG_SYS_IDE_MAXDEVICE
  146. #define CONFIG_SYS_IDE_MAXDEVICE 1
  147. #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET
  148. #define CONFIG_SYS_64BIT_LBA
  149. #endif
  150. #endif /* _CONFIG_LSXL_H */