131b1e17fSStefan Agner /* SPDX-License-Identifier: GPL-2.0+ */ 231b1e17fSStefan Agner /* 331b1e17fSStefan Agner * Copyright 2018 Toradex AG 431b1e17fSStefan Agner * 531b1e17fSStefan Agner * Configuration settings for the Colibri iMX6ULL module. 631b1e17fSStefan Agner * 731b1e17fSStefan Agner * based on colibri_imx7.h 831b1e17fSStefan Agner */ 931b1e17fSStefan Agner 1031b1e17fSStefan Agner #ifndef __COLIBRI_IMX6ULL_CONFIG_H 1131b1e17fSStefan Agner #define __COLIBRI_IMX6ULL_CONFIG_H 1231b1e17fSStefan Agner 1331b1e17fSStefan Agner #include "mx6_common.h" 1431b1e17fSStefan Agner #define CONFIG_IOMUX_LPSR 1531b1e17fSStefan Agner 1631b1e17fSStefan Agner #define PHYS_SDRAM_SIZE SZ_512M 1731b1e17fSStefan Agner 1831b1e17fSStefan Agner /* Size of malloc() pool */ 1931b1e17fSStefan Agner #define CONFIG_SYS_MALLOC_LEN (32 * SZ_1M) 2031b1e17fSStefan Agner 2131b1e17fSStefan Agner /* Network */ 2231b1e17fSStefan Agner #define CONFIG_FEC_XCV_TYPE RMII 2331b1e17fSStefan Agner #define CONFIG_ETHPRIME "FEC" 2431b1e17fSStefan Agner #define CONFIG_FEC_MXC_PHYADDR 0 2531b1e17fSStefan Agner 2631b1e17fSStefan Agner #define CONFIG_IP_DEFRAG 2731b1e17fSStefan Agner #define CONFIG_TFTP_BLOCKSIZE 16352 2831b1e17fSStefan Agner #define CONFIG_TFTP_TSIZE 2931b1e17fSStefan Agner 3031b1e17fSStefan Agner /* ENET1 */ 3131b1e17fSStefan Agner #define IMX_FEC_BASE ENET2_BASE_ADDR 3231b1e17fSStefan Agner 3331b1e17fSStefan Agner /* MMC Config*/ 3431b1e17fSStefan Agner #define CONFIG_SYS_FSL_ESDHC_ADDR 0 3531b1e17fSStefan Agner #define CONFIG_SYS_FSL_USDHC_NUM 1 3631b1e17fSStefan Agner 3731b1e17fSStefan Agner #undef CONFIG_BOOTM_PLAN9 3831b1e17fSStefan Agner #undef CONFIG_BOOTM_RTEMS 3931b1e17fSStefan Agner 4031b1e17fSStefan Agner /* I2C configs */ 4131b1e17fSStefan Agner #define CONFIG_SYS_I2C_SPEED 100000 4231b1e17fSStefan Agner 4331b1e17fSStefan Agner #define CONFIG_IPADDR 192.168.10.2 4431b1e17fSStefan Agner #define CONFIG_NETMASK 255.255.255.0 4531b1e17fSStefan Agner #define CONFIG_SERVERIP 192.168.10.1 4631b1e17fSStefan Agner 4731b1e17fSStefan Agner #define FDT_FILE "imx6ull-colibri${variant}-${fdt_board}.dtb" 4831b1e17fSStefan Agner 4931b1e17fSStefan Agner #define MEM_LAYOUT_ENV_SETTINGS \ 5031b1e17fSStefan Agner "bootm_size=0x10000000\0" \ 5131b1e17fSStefan Agner "fdt_addr_r=0x82000000\0" \ 5231b1e17fSStefan Agner "fdt_high=0xffffffff\0" \ 5331b1e17fSStefan Agner "initrd_high=0xffffffff\0" \ 5431b1e17fSStefan Agner "kernel_addr_r=0x81000000\0" \ 5531b1e17fSStefan Agner "pxefile_addr_r=0x87100000\0" \ 5631b1e17fSStefan Agner "ramdisk_addr_r=0x82100000\0" \ 5731b1e17fSStefan Agner "scriptaddr=0x87000000\0" 5831b1e17fSStefan Agner 5931b1e17fSStefan Agner #define NFS_BOOTCMD \ 6031b1e17fSStefan Agner "nfsargs=ip=:::::eth0: root=/dev/nfs\0" \ 6131b1e17fSStefan Agner "nfsboot=run setup; " \ 6231b1e17fSStefan Agner "setenv bootargs ${defargs} ${nfsargs} " \ 6331b1e17fSStefan Agner "${setupargs} ${vidargs}; echo Booting from NFS...;" \ 6431b1e17fSStefan Agner "dhcp ${kernel_addr_r} && " \ 6531b1e17fSStefan Agner "tftp ${fdt_addr_r} " FDT_FILE " && " \ 6631b1e17fSStefan Agner "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \ 6731b1e17fSStefan Agner 6831b1e17fSStefan Agner #define SD_BOOTCMD \ 6931b1e17fSStefan Agner "sdargs=root=/dev/mmcblk0p2 ro rootwait\0" \ 7031b1e17fSStefan Agner "sdboot=run setup; setenv bootargs ${defargs} ${sdargs} " \ 7131b1e17fSStefan Agner "${setupargs} ${vidargs}; echo Booting from MMC/SD card...; " \ 7231b1e17fSStefan Agner "load mmc 0:1 ${kernel_addr_r} ${kernel_file} && " \ 7331b1e17fSStefan Agner "load mmc 0:1 ${fdt_addr_r} " FDT_FILE " && " \ 7431b1e17fSStefan Agner "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \ 7531b1e17fSStefan Agner 7631b1e17fSStefan Agner #define UBI_BOOTCMD \ 7731b1e17fSStefan Agner "ubiargs=ubi.mtd=ubi root=ubi0:rootfs rw rootfstype=ubifs " \ 7831b1e17fSStefan Agner "ubi.fm_autoconvert=1\0" \ 7931b1e17fSStefan Agner "ubiboot=run setup; " \ 8031b1e17fSStefan Agner "setenv bootargs ${defargs} ${ubiargs} " \ 8131b1e17fSStefan Agner "${setupargs} ${vidargs}; echo Booting from NAND...; " \ 8231b1e17fSStefan Agner "ubi part ubi &&" \ 8331b1e17fSStefan Agner "ubi read ${kernel_addr_r} kernel && " \ 8431b1e17fSStefan Agner "ubi read ${fdt_addr_r} dtb && " \ 8531b1e17fSStefan Agner "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \ 8631b1e17fSStefan Agner 8731b1e17fSStefan Agner #define CONFIG_BOOTCOMMAND "run ubiboot; " \ 8831b1e17fSStefan Agner "setenv fdtfile " FDT_FILE " && run distro_bootcmd;" 8931b1e17fSStefan Agner 9031b1e17fSStefan Agner #define BOOT_TARGET_DEVICES(func) \ 9131b1e17fSStefan Agner func(MMC, mmc, 0) \ 9231b1e17fSStefan Agner func(USB, usb, 0) \ 9331b1e17fSStefan Agner func(DHCP, dhcp, na) 9431b1e17fSStefan Agner #include <config_distro_bootcmd.h> 9531b1e17fSStefan Agner 9631b1e17fSStefan Agner #define DFU_ALT_NAND_INFO "imx6ull-bcb part 0,1;u-boot1 part 0,2;u-boot2 part 0,3;u-boot-env part 0,4;ubi partubi 0,5" 9731b1e17fSStefan Agner 9831b1e17fSStefan Agner #define CONFIG_EXTRA_ENV_SETTINGS \ 9931b1e17fSStefan Agner BOOTENV \ 10031b1e17fSStefan Agner MEM_LAYOUT_ENV_SETTINGS \ 10131b1e17fSStefan Agner NFS_BOOTCMD \ 10231b1e17fSStefan Agner SD_BOOTCMD \ 10331b1e17fSStefan Agner UBI_BOOTCMD \ 10431b1e17fSStefan Agner "console=ttymxc0\0" \ 10531b1e17fSStefan Agner "defargs=user_debug=30\0" \ 10631b1e17fSStefan Agner "dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \ 10731b1e17fSStefan Agner "fdt_board=eval-v3\0" \ 10831b1e17fSStefan Agner "fdt_fixup=;\0" \ 10931b1e17fSStefan Agner "ip_dyn=yes\0" \ 11031b1e17fSStefan Agner "kernel_file=zImage\0" \ 111*f0306a14STom Rini "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \ 11231b1e17fSStefan Agner "setethupdate=if env exists ethaddr; then; else setenv ethaddr " \ 11331b1e17fSStefan Agner "00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \ 11431b1e17fSStefan Agner "${board}/flash_eth.img && source ${loadaddr}\0" \ 11531b1e17fSStefan Agner "setsdupdate=mmc rescan && setenv interface mmc && " \ 11631b1e17fSStefan Agner "fatload ${interface} 0:1 ${loadaddr} " \ 11731b1e17fSStefan Agner "${board}/flash_blk.img && source ${loadaddr}\0" \ 11831b1e17fSStefan Agner "setup=setenv setupargs " \ 11931b1e17fSStefan Agner "console=tty1 console=${console}" \ 12031b1e17fSStefan Agner ",${baudrate}n8 ${memargs} consoleblank=0\0" \ 12131b1e17fSStefan Agner "setupdate=run setsdupdate || run setusbupdate || run setethupdate\0" \ 12231b1e17fSStefan Agner "setusbupdate=usb start && setenv interface usb && " \ 12331b1e17fSStefan Agner "fatload ${interface} 0:1 ${loadaddr} " \ 12431b1e17fSStefan Agner "${board}/flash_blk.img && source ${loadaddr}\0" \ 12531b1e17fSStefan Agner "splashpos=m,m\0" \ 12631b1e17fSStefan Agner "videomode=video=ctfb:x:640,y:480,depth:18,pclk:39722,le:48,ri:16,up:33,lo:10,hs:96,vs:2,sync:0,vmode:0\0" \ 12731b1e17fSStefan Agner "vidargs=video=mxsfb:640x480-16@60" 12831b1e17fSStefan Agner 12931b1e17fSStefan Agner #define CONFIG_SYS_MEMTEST_START 0x80000000 13031b1e17fSStefan Agner #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x08000000) 13131b1e17fSStefan Agner 13231b1e17fSStefan Agner #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 13331b1e17fSStefan Agner 13431b1e17fSStefan Agner /* Physical Memory Map */ 13531b1e17fSStefan Agner #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 13631b1e17fSStefan Agner 13731b1e17fSStefan Agner #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 13831b1e17fSStefan Agner #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 13931b1e17fSStefan Agner #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 14031b1e17fSStefan Agner 14131b1e17fSStefan Agner #define CONFIG_SYS_INIT_SP_OFFSET \ 14231b1e17fSStefan Agner (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 14331b1e17fSStefan Agner #define CONFIG_SYS_INIT_SP_ADDR \ 14431b1e17fSStefan Agner (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 14531b1e17fSStefan Agner 14631b1e17fSStefan Agner #if defined(CONFIG_ENV_IS_IN_NAND) 14731b1e17fSStefan Agner #define CONFIG_ENV_SECT_SIZE (128 * 1024) 14831b1e17fSStefan Agner #define CONFIG_ENV_OFFSET (28 * CONFIG_ENV_SECT_SIZE) 14931b1e17fSStefan Agner #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE 15031b1e17fSStefan Agner #endif 15131b1e17fSStefan Agner 15231b1e17fSStefan Agner /* NAND stuff */ 15331b1e17fSStefan Agner #define CONFIG_SYS_MAX_NAND_DEVICE 1 15431b1e17fSStefan Agner /* used to initialize CONFIG_SYS_NAND_BASE_LIST which is unused */ 15531b1e17fSStefan Agner #define CONFIG_SYS_NAND_BASE -1 15631b1e17fSStefan Agner #define CONFIG_SYS_NAND_ONFI_DETECTION 15731b1e17fSStefan Agner #define CONFIG_SYS_NAND_USE_FLASH_BBT 15831b1e17fSStefan Agner 15931b1e17fSStefan Agner /* USB Configs */ 16031b1e17fSStefan Agner #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 16131b1e17fSStefan Agner 16231b1e17fSStefan Agner #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 16331b1e17fSStefan Agner #define CONFIG_MXC_USB_FLAGS 0 16431b1e17fSStefan Agner #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 16531b1e17fSStefan Agner 16631b1e17fSStefan Agner #define CONFIG_IMX_THERMAL 16731b1e17fSStefan Agner 16831b1e17fSStefan Agner #define CONFIG_USBD_HS 16931b1e17fSStefan Agner 17031b1e17fSStefan Agner /* USB Device Firmware Update support */ 17131b1e17fSStefan Agner #define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M 17231b1e17fSStefan Agner #define DFU_DEFAULT_POLL_TIMEOUT 300 17331b1e17fSStefan Agner 17431b1e17fSStefan Agner #ifdef CONFIG_VIDEO 17531b1e17fSStefan Agner #define CONFIG_VIDEO_MXS 17631b1e17fSStefan Agner #define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR 17731b1e17fSStefan Agner #define CONFIG_VIDEO_LOGO 17831b1e17fSStefan Agner #define CONFIG_SPLASH_SCREEN 17931b1e17fSStefan Agner #define CONFIG_SPLASH_SCREEN_ALIGN 18031b1e17fSStefan Agner #define CONFIG_BMP_16BPP 18131b1e17fSStefan Agner #define CONFIG_VIDEO_BMP_RLE8 18231b1e17fSStefan Agner #define CONFIG_VIDEO_BMP_LOGO 18331b1e17fSStefan Agner #endif 18431b1e17fSStefan Agner 18531b1e17fSStefan Agner #endif 186