17254d92eSHeiko Schocher /* 27254d92eSHeiko Schocher * (C) Copyright 2015 37254d92eSHeiko Schocher * (C) Copyright 2014 47254d92eSHeiko Schocher * Heiko Schocher, DENX Software Engineering, hs@denx.de. 57254d92eSHeiko Schocher * 67254d92eSHeiko Schocher * Based on: 77254d92eSHeiko Schocher * Copyright (C) 2012 Freescale Semiconductor, Inc. 87254d92eSHeiko Schocher * 97254d92eSHeiko Schocher * Configuration settings for the Freescale i.MX6Q SabreSD board. 107254d92eSHeiko Schocher * 117254d92eSHeiko Schocher * SPDX-License-Identifier: GPL-2.0+ 127254d92eSHeiko Schocher */ 137254d92eSHeiko Schocher #ifndef __ARISTAINETOS_COMMON_CONFIG_H 147254d92eSHeiko Schocher #define __ARISTAINETOS_COMMON_CONFIG_H 157254d92eSHeiko Schocher 167254d92eSHeiko Schocher #include "mx6_common.h" 177254d92eSHeiko Schocher 187254d92eSHeiko Schocher #define CONFIG_MACH_TYPE 4501 197254d92eSHeiko Schocher #define CONFIG_MMCROOT "/dev/mmcblk0p1" 207254d92eSHeiko Schocher #define PHYS_SDRAM_SIZE (1u * 1024 * 1024 * 1024) 217254d92eSHeiko Schocher 227254d92eSHeiko Schocher /* Size of malloc() pool */ 237254d92eSHeiko Schocher #define CONFIG_SYS_MALLOC_LEN (64 * SZ_1M) 247254d92eSHeiko Schocher 257254d92eSHeiko Schocher #define CONFIG_BOARD_EARLY_INIT_F 267254d92eSHeiko Schocher 277254d92eSHeiko Schocher #define CONFIG_MXC_UART 287254d92eSHeiko Schocher 297254d92eSHeiko Schocher #define CONFIG_CMD_FUSE 307254d92eSHeiko Schocher #define CONFIG_MXC_OCOTP 317254d92eSHeiko Schocher 327254d92eSHeiko Schocher /* MMC Configs */ 337254d92eSHeiko Schocher #define CONFIG_FSL_ESDHC 347254d92eSHeiko Schocher #define CONFIG_FSL_USDHC 357254d92eSHeiko Schocher #define CONFIG_SYS_FSL_ESDHC_ADDR 0 367254d92eSHeiko Schocher 377254d92eSHeiko Schocher #define CONFIG_MMC 387254d92eSHeiko Schocher #define CONFIG_CMD_MMC 397254d92eSHeiko Schocher #define CONFIG_GENERIC_MMC 407254d92eSHeiko Schocher #define CONFIG_BOUNCE_BUFFER 417254d92eSHeiko Schocher 427254d92eSHeiko Schocher #define CONFIG_CMD_PING 437254d92eSHeiko Schocher #define CONFIG_CMD_DHCP 447254d92eSHeiko Schocher #define CONFIG_CMD_MII 457254d92eSHeiko Schocher #define CONFIG_CMD_NET 467254d92eSHeiko Schocher #define CONFIG_FEC_MXC 477254d92eSHeiko Schocher #define CONFIG_MII 487254d92eSHeiko Schocher #define IMX_FEC_BASE ENET_BASE_ADDR 497254d92eSHeiko Schocher #define CONFIG_ETHPRIME "FEC" 507254d92eSHeiko Schocher #define CONFIG_FEC_MXC_PHYADDR 0 517254d92eSHeiko Schocher 527254d92eSHeiko Schocher #define CONFIG_PHYLIB 537254d92eSHeiko Schocher #define CONFIG_PHY_MICREL 547254d92eSHeiko Schocher 557254d92eSHeiko Schocher #define CONFIG_CMD_SF 567254d92eSHeiko Schocher #define CONFIG_SPI_FLASH 577254d92eSHeiko Schocher #define CONFIG_SPI_FLASH_MTD 587254d92eSHeiko Schocher #define CONFIG_SPI_FLASH_STMICRO 597254d92eSHeiko Schocher #define CONFIG_MXC_SPI 607254d92eSHeiko Schocher #define CONFIG_SF_DEFAULT_BUS 3 617254d92eSHeiko Schocher #define CONFIG_SF_DEFAULT_SPEED 20000000 627254d92eSHeiko Schocher #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 637254d92eSHeiko Schocher #define CONFIG_SYS_SPI_ST_ENABLE_WP_PIN 647254d92eSHeiko Schocher 657254d92eSHeiko Schocher /* Command definition */ 667254d92eSHeiko Schocher #define CONFIG_CMD_BMODE 677254d92eSHeiko Schocher #define CONFIG_CMD_SETEXPR 687254d92eSHeiko Schocher 697254d92eSHeiko Schocher #define CONFIG_EXTRA_ENV_SETTINGS \ 707254d92eSHeiko Schocher "script=u-boot.scr\0" \ 717254d92eSHeiko Schocher "fit_file=/boot/system.itb\0" \ 727254d92eSHeiko Schocher "loadaddr=0x12000000\0" \ 737254d92eSHeiko Schocher "fit_addr_r=0x14000000\0" \ 747254d92eSHeiko Schocher "uboot=/boot/u-boot.imx\0" \ 757254d92eSHeiko Schocher "uboot_sz=d0000\0" \ 767254d92eSHeiko Schocher "rescue_sys_addr=f0000\0" \ 777254d92eSHeiko Schocher "rescue_sys_length=f10000\0" \ 787254d92eSHeiko Schocher "panel=lb07wv8\0" \ 797254d92eSHeiko Schocher "splashpos=m,m\0" \ 807254d92eSHeiko Schocher "console=" CONFIG_CONSOLE_DEV "\0" \ 817254d92eSHeiko Schocher "fdt_high=0xffffffff\0" \ 827254d92eSHeiko Schocher "initrd_high=0xffffffff\0" \ 837254d92eSHeiko Schocher "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \ 847254d92eSHeiko Schocher "set_fit_default=fdt addr ${fit_addr_r};fdt set /configurations " \ 857254d92eSHeiko Schocher "default ${board_type}\0" \ 867254d92eSHeiko Schocher "get_env=mw ${loadaddr} 0 0x20000;" \ 877254d92eSHeiko Schocher "mmc rescan;" \ 887254d92eSHeiko Schocher "ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} env.txt;" \ 897254d92eSHeiko Schocher "env import -t ${loadaddr}\0" \ 907254d92eSHeiko Schocher "default_env=mw ${loadaddr} 0 0x20000;" \ 917254d92eSHeiko Schocher "env export -t ${loadaddr} serial# ethaddr eth1addr " \ 927254d92eSHeiko Schocher "board_type panel;" \ 937254d92eSHeiko Schocher "env default -a;" \ 947254d92eSHeiko Schocher "env import -t ${loadaddr}\0" \ 957254d92eSHeiko Schocher "loadbootscript=" \ 967254d92eSHeiko Schocher "ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ 977254d92eSHeiko Schocher "bootscript=echo Running bootscript from mmc ...; " \ 987254d92eSHeiko Schocher "source\0" \ 997254d92eSHeiko Schocher "mmcpart=1\0" \ 1007254d92eSHeiko Schocher "mmcdev=0\0" \ 1017254d92eSHeiko Schocher "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ 1027254d92eSHeiko Schocher "mmcargs=setenv bootargs console=${console},${baudrate} " \ 1037254d92eSHeiko Schocher "root=${mmcroot}\0" \ 1047254d92eSHeiko Schocher "mmcboot=echo Booting from mmc ...; " \ 1057254d92eSHeiko Schocher "run mmcargs addmtd addmisc set_fit_default;" \ 1067254d92eSHeiko Schocher "bootm ${fit_addr_r}\0" \ 1077254d92eSHeiko Schocher "mmc_load_fit=ext2load mmc ${mmcdev}:${mmcpart} ${fit_addr_r} " \ 1087254d92eSHeiko Schocher "${fit_file}\0" \ 1097254d92eSHeiko Schocher "mmc_load_uboot=ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \ 1107254d92eSHeiko Schocher "${uboot}\0" \ 1117254d92eSHeiko Schocher "mmc_upd_uboot=mw.b ${loadaddr} 0xff ${uboot_sz};" \ 1127254d92eSHeiko Schocher "setexpr cmp_buf ${loadaddr} + ${uboot_sz};" \ 1137254d92eSHeiko Schocher "setexpr uboot_maxsize ${uboot_sz} - 400;" \ 1147254d92eSHeiko Schocher "mw.b ${cmp_buf} 0x00 ${uboot_sz};" \ 1157254d92eSHeiko Schocher "run mmc_load_uboot;sf probe;sf erase 0 ${uboot_sz};" \ 1167254d92eSHeiko Schocher "sf write ${loadaddr} 400 ${filesize};" \ 1177254d92eSHeiko Schocher "sf read ${cmp_buf} 400 ${uboot_sz};" \ 1187254d92eSHeiko Schocher "cmp.b ${loadaddr} ${cmp_buf} ${uboot_maxsize}\0" \ 1197254d92eSHeiko Schocher "ubiboot=echo Booting from ubi ...; " \ 1207254d92eSHeiko Schocher "run ubiargs addmtd addmisc set_fit_default;" \ 1217254d92eSHeiko Schocher "bootm ${fit_addr_r}\0" \ 1227254d92eSHeiko Schocher "ubifs_load_fit=sf probe;ubi part ubi 2048;ubifsmount ubi:rootfs;" \ 1237254d92eSHeiko Schocher "ubifsload ${fit_addr_r} /boot/system.itb; " \ 1247254d92eSHeiko Schocher "imi ${fit_addr_r}\0 " \ 1257254d92eSHeiko Schocher "rescueargs=setenv bootargs console=${console},${baudrate} " \ 1267254d92eSHeiko Schocher "root=/dev/ram rw\0 " \ 1277254d92eSHeiko Schocher "rescueboot=echo Booting rescue system from NOR ...; " \ 1287254d92eSHeiko Schocher "run rescueargs addmtd addmisc set_fit_default;" \ 1297254d92eSHeiko Schocher "bootm ${fit_addr_r}\0" \ 1307254d92eSHeiko Schocher "rescue_load_fit=sf probe;sf read ${fit_addr_r} ${rescue_sys_addr} " \ 1317254d92eSHeiko Schocher "${rescue_sys_length}; imi ${fit_addr_r}\0" \ 1327254d92eSHeiko Schocher CONFIG_EXTRA_ENV_BOARD_SETTINGS 1337254d92eSHeiko Schocher 1347254d92eSHeiko Schocher #define CONFIG_BOOTCOMMAND \ 1357254d92eSHeiko Schocher "mmc dev ${mmcdev};" \ 1367254d92eSHeiko Schocher "if mmc rescan; then " \ 1377254d92eSHeiko Schocher "if run loadbootscript; then " \ 1387254d92eSHeiko Schocher "run bootscript; " \ 1397254d92eSHeiko Schocher "else " \ 1407254d92eSHeiko Schocher "if run mmc_load_fit; then " \ 1417254d92eSHeiko Schocher "run mmcboot; " \ 1427254d92eSHeiko Schocher "else " \ 1437254d92eSHeiko Schocher "if run ubifs_load_fit; then " \ 1447254d92eSHeiko Schocher "run ubiboot; " \ 1457254d92eSHeiko Schocher "else " \ 1467254d92eSHeiko Schocher "if run rescue_load_fit; then " \ 1477254d92eSHeiko Schocher "run rescueboot; " \ 1487254d92eSHeiko Schocher "else " \ 1497254d92eSHeiko Schocher "echo RESCUE SYSTEM BOOT " \ 1507254d92eSHeiko Schocher "FAILURE;" \ 1517254d92eSHeiko Schocher "fi; " \ 1527254d92eSHeiko Schocher "fi; " \ 1537254d92eSHeiko Schocher "fi; " \ 1547254d92eSHeiko Schocher "fi; " \ 1557254d92eSHeiko Schocher "else " \ 1567254d92eSHeiko Schocher "if run ubifs_load_fit; then " \ 1577254d92eSHeiko Schocher "run ubiboot; " \ 1587254d92eSHeiko Schocher "else " \ 1597254d92eSHeiko Schocher "if run rescue_load_fit; then " \ 1607254d92eSHeiko Schocher "run rescueboot; " \ 1617254d92eSHeiko Schocher "else " \ 1627254d92eSHeiko Schocher "echo RESCUE SYSTEM BOOT FAILURE;" \ 1637254d92eSHeiko Schocher "fi; " \ 1647254d92eSHeiko Schocher "fi; " \ 1657254d92eSHeiko Schocher "fi" 1667254d92eSHeiko Schocher 1677254d92eSHeiko Schocher #define CONFIG_ARP_TIMEOUT 200UL 1687254d92eSHeiko Schocher 1697254d92eSHeiko Schocher /* Print Buffer Size */ 1707254d92eSHeiko Schocher #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 1717254d92eSHeiko Schocher 1727254d92eSHeiko Schocher #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM 1737254d92eSHeiko Schocher #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x100000) 1747254d92eSHeiko Schocher #define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 1757254d92eSHeiko Schocher 1767254d92eSHeiko Schocher #define CONFIG_STACKSIZE (128 * 1024) 1777254d92eSHeiko Schocher 1787254d92eSHeiko Schocher /* Physical Memory Map */ 1797254d92eSHeiko Schocher #define CONFIG_NR_DRAM_BANKS 1 1807254d92eSHeiko Schocher #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 1817254d92eSHeiko Schocher 1827254d92eSHeiko Schocher #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 1837254d92eSHeiko Schocher #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 1847254d92eSHeiko Schocher #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 1857254d92eSHeiko Schocher 1867254d92eSHeiko Schocher #define CONFIG_SYS_INIT_SP_OFFSET \ 1877254d92eSHeiko Schocher (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 1887254d92eSHeiko Schocher #define CONFIG_SYS_INIT_SP_ADDR \ 1897254d92eSHeiko Schocher (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 1907254d92eSHeiko Schocher 191056845c2SPeter Robinson /* Environment organization */ 1927254d92eSHeiko Schocher #define CONFIG_ENV_SIZE (12 * 1024) 1937254d92eSHeiko Schocher #define CONFIG_ENV_IS_IN_SPI_FLASH 1947254d92eSHeiko Schocher #define CONFIG_SYS_REDUNDAND_ENVIRONMENT 1957254d92eSHeiko Schocher #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS 1967254d92eSHeiko Schocher #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS 1977254d92eSHeiko Schocher #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED 1987254d92eSHeiko Schocher #define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE 1997254d92eSHeiko Schocher #define CONFIG_ENV_SECT_SIZE (0x010000) 2007254d92eSHeiko Schocher #define CONFIG_ENV_OFFSET (0x0d0000) 2017254d92eSHeiko Schocher #define CONFIG_ENV_OFFSET_REDUND (0x0e0000) 2027254d92eSHeiko Schocher 2037254d92eSHeiko Schocher #define CONFIG_CMD_CACHE 2047254d92eSHeiko Schocher 2057254d92eSHeiko Schocher #define CONFIG_SYS_FSL_USDHC_NUM 2 2067254d92eSHeiko Schocher 2077254d92eSHeiko Schocher /* I2C */ 2087254d92eSHeiko Schocher #define CONFIG_CMD_I2C 2097254d92eSHeiko Schocher #define CONFIG_SYS_I2C 2107254d92eSHeiko Schocher #define CONFIG_SYS_I2C_MXC 2117254d92eSHeiko Schocher #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ 2127254d92eSHeiko Schocher #define CONFIG_SYS_I2C_SPEED 100000 2137254d92eSHeiko Schocher #define CONFIG_SYS_I2C_SLAVE 0x7f 2147254d92eSHeiko Schocher #define CONFIG_SYS_I2C_NOPROBES { {0, 0x00} } 2157254d92eSHeiko Schocher 2167254d92eSHeiko Schocher /* NAND stuff */ 2177254d92eSHeiko Schocher #define CONFIG_CMD_NAND 2187254d92eSHeiko Schocher #define CONFIG_CMD_NAND_TRIMFFS 2197254d92eSHeiko Schocher #define CONFIG_NAND_MXS 2207254d92eSHeiko Schocher #define CONFIG_SYS_MAX_NAND_DEVICE 1 2217254d92eSHeiko Schocher #define CONFIG_SYS_NAND_BASE 0x40000000 2227254d92eSHeiko Schocher #define CONFIG_SYS_NAND_5_ADDR_CYCLE 2237254d92eSHeiko Schocher #define CONFIG_SYS_NAND_ONFI_DETECTION 2247254d92eSHeiko Schocher 2257254d92eSHeiko Schocher /* DMA stuff, needed for GPMI/MXS NAND support */ 2267254d92eSHeiko Schocher #define CONFIG_APBH_DMA 2277254d92eSHeiko Schocher #define CONFIG_APBH_DMA_BURST 2287254d92eSHeiko Schocher #define CONFIG_APBH_DMA_BURST8 2297254d92eSHeiko Schocher 2307254d92eSHeiko Schocher /* RTC */ 2317254d92eSHeiko Schocher #define CONFIG_SYS_I2C_RTC_ADDR 0x68 2327254d92eSHeiko Schocher #define CONFIG_SYS_RTC_BUS_NUM 2 2337254d92eSHeiko Schocher #define CONFIG_RTC_M41T11 2347254d92eSHeiko Schocher #define CONFIG_CMD_DATE 2357254d92eSHeiko Schocher 2367254d92eSHeiko Schocher /* USB Configs */ 2377254d92eSHeiko Schocher #define CONFIG_CMD_USB 2387254d92eSHeiko Schocher #define CONFIG_USB_EHCI 2397254d92eSHeiko Schocher #define CONFIG_USB_EHCI_MX6 2407254d92eSHeiko Schocher #define CONFIG_USB_STORAGE 2417254d92eSHeiko Schocher #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 2427254d92eSHeiko Schocher #define CONFIG_EHCI_HCD_INIT_AFTER_RESET /* For OTG port */ 2437254d92eSHeiko Schocher #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 2447254d92eSHeiko Schocher #define CONFIG_MXC_USB_FLAGS 0 2457254d92eSHeiko Schocher 2467254d92eSHeiko Schocher /* UBI support */ 247*a380ce6eSPeter Robinson #define CONFIG_LZO 2487254d92eSHeiko Schocher #define CONFIG_CMD_MTDPARTS 2497254d92eSHeiko Schocher #define CONFIG_MTD_PARTITIONS 2507254d92eSHeiko Schocher #define CONFIG_MTD_DEVICE 2517254d92eSHeiko Schocher #define CONFIG_RBTREE 2527254d92eSHeiko Schocher #define CONFIG_CMD_UBI 2537254d92eSHeiko Schocher #define CONFIG_CMD_UBIFS 2547254d92eSHeiko Schocher 2557254d92eSHeiko Schocher #define CONFIG_MTD_UBI_FASTMAP 2567254d92eSHeiko Schocher #define CONFIG_MTD_UBI_FASTMAP_AUTOCONVERT 1 2577254d92eSHeiko Schocher 2587254d92eSHeiko Schocher #define CONFIG_HW_WATCHDOG 2597254d92eSHeiko Schocher #define CONFIG_IMX_WATCHDOG 2607254d92eSHeiko Schocher 2617254d92eSHeiko Schocher #define CONFIG_FIT 2627254d92eSHeiko Schocher 2637254d92eSHeiko Schocher /* Framebuffer */ 2647254d92eSHeiko Schocher #define CONFIG_VIDEO 2657254d92eSHeiko Schocher #define CONFIG_VIDEO_IPUV3 2667254d92eSHeiko Schocher /* check this console not needed, after test remove it */ 2677254d92eSHeiko Schocher #define CONFIG_CFB_CONSOLE 2687254d92eSHeiko Schocher #define CONFIG_VGA_AS_SINGLE_DEVICE 2697254d92eSHeiko Schocher #define CONFIG_SYS_CONSOLE_IS_IN_ENV 2707254d92eSHeiko Schocher #define CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE 2717254d92eSHeiko Schocher #define CONFIG_VIDEO_BMP_RLE8 2727254d92eSHeiko Schocher #define CONFIG_SPLASH_SCREEN 2737254d92eSHeiko Schocher #define CONFIG_SPLASH_SCREEN_ALIGN 2747254d92eSHeiko Schocher #define CONFIG_BMP_16BPP 2757254d92eSHeiko Schocher #define CONFIG_VIDEO_LOGO 2767254d92eSHeiko Schocher #define CONFIG_VIDEO_BMP_LOGO 2777254d92eSHeiko Schocher #define CONFIG_IPUV3_CLK 198000000 2787254d92eSHeiko Schocher #define CONFIG_IMX_VIDEO_SKIP 2797254d92eSHeiko Schocher 2807254d92eSHeiko Schocher #define CONFIG_CMD_BMP 2817254d92eSHeiko Schocher 2827254d92eSHeiko Schocher #define CONFIG_PWM_IMX 2837254d92eSHeiko Schocher #define CONFIG_IMX6_PWM_PER_CLK 66000000 2847254d92eSHeiko Schocher 2857254d92eSHeiko Schocher #endif /* __ARISTAINETOS_COMMON_CONFIG_H */ 286