1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) 2014, Barco (www.barco.com) 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef __PLATINUM_CONFIG_H__ 8*4882a593Smuzhiyun #define __PLATINUM_CONFIG_H__ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun /* SPL */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun /* Location in NAND to read U-Boot from */ 13*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_OFFS (14 * 1024 * 1024) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #include "imx6_spl.h" /* common IMX6 SPL configuration */ 16*4882a593Smuzhiyun #include "mx6_common.h" 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun /* 19*4882a593Smuzhiyun * Hardware configuration 20*4882a593Smuzhiyun */ 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun /* UART config */ 23*4882a593Smuzhiyun #define CONFIG_MXC_UART 24*4882a593Smuzhiyun #define CONFIG_MXC_UART_BASE UART1_BASE 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun /* I2C config */ 27*4882a593Smuzhiyun #define CONFIG_SYS_I2C 28*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC 29*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 30*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 31*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ 32*4882a593Smuzhiyun #define CONFIG_SYS_I2C_SPEED 100000 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun /* MMC config */ 35*4882a593Smuzhiyun #define CONFIG_SYS_FSL_ESDHC_ADDR 0 36*4882a593Smuzhiyun #define CONFIG_SYS_FSL_USDHC_NUM 1 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun /* Ethernet config */ 39*4882a593Smuzhiyun #define CONFIG_FEC_MXC 40*4882a593Smuzhiyun #define CONFIG_MII 41*4882a593Smuzhiyun #define IMX_FEC_BASE ENET_BASE_ADDR 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun /* USB config */ 44*4882a593Smuzhiyun #define CONFIG_MXC_USB_PORT 1 45*4882a593Smuzhiyun #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 46*4882a593Smuzhiyun #define CONFIG_MXC_USB_FLAGS 0 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* Memory config */ 49*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 1 50*4882a593Smuzhiyun #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 51*4882a593Smuzhiyun #ifndef PHYS_SDRAM_SIZE 52*4882a593Smuzhiyun #define PHYS_SDRAM_SIZE (1024 << 20) 53*4882a593Smuzhiyun #endif 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 56*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 57*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - \ 60*4882a593Smuzhiyun GENERATED_GBL_DATA_SIZE) 61*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ 62*4882a593Smuzhiyun CONFIG_SYS_INIT_SP_OFFSET) 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (16 * 1024 * 1024) 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun #ifdef CONFIG_CMD_NAND 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun /* NAND config */ 69*4882a593Smuzhiyun #ifndef CONFIG_SYS_NAND_MAX_CHIPS 70*4882a593Smuzhiyun #define CONFIG_SYS_NAND_MAX_CHIPS 2 71*4882a593Smuzhiyun #endif 72*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE 1 73*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE 0x40000000 74*4882a593Smuzhiyun #define CONFIG_SYS_NAND_5_ADDR_CYCLE 75*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ONFI_DETECTION 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun /* DMA config, needed for GPMI/MXS NAND support */ 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun /* Environment in NAND */ 80*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET (16 << 20) 81*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE (128 << 10) 82*4882a593Smuzhiyun #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE 83*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + (512 << 10)) 84*4882a593Smuzhiyun #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun #else /* CONFIG_CMD_NAND */ 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun /* Environment in MMC */ 89*4882a593Smuzhiyun #define CONFIG_ENV_SIZE (8 << 10) 90*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET (6 * 64 * 1024) 91*4882a593Smuzhiyun #define CONFIG_SYS_MMC_ENV_DEV 0 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun #endif /* CONFIG_CMD_NAND */ 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun /* 96*4882a593Smuzhiyun * U-Boot configuration 97*4882a593Smuzhiyun */ 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun /* Board startup config */ 100*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM 103*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + \ 104*4882a593Smuzhiyun PHYS_SDRAM_SIZE - (12 << 20)) 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "run bootubi_scr" 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun /* Miscellaneous configurable options */ 109*4882a593Smuzhiyun #define CONFIG_PREBOOT 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun /* MTD/UBI/UBIFS config */ 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun #if (CONFIG_SYS_NAND_MAX_CHIPS == 1) 114*4882a593Smuzhiyun #define MTDIDS_DEFAULT "nand0=gpmi-nand" 115*4882a593Smuzhiyun #define MTDPARTS_DEFAULT "mtdparts=gpmi-nand:14M(spl),2M(uboot)," \ 116*4882a593Smuzhiyun "512k(env1),512k(env2),-(ubi)" 117*4882a593Smuzhiyun #elif (CONFIG_SYS_NAND_MAX_CHIPS == 2) 118*4882a593Smuzhiyun #define MTDIDS_DEFAULT "nand0=gpmi-nand" 119*4882a593Smuzhiyun #define MTDPARTS_DEFAULT "mtdparts=gpmi-nand:14M(spl),2M(uboot)," \ 120*4882a593Smuzhiyun "512k(env1),512k(env2),495M(ubi0)," \ 121*4882a593Smuzhiyun "14M(res0),2M(res1)," \ 122*4882a593Smuzhiyun "512k(res2),512k(res3),-(ubi1)" 123*4882a593Smuzhiyun #endif 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun /* 126*4882a593Smuzhiyun * Environment configuration 127*4882a593Smuzhiyun */ 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun #if (CONFIG_SYS_NAND_MAX_CHIPS == 1) 130*4882a593Smuzhiyun #define CONFIG_COMMON_ENV_UBI \ 131*4882a593Smuzhiyun "setubipartition=env set ubipartition ubi\0" \ 132*4882a593Smuzhiyun "setubirfs=env set ubirfs $ubipartition:rootfs$boot_vol\0" 133*4882a593Smuzhiyun #elif (CONFIG_SYS_NAND_MAX_CHIPS == 2) 134*4882a593Smuzhiyun #define CONFIG_COMMON_ENV_UBI \ 135*4882a593Smuzhiyun "setubipartition=env set ubipartition ubi$boot_vol\0" \ 136*4882a593Smuzhiyun "setubirfs=env set ubirfs ubi0:rootfs\0" 137*4882a593Smuzhiyun #endif 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun #define CONFIG_COMMON_ENV_MISC \ 140*4882a593Smuzhiyun "user=user\0" \ 141*4882a593Smuzhiyun "project="CONFIG_PLATINUM_PROJECT"\0" \ 142*4882a593Smuzhiyun "uimage=uImage\0" \ 143*4882a593Smuzhiyun "dtb="CONFIG_PLATINUM_CPU"-platinum-"CONFIG_PLATINUM_PROJECT".dtb\0" \ 144*4882a593Smuzhiyun "serverip=serverip\0" \ 145*4882a593Smuzhiyun "memaddrlinux=0x10800000\0" \ 146*4882a593Smuzhiyun "memaddrsrc=0x11000000\0" \ 147*4882a593Smuzhiyun "memaddrdtb=0x12000000\0" \ 148*4882a593Smuzhiyun "console=ttymxc0\0" \ 149*4882a593Smuzhiyun "baudrate=115200\0" \ 150*4882a593Smuzhiyun "boot_scr=boot.uboot\0" \ 151*4882a593Smuzhiyun "boot_vol=0\0" \ 152*4882a593Smuzhiyun "mtdids="MTDIDS_DEFAULT"\0" \ 153*4882a593Smuzhiyun "mtdparts="MTDPARTS_DEFAULT"\0" \ 154*4882a593Smuzhiyun "mmcfs=ext2\0" \ 155*4882a593Smuzhiyun "mmcrootpart=1\0" \ 156*4882a593Smuzhiyun \ 157*4882a593Smuzhiyun "setnfspath=env set nfspath /home/nfs/$user/$project/root\0" \ 158*4882a593Smuzhiyun "settftpfilelinux=env set tftpfilelinux $user/$project/$uimage\0" \ 159*4882a593Smuzhiyun "settftpfiledtb=env set tftpfiledtb $user/$project/$dtb\0" \ 160*4882a593Smuzhiyun "setubifilelinux=env set ubifilelinux boot/$uimage\0" \ 161*4882a593Smuzhiyun "setubipfiledtb=env set ubifiledtb boot/$dtb\0" \ 162*4882a593Smuzhiyun "setmmcrootdev=env set mmcrootdev /dev/mmcblk0p$mmcrootpart\0" \ 163*4882a593Smuzhiyun "setmmcfilelinux=env set mmcfilelinux /boot/$uimage\0" \ 164*4882a593Smuzhiyun "setmmcfiledtb=env set mmcfiledtb /boot/$dtb\0" \ 165*4882a593Smuzhiyun \ 166*4882a593Smuzhiyun "loadtftpkernel=dhcp $memaddrlinux $tftpfilelinux\0" \ 167*4882a593Smuzhiyun "loadtftpdtb=dhcp $memaddrdtb $tftpfiledtb\0" \ 168*4882a593Smuzhiyun "loadubikernel=ubifsload $memaddrlinux $ubifilelinux\0" \ 169*4882a593Smuzhiyun "loadubidtb=ubifsload $memaddrdtb $ubifiledtb\0" \ 170*4882a593Smuzhiyun "loadmmckernel=${mmcfs}load mmc 0:$mmcrootpart $memaddrlinux " \ 171*4882a593Smuzhiyun "$mmcfilelinux\0" \ 172*4882a593Smuzhiyun "loadmmcdtb=${mmcfs}load mmc 0:$mmcrootpart $memaddrdtb " \ 173*4882a593Smuzhiyun "$mmcfiledtb\0" \ 174*4882a593Smuzhiyun \ 175*4882a593Smuzhiyun "ubipart=ubi part $ubipartition\0" \ 176*4882a593Smuzhiyun "ubimount=ubifsmount $ubirfs\0" \ 177*4882a593Smuzhiyun \ 178*4882a593Smuzhiyun "setbootargscommon=env set bootargs $bootargs " \ 179*4882a593Smuzhiyun "console=$console,$baudrate enable_wait_mode=off\0" \ 180*4882a593Smuzhiyun "setbootargsmtd=env set bootargs $bootargs $mtdparts\0" \ 181*4882a593Smuzhiyun "setbootargsdhcp=env set bootargs $bootargs ip=dhcp\0" \ 182*4882a593Smuzhiyun "setbootargsubirfs=env set bootargs $bootargs " \ 183*4882a593Smuzhiyun "ubi.mtd=$ubipartition root=$ubirfs rootfstype=ubifs\0" \ 184*4882a593Smuzhiyun "setbootargsnfsrfs=env set bootargs $bootargs root=/dev/nfs " \ 185*4882a593Smuzhiyun "nfsroot=$serverip:$nfspath,v3,tcp\0" \ 186*4882a593Smuzhiyun "setbootargsmmcrfs=env set bootargs $bootargs " \ 187*4882a593Smuzhiyun "root=$mmcrootdev rootwait rw\0" \ 188*4882a593Smuzhiyun \ 189*4882a593Smuzhiyun "bootnet=run settftpfilelinux settftpfiledtb setnfspath " \ 190*4882a593Smuzhiyun "setbootargscommon setbootargsmtd setbootargsdhcp " \ 191*4882a593Smuzhiyun "setbootargsnfsrfs;" \ 192*4882a593Smuzhiyun "run loadtftpkernel loadtftpdtb;" \ 193*4882a593Smuzhiyun "bootm $memaddrlinux - $memaddrdtb\0" \ 194*4882a593Smuzhiyun "bootnet_ubirfs=run settftpfilelinux settftpfiledtb;" \ 195*4882a593Smuzhiyun "run setubipartition setubirfs;" \ 196*4882a593Smuzhiyun "run setbootargscommon setbootargsmtd " \ 197*4882a593Smuzhiyun "setbootargsubirfs;" \ 198*4882a593Smuzhiyun "run loadtftpkernel loadtftpdtb;" \ 199*4882a593Smuzhiyun "bootm $memaddrlinux - $memaddrdtb\0" \ 200*4882a593Smuzhiyun "bootubi=run setubipartition setubirfs setubifilelinux " \ 201*4882a593Smuzhiyun "setubipfiledtb;" \ 202*4882a593Smuzhiyun "run setbootargscommon setbootargsmtd " \ 203*4882a593Smuzhiyun "setbootargsubirfs;" \ 204*4882a593Smuzhiyun "run ubipart ubimount loadubikernel loadubidtb;" \ 205*4882a593Smuzhiyun "bootm $memaddrlinux - $memaddrdtb\0" \ 206*4882a593Smuzhiyun "bootubi_scr=run setubipartition setubirfs;" \ 207*4882a593Smuzhiyun "run ubipart ubimount;" \ 208*4882a593Smuzhiyun "if ubifsload ${memaddrsrc} boot/${boot_scr}; " \ 209*4882a593Smuzhiyun "then source ${memaddrsrc}; else run bootubi; fi\0" \ 210*4882a593Smuzhiyun "bootmmc=run setmmcrootdev setmmcfilelinux setmmcfiledtb " \ 211*4882a593Smuzhiyun "setbootargscommon setbootargsmmcrfs;" \ 212*4882a593Smuzhiyun "run loadmmckernel loadmmcdtb;" \ 213*4882a593Smuzhiyun "bootm $memaddrlinux - $memaddrdtb\0" \ 214*4882a593Smuzhiyun \ 215*4882a593Smuzhiyun "bootcmd="CONFIG_BOOTCOMMAND"\0" 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun #define CONFIG_COMMON_ENV_SETTINGS CONFIG_COMMON_ENV_MISC \ 218*4882a593Smuzhiyun CONFIG_COMMON_ENV_UBI 219*4882a593Smuzhiyun #endif /* __PLATINUM_CONFIG_H__ */ 220