1f9162b15SAkshay Bhat /* 2f9162b15SAkshay Bhat * Copyright (C) 2015 Timesys Corporation 3f9162b15SAkshay Bhat * Copyright (C) 2015 General Electric Company 4f9162b15SAkshay Bhat * Copyright (C) 2014 Advantech 5f9162b15SAkshay Bhat * Copyright (C) 2012 Freescale Semiconductor, Inc. 6f9162b15SAkshay Bhat * 7f9162b15SAkshay Bhat * Configuration settings for the GE MX6Q Bx50v3 boards. 8f9162b15SAkshay Bhat * 9f9162b15SAkshay Bhat * SPDX-License-Identifier: GPL-2.0+ 10f9162b15SAkshay Bhat */ 11f9162b15SAkshay Bhat 12f9162b15SAkshay Bhat #ifndef __GE_BX50V3_CONFIG_H 13f9162b15SAkshay Bhat #define __GE_BX50V3_CONFIG_H 14f9162b15SAkshay Bhat 15f9162b15SAkshay Bhat #include <asm/arch/imx-regs.h> 16*552a848eSStefano Babic #include <asm/mach-imx/gpio.h> 17f9162b15SAkshay Bhat 183dddc793SKen Lin #define BX50V3_BOOTARGS_EXTRA 19f9162b15SAkshay Bhat #if defined(CONFIG_TARGET_GE_B450V3) 20f9162b15SAkshay Bhat #define CONFIG_BOARD_NAME "General Electric B450v3" 21f9162b15SAkshay Bhat #elif defined(CONFIG_TARGET_GE_B650V3) 22f9162b15SAkshay Bhat #define CONFIG_BOARD_NAME "General Electric B650v3" 23f9162b15SAkshay Bhat #elif defined(CONFIG_TARGET_GE_B850V3) 24f9162b15SAkshay Bhat #define CONFIG_BOARD_NAME "General Electric B850v3" 253dddc793SKen Lin #undef BX50V3_BOOTARGS_EXTRA 263dddc793SKen Lin #define BX50V3_BOOTARGS_EXTRA "video=DP-1:1024x768@60 " \ 273dddc793SKen Lin "video=HDMI-A-1:1024x768@60 " 28f9162b15SAkshay Bhat #else 29f9162b15SAkshay Bhat #define CONFIG_BOARD_NAME "General Electric BA16 Generic" 30f9162b15SAkshay Bhat #endif 31f9162b15SAkshay Bhat 32f9162b15SAkshay Bhat #define CONFIG_MXC_UART_BASE UART3_BASE 3312ca05a3SSimon Glass #define CONSOLE_DEV "ttymxc2" 34f9162b15SAkshay Bhat 35f9162b15SAkshay Bhat #define CONFIG_SUPPORT_EMMC_BOOT 36f9162b15SAkshay Bhat 37f9162b15SAkshay Bhat 38f9162b15SAkshay Bhat #include "mx6_common.h" 39f9162b15SAkshay Bhat #include <linux/sizes.h> 40f9162b15SAkshay Bhat 41f9162b15SAkshay Bhat #define CONFIG_CMDLINE_TAG 42f9162b15SAkshay Bhat #define CONFIG_SETUP_MEMORY_TAGS 43f9162b15SAkshay Bhat #define CONFIG_INITRD_TAG 44f9162b15SAkshay Bhat #define CONFIG_REVISION_TAG 45f9162b15SAkshay Bhat #define CONFIG_SYS_MALLOC_LEN (10 * SZ_1M) 46f9162b15SAkshay Bhat 47f9162b15SAkshay Bhat #define CONFIG_MXC_GPIO 48f9162b15SAkshay Bhat #define CONFIG_MXC_UART 49f9162b15SAkshay Bhat 50f9162b15SAkshay Bhat #define CONFIG_MXC_OCOTP 51f9162b15SAkshay Bhat 52f9162b15SAkshay Bhat /* SATA Configs */ 53aacc10c5SAndrew Shadura #ifdef CONFIG_CMD_SATA 54f9162b15SAkshay Bhat #define CONFIG_DWC_AHSATA 55f9162b15SAkshay Bhat #define CONFIG_SYS_SATA_MAX_DEVICE 1 56f9162b15SAkshay Bhat #define CONFIG_DWC_AHSATA_PORT_ID 0 57f9162b15SAkshay Bhat #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR 58f9162b15SAkshay Bhat #define CONFIG_LBA48 59f9162b15SAkshay Bhat #define CONFIG_LIBATA 60aacc10c5SAndrew Shadura #endif 61f9162b15SAkshay Bhat 62f9162b15SAkshay Bhat /* MMC Configs */ 63f9162b15SAkshay Bhat #define CONFIG_FSL_ESDHC 64f9162b15SAkshay Bhat #define CONFIG_FSL_USDHC 65f9162b15SAkshay Bhat #define CONFIG_SYS_FSL_ESDHC_ADDR 0 66f9162b15SAkshay Bhat #define CONFIG_BOUNCE_BUFFER 67f9162b15SAkshay Bhat 68f9162b15SAkshay Bhat /* USB Configs */ 69fc44902aSAndrew Shadura #ifdef CONFIG_USB 70f9162b15SAkshay Bhat #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 71f9162b15SAkshay Bhat #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 72f9162b15SAkshay Bhat #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 73f9162b15SAkshay Bhat #define CONFIG_MXC_USB_FLAGS 0 74f9162b15SAkshay Bhat 75f9162b15SAkshay Bhat #define CONFIG_USBD_HS 76f9162b15SAkshay Bhat #define CONFIG_USB_GADGET_MASS_STORAGE 77f9162b15SAkshay Bhat #define CONFIG_USB_FUNCTION_MASS_STORAGE 78fc44902aSAndrew Shadura #endif 79f9162b15SAkshay Bhat 80f9162b15SAkshay Bhat /* Networking Configs */ 81c26ffd9bSAndrew Shadura #ifdef CONFIG_NET 82f9162b15SAkshay Bhat #define CONFIG_FEC_MXC 83f9162b15SAkshay Bhat #define CONFIG_MII 84f9162b15SAkshay Bhat #define IMX_FEC_BASE ENET_BASE_ADDR 85f9162b15SAkshay Bhat #define CONFIG_FEC_XCV_TYPE RGMII 86f9162b15SAkshay Bhat #define CONFIG_ETHPRIME "FEC" 87f9162b15SAkshay Bhat #define CONFIG_FEC_MXC_PHYADDR 4 88f9162b15SAkshay Bhat #define CONFIG_PHY_ATHEROS 89c26ffd9bSAndrew Shadura #endif 90f9162b15SAkshay Bhat 91f9162b15SAkshay Bhat /* Serial Flash */ 92f9162b15SAkshay Bhat #ifdef CONFIG_CMD_SF 93f9162b15SAkshay Bhat #define CONFIG_MXC_SPI 94f9162b15SAkshay Bhat #define CONFIG_SF_DEFAULT_BUS 0 95f9162b15SAkshay Bhat #define CONFIG_SF_DEFAULT_CS 0 96f9162b15SAkshay Bhat #define CONFIG_SF_DEFAULT_SPEED 20000000 97f9162b15SAkshay Bhat #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 98f9162b15SAkshay Bhat #endif 99f9162b15SAkshay Bhat 100f9162b15SAkshay Bhat /* allow to overwrite serial and ethaddr */ 101f9162b15SAkshay Bhat #define CONFIG_ENV_OVERWRITE 102f9162b15SAkshay Bhat #define CONFIG_CONS_INDEX 1 103f9162b15SAkshay Bhat 104f9162b15SAkshay Bhat #define CONFIG_LOADADDR 0x12000000 105f9162b15SAkshay Bhat #define CONFIG_SYS_TEXT_BASE 0x17800000 106f9162b15SAkshay Bhat 107f9162b15SAkshay Bhat #define CONFIG_EXTRA_ENV_SETTINGS \ 108f9162b15SAkshay Bhat "script=boot.scr\0" \ 109f9162b15SAkshay Bhat "image=/boot/uImage\0" \ 110f9162b15SAkshay Bhat "uboot=u-boot.imx\0" \ 111f9162b15SAkshay Bhat "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ 112f9162b15SAkshay Bhat "fdt_addr=0x18000000\0" \ 113f9162b15SAkshay Bhat "boot_fdt=yes\0" \ 114f9162b15SAkshay Bhat "ip_dyn=yes\0" \ 11512ca05a3SSimon Glass "console=" CONSOLE_DEV "\0" \ 116f9162b15SAkshay Bhat "fdt_high=0xffffffff\0" \ 117f9162b15SAkshay Bhat "initrd_high=0xffffffff\0" \ 118f9162b15SAkshay Bhat "sddev=0\0" \ 119f9162b15SAkshay Bhat "emmcdev=1\0" \ 120f9162b15SAkshay Bhat "partnum=1\0" \ 121f9162b15SAkshay Bhat "update_sd_firmware=" \ 122f9162b15SAkshay Bhat "if test ${ip_dyn} = yes; then " \ 123f9162b15SAkshay Bhat "setenv get_cmd dhcp; " \ 124f9162b15SAkshay Bhat "else " \ 125f9162b15SAkshay Bhat "setenv get_cmd tftp; " \ 126f9162b15SAkshay Bhat "fi; " \ 127f9162b15SAkshay Bhat "if mmc dev ${mmcdev}; then " \ 128f9162b15SAkshay Bhat "if ${get_cmd} ${update_sd_firmware_filename}; then " \ 129f9162b15SAkshay Bhat "setexpr fw_sz ${filesize} / 0x200; " \ 130f9162b15SAkshay Bhat "setexpr fw_sz ${fw_sz} + 1; " \ 131f9162b15SAkshay Bhat "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ 132f9162b15SAkshay Bhat "fi; " \ 133f9162b15SAkshay Bhat "fi\0" \ 134f9162b15SAkshay Bhat "update_sf_uboot=" \ 135f9162b15SAkshay Bhat "if tftp $loadaddr $uboot; then " \ 136f9162b15SAkshay Bhat "sf probe; " \ 137f9162b15SAkshay Bhat "sf erase 0 0xC0000; " \ 138f9162b15SAkshay Bhat "sf write $loadaddr 0x400 $filesize; " \ 139f9162b15SAkshay Bhat "echo 'U-Boot upgraded. Please reset'; " \ 140f9162b15SAkshay Bhat "fi\0" \ 141f9162b15SAkshay Bhat "setargs=setenv bootargs console=${console},${baudrate} " \ 1423dddc793SKen Lin "root=/dev/${rootdev} rw rootwait cma=128M " \ 1433dddc793SKen Lin BX50V3_BOOTARGS_EXTRA "\0" \ 144f9162b15SAkshay Bhat "loadbootscript=" \ 145f9162b15SAkshay Bhat "ext2load ${dev} ${devnum}:${partnum} ${loadaddr} ${script};\0" \ 146f9162b15SAkshay Bhat "bootscript=echo Running bootscript from ${dev}:${devnum}:${partnum};" \ 147f9162b15SAkshay Bhat " source\0" \ 148f9162b15SAkshay Bhat "loadimage=" \ 149f9162b15SAkshay Bhat "ext2load ${dev} ${devnum}:${partnum} ${loadaddr} ${image}\0" \ 150f9162b15SAkshay Bhat "loadfdt=ext2load ${dev} ${devnum}:${partnum} ${fdt_addr} ${fdt_file}\0" \ 151f9162b15SAkshay Bhat "tryboot=" \ 152f9162b15SAkshay Bhat "if run loadbootscript; then " \ 153f9162b15SAkshay Bhat "run bootscript; " \ 154f9162b15SAkshay Bhat "else " \ 155f9162b15SAkshay Bhat "if run loadimage; then " \ 156f9162b15SAkshay Bhat "run doboot; " \ 157f9162b15SAkshay Bhat "fi; " \ 158f9162b15SAkshay Bhat "fi;\0" \ 159f9162b15SAkshay Bhat "doboot=echo Booting from ${dev}:${devnum}:${partnum} ...; " \ 160f9162b15SAkshay Bhat "run setargs; " \ 161f9162b15SAkshay Bhat "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 162f9162b15SAkshay Bhat "if run loadfdt; then " \ 163f9162b15SAkshay Bhat "bootm ${loadaddr} - ${fdt_addr}; " \ 164f9162b15SAkshay Bhat "else " \ 165f9162b15SAkshay Bhat "if test ${boot_fdt} = try; then " \ 166f9162b15SAkshay Bhat "bootm; " \ 167f9162b15SAkshay Bhat "else " \ 168f9162b15SAkshay Bhat "echo WARN: Cannot load the DT; " \ 169f9162b15SAkshay Bhat "fi; " \ 170f9162b15SAkshay Bhat "fi; " \ 171f9162b15SAkshay Bhat "else " \ 172f9162b15SAkshay Bhat "bootm; " \ 173f9162b15SAkshay Bhat "fi;\0" \ 174f9162b15SAkshay Bhat "netargs=setenv bootargs console=${console},${baudrate} " \ 175f9162b15SAkshay Bhat "root=/dev/nfs " \ 176f9162b15SAkshay Bhat "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 177f9162b15SAkshay Bhat "netboot=echo Booting from net ...; " \ 178f9162b15SAkshay Bhat "run netargs; " \ 179f9162b15SAkshay Bhat "if test ${ip_dyn} = yes; then " \ 180f9162b15SAkshay Bhat "setenv get_cmd dhcp; " \ 181f9162b15SAkshay Bhat "else " \ 182f9162b15SAkshay Bhat "setenv get_cmd tftp; " \ 183f9162b15SAkshay Bhat "fi; " \ 184f9162b15SAkshay Bhat "${get_cmd} ${image}; " \ 185f9162b15SAkshay Bhat "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 186f9162b15SAkshay Bhat "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 187f9162b15SAkshay Bhat "bootm ${loadaddr} - ${fdt_addr}; " \ 188f9162b15SAkshay Bhat "else " \ 189f9162b15SAkshay Bhat "if test ${boot_fdt} = try; then " \ 190f9162b15SAkshay Bhat "bootm; " \ 191f9162b15SAkshay Bhat "else " \ 192f9162b15SAkshay Bhat "echo WARN: Cannot load the DT; " \ 193f9162b15SAkshay Bhat "fi; " \ 194f9162b15SAkshay Bhat "fi; " \ 195f9162b15SAkshay Bhat "else " \ 196f9162b15SAkshay Bhat "bootm; " \ 197f9162b15SAkshay Bhat "fi;\0" \ 198f9162b15SAkshay Bhat 199fc44902aSAndrew Shadura #define CONFIG_MMCBOOTCOMMAND \ 200f9162b15SAkshay Bhat "setenv dev mmc; " \ 201f6825e4aSKimmo Surakka "setenv rootdev mmcblk0p${partnum}; " \ 202f9162b15SAkshay Bhat \ 203f9162b15SAkshay Bhat "setenv devnum ${sddev}; " \ 204f9162b15SAkshay Bhat "if mmc dev ${devnum}; then " \ 205f9162b15SAkshay Bhat "run tryboot; " \ 206f6825e4aSKimmo Surakka "setenv rootdev mmcblk1p${partnum}; " \ 207f9162b15SAkshay Bhat "fi; " \ 208f9162b15SAkshay Bhat \ 209f9162b15SAkshay Bhat "setenv devnum ${emmcdev}; " \ 210f9162b15SAkshay Bhat "if mmc dev ${devnum}; then " \ 211f9162b15SAkshay Bhat "run tryboot; " \ 212f9162b15SAkshay Bhat "fi; " \ 213fc44902aSAndrew Shadura 214fc44902aSAndrew Shadura #define CONFIG_USBBOOTCOMMAND \ 215fc44902aSAndrew Shadura "usb start; " \ 216fc44902aSAndrew Shadura "setenv dev usb; " \ 217fc44902aSAndrew Shadura "setenv devnum 0; " \ 218f6825e4aSKimmo Surakka "setenv rootdev sda${partnum}; " \ 219fc44902aSAndrew Shadura "run tryboot; " \ 220f9162b15SAkshay Bhat \ 221fc44902aSAndrew Shadura CONFIG_MMCBOOTCOMMAND \ 222f9162b15SAkshay Bhat "bmode usb; " \ 223f9162b15SAkshay Bhat 224fc44902aSAndrew Shadura #ifdef CONFIG_CMD_USB 225fc44902aSAndrew Shadura #define CONFIG_BOOTCOMMAND CONFIG_USBBOOTCOMMAND 226fc44902aSAndrew Shadura #else 227fc44902aSAndrew Shadura #define CONFIG_BOOTCOMMAND CONFIG_MMCBOOTCOMMAND 228fc44902aSAndrew Shadura #endif 229fc44902aSAndrew Shadura 230f9162b15SAkshay Bhat #define CONFIG_ARP_TIMEOUT 200UL 231f9162b15SAkshay Bhat 232f9162b15SAkshay Bhat /* Miscellaneous configurable options */ 233f9162b15SAkshay Bhat #define CONFIG_SYS_LONGHELP 234f9162b15SAkshay Bhat #define CONFIG_AUTO_COMPLETE 235f9162b15SAkshay Bhat 236f9162b15SAkshay Bhat #define CONFIG_SYS_MEMTEST_START 0x10000000 237f9162b15SAkshay Bhat #define CONFIG_SYS_MEMTEST_END 0x10010000 238f9162b15SAkshay Bhat #define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 239f9162b15SAkshay Bhat 240f9162b15SAkshay Bhat #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 241f9162b15SAkshay Bhat 242f9162b15SAkshay Bhat #define CONFIG_CMDLINE_EDITING 243f9162b15SAkshay Bhat 244f9162b15SAkshay Bhat /* Physical Memory Map */ 245f9162b15SAkshay Bhat #define CONFIG_NR_DRAM_BANKS 1 246f9162b15SAkshay Bhat #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 247f9162b15SAkshay Bhat 248f9162b15SAkshay Bhat #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 249f9162b15SAkshay Bhat #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 250f9162b15SAkshay Bhat #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 251f9162b15SAkshay Bhat 252f9162b15SAkshay Bhat #define CONFIG_SYS_INIT_SP_OFFSET \ 253f9162b15SAkshay Bhat (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 254f9162b15SAkshay Bhat #define CONFIG_SYS_INIT_SP_ADDR \ 255f9162b15SAkshay Bhat (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 256f9162b15SAkshay Bhat 257e856bdcfSMasahiro Yamada /* environment organization */ 258f9162b15SAkshay Bhat #define CONFIG_ENV_SIZE (8 * 1024) 259f9162b15SAkshay Bhat #define CONFIG_ENV_OFFSET (768 * 1024) 260f9162b15SAkshay Bhat #define CONFIG_ENV_SECT_SIZE (64 * 1024) 261f9162b15SAkshay Bhat #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS 262f9162b15SAkshay Bhat #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS 263f9162b15SAkshay Bhat #define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE 264f9162b15SAkshay Bhat #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED 265f9162b15SAkshay Bhat 266f9162b15SAkshay Bhat #ifndef CONFIG_SYS_DCACHE_OFF 267f9162b15SAkshay Bhat #endif 268f9162b15SAkshay Bhat 269f9162b15SAkshay Bhat #define CONFIG_SYS_FSL_USDHC_NUM 3 270f9162b15SAkshay Bhat 271f9162b15SAkshay Bhat /* Framebuffer */ 27207aa030aSAndrew Shadura #ifdef CONFIG_VIDEO 273f9162b15SAkshay Bhat #define CONFIG_VIDEO_IPUV3 274f9162b15SAkshay Bhat #define CONFIG_VIDEO_BMP_RLE8 275f9162b15SAkshay Bhat #define CONFIG_SPLASH_SCREEN 276f9162b15SAkshay Bhat #define CONFIG_SPLASH_SCREEN_ALIGN 277f9162b15SAkshay Bhat #define CONFIG_BMP_16BPP 278f9162b15SAkshay Bhat #define CONFIG_VIDEO_LOGO 279f9162b15SAkshay Bhat #define CONFIG_VIDEO_BMP_LOGO 280f9162b15SAkshay Bhat #define CONFIG_IPUV3_CLK 260000000 281f9162b15SAkshay Bhat #define CONFIG_IMX_HDMI 282f9162b15SAkshay Bhat #define CONFIG_IMX_VIDEO_SKIP 28307aa030aSAndrew Shadura #endif 284f9162b15SAkshay Bhat 28554971ac6SAkshay Bhat #define CONFIG_PWM_IMX 28654971ac6SAkshay Bhat #define CONFIG_IMX6_PWM_PER_CLK 66000000 28754971ac6SAkshay Bhat 288f9162b15SAkshay Bhat #ifdef CONFIG_CMD_PCI 289f9162b15SAkshay Bhat #define CONFIG_PCI_SCAN_SHOW 290f9162b15SAkshay Bhat #define CONFIG_PCIE_IMX 291f9162b15SAkshay Bhat #define CONFIG_PCIE_IMX_PERST_GPIO IMX_GPIO_NR(7, 12) 292f9162b15SAkshay Bhat #define CONFIG_PCIE_IMX_POWER_GPIO IMX_GPIO_NR(1, 5) 293f9162b15SAkshay Bhat #endif 294f9162b15SAkshay Bhat 295f9162b15SAkshay Bhat /* I2C Configs */ 296f9162b15SAkshay Bhat #define CONFIG_SYS_I2C 297f9162b15SAkshay Bhat #define CONFIG_SYS_I2C_MXC 298f9162b15SAkshay Bhat #define CONFIG_SYS_I2C_SPEED 100000 299f9162b15SAkshay Bhat #define CONFIG_SYS_I2C_MXC_I2C1 300f9162b15SAkshay Bhat #define CONFIG_SYS_I2C_MXC_I2C2 301f9162b15SAkshay Bhat #define CONFIG_SYS_I2C_MXC_I2C3 302f9162b15SAkshay Bhat 303f9162b15SAkshay Bhat #endif /* __GE_BX50V3_CONFIG_H */ 304