uboot/include/configs/ge_bx50v3.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * Copyright (C) 2015 Timesys Corporation
   4 * Copyright (C) 2015 General Electric Company
   5 * Copyright (C) 2014 Advantech
   6 * Copyright (C) 2012 Freescale Semiconductor, Inc.
   7 *
   8 * Configuration settings for the GE MX6Q Bx50v3 boards.
   9 */
  10
  11#ifndef __GE_BX50V3_CONFIG_H
  12#define __GE_BX50V3_CONFIG_H
  13
  14#include <asm/arch/imx-regs.h>
  15#include <asm/mach-imx/gpio.h>
  16
  17#define CONFIG_BOARD_NAME       "General Electric Bx50v3"
  18
  19#define CONFIG_MXC_UART_BASE    UART3_BASE
  20#define CONSOLE_DEV     "ttymxc2"
  21
  22#include "mx6_common.h"
  23#include <linux/sizes.h>
  24
  25#define CONFIG_CMDLINE_TAG
  26#define CONFIG_SETUP_MEMORY_TAGS
  27#define CONFIG_INITRD_TAG
  28#define CONFIG_REVISION_TAG
  29#define CONFIG_SYS_MALLOC_LEN           (10 * SZ_1M)
  30
  31#define CONFIG_WATCHDOG_TIMEOUT_MSECS 6000
  32
  33#define CONFIG_MXC_UART
  34
  35/* SATA Configs */
  36#ifdef CONFIG_CMD_SATA
  37#define CONFIG_SYS_SATA_MAX_DEVICE      1
  38#define CONFIG_DWC_AHSATA_PORT_ID       0
  39#define CONFIG_DWC_AHSATA_BASE_ADDR     SATA_ARB_BASE_ADDR
  40#define CONFIG_LBA48
  41#endif
  42
  43/* USB Configs */
  44#ifdef CONFIG_USB
  45#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
  46#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
  47#define CONFIG_MXC_USB_PORTSC   (PORT_PTS_UTMI | PORT_PTS_PTW)
  48#define CONFIG_MXC_USB_FLAGS    0
  49
  50#define CONFIG_USBD_HS
  51#define CONFIG_USB_GADGET_MASS_STORAGE
  52#endif
  53
  54/* Networking Configs */
  55#ifdef CONFIG_NET
  56#define CONFIG_FEC_MXC
  57#define IMX_FEC_BASE                    ENET_BASE_ADDR
  58#define CONFIG_FEC_XCV_TYPE             RGMII
  59#define CONFIG_ETHPRIME         "FEC"
  60#define CONFIG_FEC_MXC_PHYADDR          4
  61#define CONFIG_PHY_ATHEROS
  62#endif
  63
  64/* Serial Flash */
  65
  66/* allow to overwrite serial and ethaddr */
  67#define CONFIG_ENV_OVERWRITE
  68
  69#define CONFIG_LOADADDR 0x12000000
  70
  71#ifdef CONFIG_NFS_CMD
  72#define NETWORKBOOT \
  73        "setnetworkboot=" \
  74                "setenv ipaddr 172.16.2.10; setenv serverip 172.16.2.20; " \
  75                "setenv gatewayip 172.16.2.20; setenv nfsserver 172.16.2.20; " \
  76                "setenv netmask 255.255.255.0; setenv ethaddr ca:fe:de:ca:f0:11; " \
  77                "setenv bootargs root=/dev/nfs nfsroot=${nfsserver}:/srv/nfs/,v3,tcp rw rootwait" \
  78                "setenv bootargs $bootargs ip=${ipaddr}:${nfsserver}:${gatewayip}:${netmask}::eth0:off " \
  79                "setenv bootargs $bootargs cma=128M bootcause=POR console=${console} ${videoargs} " \
  80                "setenv bootargs $bootargs systemd.mask=helix-network-defaults.service " \
  81                "setenv bootargs $bootargs watchdog.handle_boot_enabled=1\0" \
  82        "networkboot=" \
  83                "run setnetworkboot; " \
  84                "nfs ${loadaddr} /srv/nfs/fitImage; " \
  85                "bootm ${loadaddr}#conf@${confidx}\0" \
  86
  87#define CONFIG_NETWORKBOOTCOMMAND \
  88        "run networkboot; " \
  89
  90#else
  91#define NETWORKBOOT \
  92
  93#endif
  94
  95#define CONFIG_EXTRA_ENV_SETTINGS \
  96        NETWORKBOOT \
  97        "bootcause=POR\0" \
  98        "image=/boot/fitImage\0" \
  99        "fdt_high=0xffffffff\0" \
 100        "dev=mmc\0" \
 101        "devnum=2\0" \
 102        "rootdev=mmcblk0p\0" \
 103        "quiet=quiet loglevel=0\0" \
 104        "console=" CONSOLE_DEV "\0" \
 105        "setargs=setenv bootargs root=/dev/${rootdev}${partnum} " \
 106                "ro rootwait cma=128M " \
 107                "bootcause=${bootcause} " \
 108                "${quiet} console=${console} ${rtc_status} " \
 109                "${videoargs}" "\0" \
 110        "doquiet=" \
 111                "if ext2load ${dev} ${devnum}:5 0x7000A000 /boot/console; " \
 112                        "then setenv quiet; fi\0" \
 113        "hasfirstboot=" \
 114                "ext2load ${dev} ${devnum}:${partnum} 0x7000A000 " \
 115                "/boot/bootcause/firstboot\0" \
 116        "swappartitions=" \
 117                "setexpr partnum 3 - ${partnum}\0" \
 118        "failbootcmd=" \
 119                "bx50_backlight_enable; " \
 120                "msg=\"Monitor failed to start.  Try again, or contact GE Service for support.\"; " \
 121                "echo $msg; " \
 122                "setenv stdout vga; " \
 123                "echo \"\n\n\n\n    \" $msg; " \
 124                "setenv stdout serial; " \
 125                "mw.b 0x7000A000 0xbc; " \
 126                "mw.b 0x7000A001 0x00; " \
 127                "ext4write ${dev} ${devnum}:5 0x7000A000 /boot/failures 2\0" \
 128        "altbootcmd=" \
 129                "run doquiet; " \
 130                "setenv partnum 1; run hasfirstboot || setenv partnum 2; " \
 131                "run hasfirstboot || setenv partnum 0; " \
 132                "if test ${partnum} != 0; then " \
 133                        "setenv bootcause REVERT; " \
 134                        "run swappartitions loadimage doboot; " \
 135                "fi; " \
 136                "run failbootcmd\0" \
 137        "loadimage=" \
 138                "ext2load ${dev} ${devnum}:${partnum} ${loadaddr} ${image}\0" \
 139        "doboot=" \
 140                "echo Booting from ${dev}:${devnum}:${partnum} ...; " \
 141                "run setargs; " \
 142                "bootm ${loadaddr}#conf@${confidx}\0" \
 143        "tryboot=" \
 144                "setenv partnum 1; run hasfirstboot || setenv partnum 2; " \
 145                "run loadimage || run swappartitions && run loadimage || " \
 146                "setenv partnum 0 && echo MISSING IMAGE;" \
 147                "run doboot; " \
 148                "run failbootcmd\0" \
 149
 150#define CONFIG_MMCBOOTCOMMAND \
 151        "if mmc dev ${devnum}; then " \
 152                "run doquiet; " \
 153                "run tryboot; " \
 154        "fi; " \
 155
 156#define CONFIG_USBBOOTCOMMAND \
 157        "echo Unsupported; " \
 158
 159#ifdef CONFIG_NFS_CMD
 160#define CONFIG_BOOTCOMMAND CONFIG_NETWORKBOOTCOMMAND
 161#elif CONFIG_CMD_USB
 162#define CONFIG_BOOTCOMMAND CONFIG_USBBOOTCOMMAND
 163#else
 164#define CONFIG_BOOTCOMMAND CONFIG_MMCBOOTCOMMAND
 165#endif
 166
 167
 168/* Miscellaneous configurable options */
 169
 170#define CONFIG_SYS_MEMTEST_START       0x10000000
 171#define CONFIG_SYS_MEMTEST_END         0x10010000
 172#define CONFIG_SYS_MEMTEST_SCRATCH     0x10800000
 173
 174#define CONFIG_SYS_LOAD_ADDR           CONFIG_LOADADDR
 175
 176/* Physical Memory Map */
 177#define PHYS_SDRAM                     MMDC0_ARB_BASE_ADDR
 178
 179#define CONFIG_SYS_SDRAM_BASE          PHYS_SDRAM
 180#define CONFIG_SYS_INIT_RAM_ADDR       IRAM_BASE_ADDR
 181#define CONFIG_SYS_INIT_RAM_SIZE       IRAM_SIZE
 182
 183#define CONFIG_SYS_INIT_SP_OFFSET \
 184        (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 185#define CONFIG_SYS_INIT_SP_ADDR \
 186        (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 187
 188/* environment organization */
 189#define CONFIG_ENV_SIZE         (8 * 1024)
 190#define CONFIG_ENV_OFFSET               (768 * 1024)
 191#define CONFIG_ENV_SECT_SIZE            (64 * 1024)
 192
 193#define CONFIG_SYS_FSL_USDHC_NUM        3
 194
 195/* Framebuffer */
 196#define CONFIG_HIDE_LOGO_VERSION
 197#define CONFIG_IMX_HDMI
 198#define CONFIG_IMX_VIDEO_SKIP
 199#define CONFIG_CMD_BMP
 200
 201#define CONFIG_IMX6_PWM_PER_CLK 66000000
 202
 203#define CONFIG_PCI
 204#define CONFIG_PCI_PNP
 205#define CONFIG_PCI_SCAN_SHOW
 206#define CONFIG_PCIE_IMX
 207#define CONFIG_PCIE_IMX_PERST_GPIO      IMX_GPIO_NR(7, 12)
 208#define CONFIG_PCIE_IMX_POWER_GPIO      IMX_GPIO_NR(1, 5)
 209
 210#define CONFIG_RTC_RX8010SJ
 211#define CONFIG_SYS_RTC_BUS_NUM 2
 212#define CONFIG_SYS_I2C_RTC_ADDR 0x32
 213
 214/* I2C Configs */
 215#define CONFIG_SYS_I2C
 216#define CONFIG_SYS_I2C_MXC
 217#define CONFIG_SYS_I2C_SPEED              100000
 218#define CONFIG_SYS_I2C_MXC_I2C1
 219#define CONFIG_SYS_I2C_MXC_I2C2
 220#define CONFIG_SYS_I2C_MXC_I2C3
 221
 222#define CONFIG_SYS_NUM_I2C_BUSES        11
 223#define CONFIG_SYS_I2C_MAX_HOPS         1
 224#define CONFIG_SYS_I2C_BUSES    {       {0, {I2C_NULL_HOP} }, \
 225                                        {1, {I2C_NULL_HOP} }, \
 226                                        {2, {I2C_NULL_HOP} }, \
 227                                        {0, {{I2C_MUX_PCA9547, 0x70, 0} } }, \
 228                                        {0, {{I2C_MUX_PCA9547, 0x70, 1} } }, \
 229                                        {0, {{I2C_MUX_PCA9547, 0x70, 2} } }, \
 230                                        {0, {{I2C_MUX_PCA9547, 0x70, 3} } }, \
 231                                        {0, {{I2C_MUX_PCA9547, 0x70, 4} } }, \
 232                                        {0, {{I2C_MUX_PCA9547, 0x70, 5} } }, \
 233                                        {0, {{I2C_MUX_PCA9547, 0x70, 6} } }, \
 234                                        {0, {{I2C_MUX_PCA9547, 0x70, 7} } }, \
 235                                }
 236
 237#define CONFIG_BCH
 238
 239#endif  /* __GE_BX50V3_CONFIG_H */
 240