uboot/include/configs/nitrogen6x.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2010-2011 Freescale Semiconductor, Inc.
   3 *
   4 * Configuration settings for the Boundary Devices Nitrogen6X
   5 * and Freescale i.MX6Q Sabre Lite boards.
   6 *
   7 * SPDX-License-Identifier:     GPL-2.0+
   8 */
   9
  10#ifndef __CONFIG_H
  11#define __CONFIG_H
  12
  13#include "mx6_common.h"
  14
  15#define CONFIG_MACH_TYPE        3769
  16
  17/* Size of malloc() pool */
  18#define CONFIG_SYS_MALLOC_LEN           (10 * 1024 * 1024)
  19
  20#define CONFIG_BOARD_EARLY_INIT_F
  21#define CONFIG_MISC_INIT_R
  22#define CONFIG_CI_UDC
  23#define CONFIG_USBD_HS
  24#define CONFIG_USB_GADGET_DUALSPEED
  25#define CONFIG_USB_ETHER
  26#define CONFIG_USB_ETH_CDC
  27#define CONFIG_NETCONSOLE
  28
  29#define CONFIG_MXC_UART
  30#define CONFIG_MXC_UART_BASE           UART2_BASE
  31
  32#define CONFIG_CMD_SF
  33#ifdef CONFIG_CMD_SF
  34#define CONFIG_MXC_SPI
  35#define CONFIG_SF_DEFAULT_BUS  0
  36#define CONFIG_SF_DEFAULT_CS   0
  37#define CONFIG_SF_DEFAULT_SPEED 25000000
  38#define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0)
  39#endif
  40
  41/* I2C Configs */
  42#define CONFIG_CMD_I2C
  43#define CONFIG_SYS_I2C
  44#define CONFIG_SYS_I2C_MXC
  45#define CONFIG_SYS_I2C_MXC_I2C1         /* enable I2C bus 1 */
  46#define CONFIG_SYS_I2C_MXC_I2C2         /* enable I2C bus 2 */
  47#define CONFIG_SYS_I2C_MXC_I2C3         /* enable I2C bus 3 */
  48#define CONFIG_SYS_I2C_SPEED            100000
  49#define CONFIG_I2C_EDID
  50
  51/* MMC Configs */
  52#define CONFIG_SYS_FSL_ESDHC_ADDR      0
  53#define CONFIG_SYS_FSL_USDHC_NUM       2
  54
  55#ifdef CONFIG_MX6Q
  56#define CONFIG_CMD_SATA
  57#endif
  58
  59/*
  60 * SATA Configs
  61 */
  62#ifdef CONFIG_CMD_SATA
  63#define CONFIG_DWC_AHSATA
  64#define CONFIG_SYS_SATA_MAX_DEVICE      1
  65#define CONFIG_DWC_AHSATA_PORT_ID       0
  66#define CONFIG_DWC_AHSATA_BASE_ADDR     SATA_ARB_BASE_ADDR
  67#define CONFIG_LBA48
  68#define CONFIG_LIBATA
  69#endif
  70
  71#define CONFIG_CMD_PING
  72#define CONFIG_CMD_DHCP
  73#define CONFIG_CMD_MII
  74#define CONFIG_FEC_MXC
  75#define CONFIG_MII
  76#define IMX_FEC_BASE                    ENET_BASE_ADDR
  77#define CONFIG_FEC_XCV_TYPE             RGMII
  78#define CONFIG_ETHPRIME                 "FEC"
  79#define CONFIG_FEC_MXC_PHYADDR          6
  80#define CONFIG_PHYLIB
  81#define CONFIG_PHY_MICREL
  82#define CONFIG_PHY_MICREL_KSZ9021
  83
  84/* USB Configs */
  85#define CONFIG_CMD_USB
  86#define CONFIG_USB_EHCI
  87#define CONFIG_USB_EHCI_MX6
  88#define CONFIG_USB_STORAGE
  89#define CONFIG_USB_HOST_ETHER
  90#define CONFIG_USB_ETHER_ASIX
  91#define CONFIG_USB_ETHER_MCS7830
  92#define CONFIG_USB_ETHER_SMSC95XX
  93#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
  94#define CONFIG_EHCI_HCD_INIT_AFTER_RESET        /* For OTG port */
  95#define CONFIG_MXC_USB_PORTSC   (PORT_PTS_UTMI | PORT_PTS_PTW)
  96#define CONFIG_MXC_USB_FLAGS    0
  97#define CONFIG_USB_KEYBOARD
  98#define CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP
  99
 100/* Miscellaneous commands */
 101#define CONFIG_CMD_BMODE
 102
 103/* Framebuffer and LCD */
 104#define CONFIG_VIDEO
 105#define CONFIG_VIDEO_IPUV3
 106#define CONFIG_CFB_CONSOLE
 107#define CONFIG_VGA_AS_SINGLE_DEVICE
 108#define CONFIG_SYS_CONSOLE_IS_IN_ENV
 109#define CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE
 110#define CONFIG_VIDEO_BMP_RLE8
 111#define CONFIG_SPLASH_SCREEN
 112#define CONFIG_SPLASH_SCREEN_ALIGN
 113#define CONFIG_VIDEO_BMP_GZIP
 114#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (6 * 1024 * 1024)
 115#define CONFIG_BMP_16BPP
 116#define CONFIG_IPUV3_CLK 260000000
 117#define CONFIG_CMD_HDMIDETECT
 118#define CONFIG_CONSOLE_MUX
 119#define CONFIG_IMX_HDMI
 120#define CONFIG_IMX_VIDEO_SKIP
 121
 122#define CONFIG_PREBOOT                 ""
 123
 124#ifdef CONFIG_CMD_SATA
 125#define CONFIG_DRIVE_SATA "sata "
 126#else
 127#define CONFIG_DRIVE_SATA
 128#endif
 129
 130#ifdef CONFIG_CMD_MMC
 131#define CONFIG_DRIVE_MMC "mmc "
 132#else
 133#define CONFIG_DRIVE_MMC
 134#endif
 135
 136#ifdef CONFIG_USB_STORAGE
 137#define CONFIG_DRIVE_USB "usb "
 138#else
 139#define CONFIG_DRIVE_USB
 140#endif
 141
 142#define CONFIG_DRIVE_TYPES CONFIG_DRIVE_SATA CONFIG_DRIVE_MMC CONFIG_DRIVE_USB
 143#define CONFIG_UMSDEVS CONFIG_DRIVE_SATA CONFIG_DRIVE_MMC
 144
 145#if defined(CONFIG_SABRELITE)
 146#define CONFIG_EXTRA_ENV_SETTINGS \
 147        "script=boot.scr\0" \
 148        "uimage=uImage\0" \
 149        "console=ttymxc1\0" \
 150        "fdt_high=0xffffffff\0" \
 151        "initrd_high=0xffffffff\0" \
 152        "fdt_file=imx6q-sabrelite.dtb\0" \
 153        "fdt_addr=0x18000000\0" \
 154        "boot_fdt=try\0" \
 155        "ip_dyn=yes\0" \
 156        "mmcdevs=0 1\0" \
 157        "mmcpart=1\0" \
 158        "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
 159        "mmcargs=setenv bootargs console=${console},${baudrate} " \
 160                "root=${mmcroot}\0" \
 161        "loadbootscript=" \
 162                "load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
 163        "bootscript=echo Running bootscript from mmc ...; " \
 164                "source\0" \
 165        "loaduimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
 166        "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
 167        "mmcboot=echo Booting from mmc ...; " \
 168                "run mmcargs; " \
 169                "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
 170                        "if run loadfdt; then " \
 171                                "bootm ${loadaddr} - ${fdt_addr}; " \
 172                        "else " \
 173                                "if test ${boot_fdt} = try; then " \
 174                                        "bootm; " \
 175                                "else " \
 176                                        "echo WARN: Cannot load the DT; " \
 177                                "fi; " \
 178                        "fi; " \
 179                "else " \
 180                        "bootm; " \
 181                "fi;\0" \
 182        "netargs=setenv bootargs console=${console},${baudrate} " \
 183                "root=/dev/nfs " \
 184        "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
 185                "netboot=echo Booting from net ...; " \
 186                "run netargs; " \
 187                "if test ${ip_dyn} = yes; then " \
 188                        "setenv get_cmd dhcp; " \
 189                "else " \
 190                        "setenv get_cmd tftp; " \
 191                "fi; " \
 192                "${get_cmd} ${uimage}; " \
 193                "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
 194                        "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
 195                                "bootm ${loadaddr} - ${fdt_addr}; " \
 196                        "else " \
 197                                "if test ${boot_fdt} = try; then " \
 198                                        "bootm; " \
 199                                "else " \
 200                                        "echo WARN: Cannot load the DT; " \
 201                                "fi; " \
 202                        "fi; " \
 203                "else " \
 204                        "bootm; " \
 205                "fi;\0"
 206
 207#define CONFIG_BOOTCOMMAND \
 208        "for mmcdev in ${mmcdevs}; do " \
 209                "mmc dev ${mmcdev}; " \
 210                "if mmc rescan; then " \
 211                        "if run loadbootscript; then " \
 212                                "run bootscript; " \
 213                        "else " \
 214                                "if run loaduimage; then " \
 215                                        "run mmcboot; " \
 216                                "fi; " \
 217                        "fi; " \
 218                "fi; " \
 219        "done; " \
 220        "run netboot; "
 221#else
 222#define CONFIG_EXTRA_ENV_SETTINGS \
 223        "bootdevs=" CONFIG_DRIVE_TYPES "\0" \
 224        "umsdevs=" CONFIG_UMSDEVS "\0" \
 225        "console=ttymxc1\0" \
 226        "clearenv=if sf probe || sf probe || sf probe 1 ; then " \
 227                "sf erase 0xc0000 0x2000 && " \
 228                "echo restored environment to factory default ; fi\0" \
 229        "bootcmd=for dtype in ${bootdevs}" \
 230                "; do " \
 231                        "if itest.s \"xusb\" == \"x${dtype}\" ; then " \
 232                                "usb start ;" \
 233                        "fi; " \
 234                        "for disk in 0 1 ; do ${dtype} dev ${disk} ;" \
 235                                "load " \
 236                                        "${dtype} ${disk}:1 " \
 237                                        "10008000 " \
 238                                        "/6x_bootscript" \
 239                                        "&& source 10008000 ; " \
 240                        "done ; " \
 241                "done; " \
 242                "setenv stdout serial,vga ; " \
 243                "echo ; echo 6x_bootscript not found ; " \
 244                "echo ; echo serial console at 115200, 8N1 ; echo ; " \
 245                "echo details at http://boundarydevices.com/6q_bootscript ; " \
 246                "setenv stdout serial;" \
 247                "setenv stdin serial,usbkbd;" \
 248                "for dtype in ${umsdevs} ; do " \
 249                        "if itest.s sata == ${dtype}; then " \
 250                                "initcmd='sata init' ;" \
 251                        "else " \
 252                                "initcmd='mmc rescan' ;" \
 253                        "fi; " \
 254                        "for disk in 0 1 ; do " \
 255                                "if $initcmd && $dtype dev $disk ; then " \
 256                                        "setenv stdout serial,vga; " \
 257                                        "echo expose ${dtype} ${disk} " \
 258                                                "over USB; " \
 259                                        "ums 0 $dtype $disk ;" \
 260                                "fi; " \
 261                "       done; " \
 262                "done ;" \
 263                "setenv stdout serial,vga; " \
 264                "echo no block devices found;" \
 265                "\0" \
 266        "initrd_high=0xffffffff\0" \
 267        "upgradeu=for dtype in ${bootdevs}" \
 268                "; do " \
 269                "for disk in 0 1 ; do ${dtype} dev ${disk} ;" \
 270                        "load ${dtype} ${disk}:1 10008000 " \
 271                                "/6x_upgrade " \
 272                                "&& source 10008000 ; " \
 273                "done ; " \
 274        "done\0" \
 275
 276#endif
 277/* Miscellaneous configurable options */
 278#define CONFIG_SYS_MEMTEST_START       0x10000000
 279#define CONFIG_SYS_MEMTEST_END         0x10010000
 280#define CONFIG_SYS_MEMTEST_SCRATCH     0x10800000
 281
 282/* Physical Memory Map */
 283#define CONFIG_NR_DRAM_BANKS           1
 284#define PHYS_SDRAM                     MMDC0_ARB_BASE_ADDR
 285
 286#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM
 287#define CONFIG_SYS_INIT_RAM_ADDR       IRAM_BASE_ADDR
 288#define CONFIG_SYS_INIT_RAM_SIZE       IRAM_SIZE
 289
 290#define CONFIG_SYS_INIT_SP_OFFSET \
 291        (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 292#define CONFIG_SYS_INIT_SP_ADDR \
 293        (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 294
 295/* Environment organization */
 296#define CONFIG_ENV_SIZE                 (8 * 1024)
 297
 298#if defined(CONFIG_SABRELITE)
 299#define CONFIG_ENV_IS_IN_MMC
 300#else
 301#define CONFIG_ENV_IS_IN_SPI_FLASH
 302#endif
 303
 304#if defined(CONFIG_ENV_IS_IN_MMC)
 305#define CONFIG_ENV_OFFSET               (6 * 64 * 1024)
 306#define CONFIG_SYS_MMC_ENV_DEV          0
 307#elif defined(CONFIG_ENV_IS_IN_SPI_FLASH)
 308#define CONFIG_ENV_OFFSET               (768 * 1024)
 309#define CONFIG_ENV_SECT_SIZE            (8 * 1024)
 310#define CONFIG_ENV_SPI_BUS              CONFIG_SF_DEFAULT_BUS
 311#define CONFIG_ENV_SPI_CS               CONFIG_SF_DEFAULT_CS
 312#define CONFIG_ENV_SPI_MODE             CONFIG_SF_DEFAULT_MODE
 313#define CONFIG_ENV_SPI_MAX_HZ           CONFIG_SF_DEFAULT_SPEED
 314#endif
 315
 316#define CONFIG_CMD_BMP
 317
 318#define CONFIG_CMD_TIME
 319#define CONFIG_CMD_MEMTEST
 320#define CONFIG_SYS_ALT_MEMTEST
 321
 322/*
 323 * PCI express
 324 */
 325#ifdef CONFIG_CMD_PCI
 326#define CONFIG_PCI
 327#define CONFIG_PCI_PNP
 328#define CONFIG_PCI_SCAN_SHOW
 329#define CONFIG_PCIE_IMX
 330#endif
 331
 332
 333#define CONFIG_USB_GADGET
 334#define CONFIG_CMD_USB_MASS_STORAGE
 335#define CONFIG_USB_FUNCTION_MASS_STORAGE
 336#define CONFIG_USB_GADGET_DOWNLOAD
 337#define CONFIG_USB_GADGET_VBUS_DRAW     2
 338
 339/* Netchip IDs */
 340#define CONFIG_G_DNL_VENDOR_NUM 0x0525
 341#define CONFIG_G_DNL_PRODUCT_NUM 0xa4a5
 342#define CONFIG_G_DNL_MANUFACTURER "Boundary"
 343
 344#define CONFIG_USB_FUNCTION_FASTBOOT
 345#define CONFIG_CMD_FASTBOOT
 346#define CONFIG_ANDROID_BOOT_IMAGE
 347#define CONFIG_FASTBOOT_BUF_ADDR   CONFIG_SYS_LOAD_ADDR
 348#define CONFIG_FASTBOOT_BUF_SIZE   0x07000000
 349
 350#endif         /* __CONFIG_H */
 351