1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) Stefano Babic <sbabic@denx.de> 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef __PCM058_CONFIG_H 9*4882a593Smuzhiyun #define __PCM058_CONFIG_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include <config_distro_defaults.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #ifdef CONFIG_SPL 14*4882a593Smuzhiyun #define CONFIG_SPL_SPI_LOAD 15*4882a593Smuzhiyun #define CONFIG_SYS_SPI_U_BOOT_OFFS (64 * 1024) 16*4882a593Smuzhiyun #include "imx6_spl.h" 17*4882a593Smuzhiyun #endif 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #include "mx6_common.h" 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun /* Thermal */ 22*4882a593Smuzhiyun #define CONFIG_IMX_THERMAL 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun /* Serial */ 25*4882a593Smuzhiyun #define CONFIG_MXC_UART 26*4882a593Smuzhiyun #define CONFIG_MXC_UART_BASE UART4_BASE 27*4882a593Smuzhiyun #define CONSOLE_DEV "ttymxc3" 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun /* Early setup */ 30*4882a593Smuzhiyun #define CONFIG_DISPLAY_BOARDINFO_LATE 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun /* Size of malloc() pool */ 34*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (8 * SZ_1M) 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun /* Ethernet */ 37*4882a593Smuzhiyun #define CONFIG_MII 38*4882a593Smuzhiyun #define IMX_FEC_BASE ENET_BASE_ADDR 39*4882a593Smuzhiyun #define CONFIG_FEC_XCV_TYPE RGMII 40*4882a593Smuzhiyun #define CONFIG_ETHPRIME "FEC" 41*4882a593Smuzhiyun #define CONFIG_FEC_MXC_PHYADDR 3 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun /* SPI Flash */ 44*4882a593Smuzhiyun #define CONFIG_MXC_SPI 45*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_BUS 2 46*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_CS 0 47*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_SPEED 20000000 48*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun /* I2C Configs */ 51*4882a593Smuzhiyun #define CONFIG_SYS_I2C 52*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC 53*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 0 */ 54*4882a593Smuzhiyun #define CONFIG_SYS_I2C_SPEED 100000 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun #ifndef CONFIG_SPL_BUILD 57*4882a593Smuzhiyun #define CONFIG_CMD_NAND 58*4882a593Smuzhiyun /* Enable NAND support */ 59*4882a593Smuzhiyun #define CONFIG_CMD_NAND_TRIMFFS 60*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE 1 61*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE 0x40000000 62*4882a593Smuzhiyun #define CONFIG_SYS_NAND_5_ADDR_CYCLE 63*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ONFI_DETECTION 64*4882a593Smuzhiyun #endif 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun /* DMA stuff, needed for GPMI/MXS NAND support */ 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun /* Filesystem support */ 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun /* Various command support */ 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun /* Physical Memory Map */ 73*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 1 74*4882a593Smuzhiyun #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 77*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 78*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET \ 81*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 82*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR \ 83*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun /* MMC Configs */ 86*4882a593Smuzhiyun #define CONFIG_SYS_FSL_ESDHC_ADDR 0 87*4882a593Smuzhiyun #define CONFIG_SYS_FSL_USDHC_NUM 2 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun /* Environment organization */ 90*4882a593Smuzhiyun #define CONFIG_ENV_IS_IN_SPI_FLASH 91*4882a593Smuzhiyun #define CONFIG_ENV_SIZE (16 * 1024) 92*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET (1024 * SZ_1K) 93*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE (64 * SZ_1K) 94*4882a593Smuzhiyun #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS 95*4882a593Smuzhiyun #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS 96*4882a593Smuzhiyun #define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE 97*4882a593Smuzhiyun #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED 98*4882a593Smuzhiyun #define CONFIG_SYS_REDUNDAND_ENVIRONMENT 99*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + \ 100*4882a593Smuzhiyun CONFIG_ENV_SECT_SIZE) 101*4882a593Smuzhiyun #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun #ifdef CONFIG_ENV_IS_IN_NAND 104*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET (0x1E0000) 105*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE (128 * SZ_1K) 106*4882a593Smuzhiyun #endif 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun /* Default environment */ 109*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 110*4882a593Smuzhiyun "addcons=setenv bootargs ${bootargs} " \ 111*4882a593Smuzhiyun "console=${console},${baudrate}\0" \ 112*4882a593Smuzhiyun "addip=setenv bootargs ${bootargs} " \ 113*4882a593Smuzhiyun "ip=${ipaddr}:${serverip}:${gatewayip}:" \ 114*4882a593Smuzhiyun "${netmask}:${hostname}:${netdev}:off\0" \ 115*4882a593Smuzhiyun "addmisc=setenv bootargs ${bootargs} ${miscargs}\0" \ 116*4882a593Smuzhiyun "addmtd=run mtdnand;run mtdspi;" \ 117*4882a593Smuzhiyun "setenv bootargs ${bootargs} ${mtdparts}\0" \ 118*4882a593Smuzhiyun "mtdnand=setenv mtdparts mtdparts=gpmi-nand:" \ 119*4882a593Smuzhiyun "40m(Kernels),400m(root),-(nand)\0" \ 120*4882a593Smuzhiyun "mtdspi=setenv mtdparts ${mtdparts}" \ 121*4882a593Smuzhiyun "';spi2.0:1024k(bootloader)," \ 122*4882a593Smuzhiyun "64k(env1),64k(env2),-(rescue)'\0" \ 123*4882a593Smuzhiyun "bootcmd=if test -n ${rescue};" \ 124*4882a593Smuzhiyun "then run swupdate;fi;run nandboot;run swupdate\0" \ 125*4882a593Smuzhiyun "bootfile=uImage\0" \ 126*4882a593Smuzhiyun "bootimage=uImage\0" \ 127*4882a593Smuzhiyun "console=ttymxc3\0" \ 128*4882a593Smuzhiyun "fdt_addr_r=0x18000000\0" \ 129*4882a593Smuzhiyun "fdt_file=pfla02.dtb\0" \ 130*4882a593Smuzhiyun "fdt_high=0xffffffff\0" \ 131*4882a593Smuzhiyun "initrd_high=0xffffffff\0" \ 132*4882a593Smuzhiyun "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ 133*4882a593Smuzhiyun "miscargs=panic=1 quiet\0" \ 134*4882a593Smuzhiyun "mmcargs=setenv bootargs root=${mmcroot} rw rootwait\0" \ 135*4882a593Smuzhiyun "mmcboot=if run mmcload;then " \ 136*4882a593Smuzhiyun "run mmcargs addcons addmisc;" \ 137*4882a593Smuzhiyun "bootm;fi\0" \ 138*4882a593Smuzhiyun "mmcload=mmc rescan;" \ 139*4882a593Smuzhiyun "load mmc 0:${mmcpart} ${kernel_addr_r} boot/fitImage\0"\ 140*4882a593Smuzhiyun "mmcpart=1\0" \ 141*4882a593Smuzhiyun "mmcroot=/dev/mmcblk0p1\0" \ 142*4882a593Smuzhiyun "ubiroot=1\0" \ 143*4882a593Smuzhiyun "nandargs=setenv bootargs ubi.mtd=1 " \ 144*4882a593Smuzhiyun "root=ubi0:rootfs${ubiroot} rootfstype=ubifs\0" \ 145*4882a593Smuzhiyun "nandboot=run mtdnand;ubi part nand0,0;" \ 146*4882a593Smuzhiyun "ubi readvol ${kernel_addr_r} kernel${ubiroot};" \ 147*4882a593Smuzhiyun "run nandargs addip addcons addmtd addmisc;" \ 148*4882a593Smuzhiyun "bootm ${kernel_addr_r}\0" \ 149*4882a593Smuzhiyun "net_nfs=tftp ${kernel_addr_r} ${board_name}/${bootfile};" \ 150*4882a593Smuzhiyun "tftp ${fdt_addr_r} ${board_name}/${fdt_file};" \ 151*4882a593Smuzhiyun "run nfsargs addip addcons addmtd addmisc;" \ 152*4882a593Smuzhiyun "bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \ 153*4882a593Smuzhiyun "net_nfs_fit=tftp ${kernel_addr_r} ${board_name}/${fitfile};" \ 154*4882a593Smuzhiyun "run nfsargs addip addcons addmtd addmisc;" \ 155*4882a593Smuzhiyun "bootm ${kernel_addr_r}\0" \ 156*4882a593Smuzhiyun "nfsargs=setenv bootargs root=/dev/nfs" \ 157*4882a593Smuzhiyun " nfsroot=${serverip}:${nfsroot},v3 panic=1\0" \ 158*4882a593Smuzhiyun "swupdate=setenv bootargs root=/dev/ram;" \ 159*4882a593Smuzhiyun "run addip addcons addmtd addmisc;" \ 160*4882a593Smuzhiyun "sf probe;" \ 161*4882a593Smuzhiyun "sf read ${kernel_addr_r} 120000 600000;" \ 162*4882a593Smuzhiyun "sf read 14000000 730000 800000;" \ 163*4882a593Smuzhiyun "bootm ${kernel_addr_r} 14000000\0" 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun #endif 166