1*11bd5e7bSLukasz Majewski /* 2*11bd5e7bSLukasz Majewski * Copyright (C) 2016-2017 3*11bd5e7bSLukasz Majewski * Lukasz Majewski, DENX Software Engineering, lukma@denx.de 4*11bd5e7bSLukasz Majewski * 5*11bd5e7bSLukasz Majewski * SPDX-License-Identifier: GPL-2.0+ 6*11bd5e7bSLukasz Majewski */ 7*11bd5e7bSLukasz Majewski 8*11bd5e7bSLukasz Majewski #ifndef __CONFIG_H 9*11bd5e7bSLukasz Majewski #define __CONFIG_H 10*11bd5e7bSLukasz Majewski 11*11bd5e7bSLukasz Majewski #include <config_distro_defaults.h> 12*11bd5e7bSLukasz Majewski #include "mx6_common.h" 13*11bd5e7bSLukasz Majewski 14*11bd5e7bSLukasz Majewski #define CONFIG_SPL_LIBCOMMON_SUPPORT 15*11bd5e7bSLukasz Majewski #include "imx6_spl.h" 16*11bd5e7bSLukasz Majewski 17*11bd5e7bSLukasz Majewski #define CONFIG_SPL_BOARD_INIT 18*11bd5e7bSLukasz Majewski #define CONFIG_SYS_UBOOT_START CONFIG_SYS_TEXT_BASE 19*11bd5e7bSLukasz Majewski #define CONFIG_SYS_UBOOT_BASE (CONFIG_SYS_FLASH_BASE + 0x80000) 20*11bd5e7bSLukasz Majewski #define CONFIG_SPL_OS_BOOT 21*11bd5e7bSLukasz Majewski #define CONFIG_SYS_OS_BASE (CONFIG_SYS_FLASH_BASE + 0x180000) 22*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FDT_BASE (CONFIG_SYS_FLASH_BASE + 0x1980000) 23*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FDT_SIZE (48 * SZ_1K) 24*11bd5e7bSLukasz Majewski #define CONFIG_SYS_SPL_ARGS_ADDR 0x18000000 25*11bd5e7bSLukasz Majewski 26*11bd5e7bSLukasz Majewski /* 27*11bd5e7bSLukasz Majewski * Below defines are set but NOT really used since we by 28*11bd5e7bSLukasz Majewski * design force U-Boot run when we boot in development 29*11bd5e7bSLukasz Majewski * mode from SD card (SD2) 30*11bd5e7bSLukasz Majewski */ 31*11bd5e7bSLukasz Majewski #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR (0x800) 32*11bd5e7bSLukasz Majewski #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS (0x80) 33*11bd5e7bSLukasz Majewski #define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR (0x1000) 34*11bd5e7bSLukasz Majewski #define CONFIG_SPL_FS_LOAD_KERNEL_NAME "uImage" 35*11bd5e7bSLukasz Majewski #define CONFIG_SPL_FS_LOAD_ARGS_NAME "imx6q-mccmon.dtb" 36*11bd5e7bSLukasz Majewski 37*11bd5e7bSLukasz Majewski /* Size of malloc() pool */ 38*11bd5e7bSLukasz Majewski #define CONFIG_SYS_MALLOC_LEN (10 * SZ_1M) 39*11bd5e7bSLukasz Majewski 40*11bd5e7bSLukasz Majewski #define CONFIG_BOARD_EARLY_INIT_F 41*11bd5e7bSLukasz Majewski #define CONFIG_BOARD_LATE_INIT 42*11bd5e7bSLukasz Majewski 43*11bd5e7bSLukasz Majewski #define CONFIG_MXC_UART 44*11bd5e7bSLukasz Majewski #define CONFIG_MXC_UART_BASE UART1_BASE 45*11bd5e7bSLukasz Majewski 46*11bd5e7bSLukasz Majewski #define CONFIG_SYS_MEMTEST_START 0x10000000 47*11bd5e7bSLukasz Majewski #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 500 * SZ_1M) 48*11bd5e7bSLukasz Majewski 49*11bd5e7bSLukasz Majewski #define CONFIG_MXC_SPI 50*11bd5e7bSLukasz Majewski #define CONFIG_SF_DEFAULT_BUS 2 51*11bd5e7bSLukasz Majewski #define CONFIG_SF_DEFAULT_CS 0 52*11bd5e7bSLukasz Majewski #define CONFIG_SF_DEFAULT_SPEED 25000000 53*11bd5e7bSLukasz Majewski #define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0) 54*11bd5e7bSLukasz Majewski 55*11bd5e7bSLukasz Majewski /* I2C Configs */ 56*11bd5e7bSLukasz Majewski #define CONFIG_SYS_I2C 57*11bd5e7bSLukasz Majewski #define CONFIG_SYS_I2C_MXC 58*11bd5e7bSLukasz Majewski #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 59*11bd5e7bSLukasz Majewski #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 60*11bd5e7bSLukasz Majewski #define CONFIG_SYS_I2C_SPEED 100000 61*11bd5e7bSLukasz Majewski 62*11bd5e7bSLukasz Majewski /* MMC Configuration */ 63*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FSL_USDHC_NUM 2 64*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FSL_ESDHC_ADDR 0 65*11bd5e7bSLukasz Majewski 66*11bd5e7bSLukasz Majewski #undef CONFIG_SYS_NO_FLASH 67*11bd5e7bSLukasz Majewski /* NOR 16-bit mode */ 68*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FLASH_BASE WEIM_ARB_BASE_ADDR 69*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FLASH_PROTECTION 70*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 71*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FLASH_CFI /* Flash memory is CFI compliant */ 72*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE /* Use buffered writes*/ 73*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FLASH_EMPTY_INFO 74*11bd5e7bSLukasz Majewski #define CONFIG_FLASH_CFI_DRIVER /* Use drivers/cfi_flash.c */ 75*11bd5e7bSLukasz Majewski #define CONFIG_FLASH_VERIFY 76*11bd5e7bSLukasz Majewski 77*11bd5e7bSLukasz Majewski /* NOR Flash MTD */ 78*11bd5e7bSLukasz Majewski #define CONFIG_FLASH_CFI_DRIVER 79*11bd5e7bSLukasz Majewski #define CONFIG_FLASH_CFI_MTD 80*11bd5e7bSLukasz Majewski #define CONFIG_SYS_MAX_FLASH_BANKS_DETECT 1 81*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FLASH_BANKS_LIST { (CONFIG_SYS_FLASH_BASE) } 82*11bd5e7bSLukasz Majewski #define CONFIG_SYS_FLASH_BANKS_SIZES { (32 * SZ_1M) } 83*11bd5e7bSLukasz Majewski 84*11bd5e7bSLukasz Majewski /* MTD support */ 85*11bd5e7bSLukasz Majewski #define CONFIG_CMD_MTDPARTS 86*11bd5e7bSLukasz Majewski #define CONFIG_MTD_DEVICE 87*11bd5e7bSLukasz Majewski #define CONFIG_MTD_PARTITIONS 88*11bd5e7bSLukasz Majewski 89*11bd5e7bSLukasz Majewski #define MTDIDS_DEFAULT "nor0=8000000.nor" 90*11bd5e7bSLukasz Majewski #define MTDPARTS_DEFAULT \ 91*11bd5e7bSLukasz Majewski "mtdparts=8000000.nor:" \ 92*11bd5e7bSLukasz Majewski "32m@0x0(mccmon6-image.nor)," \ 93*11bd5e7bSLukasz Majewski "256k@0x40000(u-boot-env.nor)," \ 94*11bd5e7bSLukasz Majewski "1m@0x80000(u-boot.nor)," \ 95*11bd5e7bSLukasz Majewski "8m@0x180000(kernel.nor)," \ 96*11bd5e7bSLukasz Majewski "8m@0x980000(swupdate-kernel.nor)," \ 97*11bd5e7bSLukasz Majewski "8m@0x1180000(swupdate-rootfs.nor)," \ 98*11bd5e7bSLukasz Majewski "128k@0x1980000(kernel-dtb.nor)," \ 99*11bd5e7bSLukasz Majewski "128k@0x19C0000(swupdate-kernel-dtb.nor)" 100*11bd5e7bSLukasz Majewski 101*11bd5e7bSLukasz Majewski /* USB Configs */ 102*11bd5e7bSLukasz Majewski #define CONFIG_USB_EHCI 103*11bd5e7bSLukasz Majewski #define CONFIG_USB_EHCI_MX6 104*11bd5e7bSLukasz Majewski #define CONFIG_USB_STORAGE 105*11bd5e7bSLukasz Majewski #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 106*11bd5e7bSLukasz Majewski #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 107*11bd5e7bSLukasz Majewski #define CONFIG_MXC_USB_FLAGS 0 108*11bd5e7bSLukasz Majewski 109*11bd5e7bSLukasz Majewski /* Ethernet Configuration */ 110*11bd5e7bSLukasz Majewski #define CONFIG_FEC_MXC 111*11bd5e7bSLukasz Majewski #define CONFIG_MII 112*11bd5e7bSLukasz Majewski #define IMX_FEC_BASE ENET_BASE_ADDR 113*11bd5e7bSLukasz Majewski #define CONFIG_FEC_XCV_TYPE RGMII 114*11bd5e7bSLukasz Majewski #define CONFIG_ETHPRIME "FEC" 115*11bd5e7bSLukasz Majewski #define CONFIG_FEC_MXC_PHYADDR 1 116*11bd5e7bSLukasz Majewski #define CONFIG_PHYLIB 117*11bd5e7bSLukasz Majewski #define CONFIG_PHY_MICREL 118*11bd5e7bSLukasz Majewski #define CONFIG_PHY_MICREL_KSZ9031 119*11bd5e7bSLukasz Majewski 120*11bd5e7bSLukasz Majewski #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 121*11bd5e7bSLukasz Majewski #define CONFIG_EXTRA_ENV_SETTINGS \ 122*11bd5e7bSLukasz Majewski "console=ttymxc0,115200\0" \ 123*11bd5e7bSLukasz Majewski "fdtfile=imx6q-mccmon6.dtb\0" \ 124*11bd5e7bSLukasz Majewski "fdt_high=0xffffffff\0" \ 125*11bd5e7bSLukasz Majewski "initrd_high=0xffffffff\0" \ 126*11bd5e7bSLukasz Majewski "boot_os=yes\0" \ 127*11bd5e7bSLukasz Majewski "download_kernel=" \ 128*11bd5e7bSLukasz Majewski "tftpboot ${kernel_addr} ${kernel_file};" \ 129*11bd5e7bSLukasz Majewski "tftpboot ${fdt_addr} ${fdtfile};\0" \ 130*11bd5e7bSLukasz Majewski "get_boot_medium=" \ 131*11bd5e7bSLukasz Majewski "setenv boot_medium nor;" \ 132*11bd5e7bSLukasz Majewski "setexpr.l _src_sbmr1 *0x020d8004;" \ 133*11bd5e7bSLukasz Majewski "setexpr _b_medium ${_src_sbmr1} '&' 0x00000040;" \ 134*11bd5e7bSLukasz Majewski "if test ${_b_medium} = 40; then " \ 135*11bd5e7bSLukasz Majewski "setenv boot_medium sdcard;" \ 136*11bd5e7bSLukasz Majewski "fi\0" \ 137*11bd5e7bSLukasz Majewski "kernel_file=uImage\0" \ 138*11bd5e7bSLukasz Majewski "load_kernel=" \ 139*11bd5e7bSLukasz Majewski "load mmc ${bootdev}:${bootpart} ${kernel_addr} uImage;" \ 140*11bd5e7bSLukasz Majewski "load mmc ${bootdev}:${bootpart} ${fdt_addr} ${fdtfile};\0" \ 141*11bd5e7bSLukasz Majewski "boot_sd=" \ 142*11bd5e7bSLukasz Majewski "echo '#######################';" \ 143*11bd5e7bSLukasz Majewski "echo '# Factory SDcard Boot #';" \ 144*11bd5e7bSLukasz Majewski "echo '#######################';" \ 145*11bd5e7bSLukasz Majewski "setenv mmcdev 1;" \ 146*11bd5e7bSLukasz Majewski "setenv mmcfactorydev 0;" \ 147*11bd5e7bSLukasz Majewski "setenv mmcfactorypart 1;" \ 148*11bd5e7bSLukasz Majewski "run factory_flash_img;\0" \ 149*11bd5e7bSLukasz Majewski "boot_nor=" \ 150*11bd5e7bSLukasz Majewski "setenv kernelnor 0x08180000;" \ 151*11bd5e7bSLukasz Majewski "setenv dtbnor 0x09980000;" \ 152*11bd5e7bSLukasz Majewski "setenv bootargs console=${console} quiet " \ 153*11bd5e7bSLukasz Majewski ""MTDPARTS_DEFAULT" " \ 154*11bd5e7bSLukasz Majewski "root=/dev/mmcblk1 rootfstype=ext4 rw rootwait noinitrd;" \ 155*11bd5e7bSLukasz Majewski "cp.l ${dtbnor} ${dtbloadaddr} 0x8000;" \ 156*11bd5e7bSLukasz Majewski "bootm ${kernelnor} - ${dtbloadaddr};\0" \ 157*11bd5e7bSLukasz Majewski "boot_recovery=" \ 158*11bd5e7bSLukasz Majewski "echo '#######################';" \ 159*11bd5e7bSLukasz Majewski "echo '# RECOVERY SWU Boot #';" \ 160*11bd5e7bSLukasz Majewski "echo '#######################';" \ 161*11bd5e7bSLukasz Majewski "setenv rootfsloadaddr 0x13000000;" \ 162*11bd5e7bSLukasz Majewski "setenv swukernelnor 0x08980000;" \ 163*11bd5e7bSLukasz Majewski "setenv swurootfsnor 0x09180000;" \ 164*11bd5e7bSLukasz Majewski "setenv swudtbnor 0x099A0000;" \ 165*11bd5e7bSLukasz Majewski "setenv bootargs console=${console} " \ 166*11bd5e7bSLukasz Majewski ""MTDPARTS_DEFAULT" " \ 167*11bd5e7bSLukasz Majewski "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ 168*11bd5e7bSLukasz Majewski ":${hostname}::off root=/dev/ram rw;" \ 169*11bd5e7bSLukasz Majewski "cp.l ${swurootfsnor} ${rootfsloadaddr} 0x200000;" \ 170*11bd5e7bSLukasz Majewski "cp.l ${swudtbnor} ${dtbloadaddr} 0x8000;" \ 171*11bd5e7bSLukasz Majewski "bootm ${swukernelnor} ${rootfsloadaddr} ${dtbloadaddr};\0" \ 172*11bd5e7bSLukasz Majewski "boot_tftp=" \ 173*11bd5e7bSLukasz Majewski "echo '#######################';" \ 174*11bd5e7bSLukasz Majewski "echo '# TFTP Boot #';" \ 175*11bd5e7bSLukasz Majewski "echo '#######################';" \ 176*11bd5e7bSLukasz Majewski "if run download_kernel; then " \ 177*11bd5e7bSLukasz Majewski "setenv bootargs console=${console} " \ 178*11bd5e7bSLukasz Majewski "root=/dev/mmcblk0p2 rootwait;" \ 179*11bd5e7bSLukasz Majewski "bootm ${kernel_addr} - ${fdt_addr};" \ 180*11bd5e7bSLukasz Majewski "fi\0" \ 181*11bd5e7bSLukasz Majewski "bootcmd=" \ 182*11bd5e7bSLukasz Majewski "if test -n ${recovery_status}; then " \ 183*11bd5e7bSLukasz Majewski "run boot_recovery;" \ 184*11bd5e7bSLukasz Majewski "else " \ 185*11bd5e7bSLukasz Majewski "if test ! -n ${boot_medium}; then " \ 186*11bd5e7bSLukasz Majewski "run get_boot_medium;" \ 187*11bd5e7bSLukasz Majewski "if test ${boot_medium} = sdcard; then " \ 188*11bd5e7bSLukasz Majewski "run boot_sd;" \ 189*11bd5e7bSLukasz Majewski "else " \ 190*11bd5e7bSLukasz Majewski "run boot_nor;" \ 191*11bd5e7bSLukasz Majewski "fi;" \ 192*11bd5e7bSLukasz Majewski "else " \ 193*11bd5e7bSLukasz Majewski "if test ${boot_medium} = tftp; then " \ 194*11bd5e7bSLukasz Majewski "run boot_tftp;" \ 195*11bd5e7bSLukasz Majewski "fi;" \ 196*11bd5e7bSLukasz Majewski "fi;" \ 197*11bd5e7bSLukasz Majewski "fi\0" \ 198*11bd5e7bSLukasz Majewski "mtdparts=" MTDPARTS_DEFAULT "\0" \ 199*11bd5e7bSLukasz Majewski "fdt_addr=0x18000000\0" \ 200*11bd5e7bSLukasz Majewski "bootdev=1\0" \ 201*11bd5e7bSLukasz Majewski "bootpart=1\0" \ 202*11bd5e7bSLukasz Majewski "kernel_addr=" __stringify(CONFIG_LOADADDR) "\0" \ 203*11bd5e7bSLukasz Majewski "netdev=eth0\0" \ 204*11bd5e7bSLukasz Majewski "load_addr=0x11000000\0" \ 205*11bd5e7bSLukasz Majewski "dtbloadaddr=0x12000000\0" \ 206*11bd5e7bSLukasz Majewski "uboot_file=u-boot.img\0" \ 207*11bd5e7bSLukasz Majewski "SPL_file=SPL\0" \ 208*11bd5e7bSLukasz Majewski "load_uboot=tftp ${load_addr} ${uboot_file}\0" \ 209*11bd5e7bSLukasz Majewski "nor_img_addr=0x11000000\0" \ 210*11bd5e7bSLukasz Majewski "nor_img_file=core-image-lwn-mccmon6.nor\0" \ 211*11bd5e7bSLukasz Majewski "emmc_img_file=core-image-lwn-mccmon6.ext4\0" \ 212*11bd5e7bSLukasz Majewski "nor_bank_start=" __stringify(CONFIG_SYS_FLASH_BASE) "\0" \ 213*11bd5e7bSLukasz Majewski "nor_img_size=0x02000000\0" \ 214*11bd5e7bSLukasz Majewski "factory_script_file=factory.scr\0" \ 215*11bd5e7bSLukasz Majewski "factory_load_script=" \ 216*11bd5e7bSLukasz Majewski "if test -e mmc ${mmcdev}:${mmcfactorypart} " \ 217*11bd5e7bSLukasz Majewski "${factory_script_file}; then " \ 218*11bd5e7bSLukasz Majewski "load mmc ${mmcdev}:${mmcfactorypart} " \ 219*11bd5e7bSLukasz Majewski "${loadaddr} ${factory_script_file};" \ 220*11bd5e7bSLukasz Majewski "fi\0" \ 221*11bd5e7bSLukasz Majewski "factory_script=echo Running factory script from mmc${mmcdev} ...; " \ 222*11bd5e7bSLukasz Majewski "source ${loadaddr}\0" \ 223*11bd5e7bSLukasz Majewski "factory_flash_img="\ 224*11bd5e7bSLukasz Majewski "echo 'Flash mccmon6 with factory images'; " \ 225*11bd5e7bSLukasz Majewski "if run factory_load_script; then " \ 226*11bd5e7bSLukasz Majewski "run factory_script;" \ 227*11bd5e7bSLukasz Majewski "else " \ 228*11bd5e7bSLukasz Majewski "echo No factory script: ${factory_script_file} found on " \ 229*11bd5e7bSLukasz Majewski "device ${mmcdev};" \ 230*11bd5e7bSLukasz Majewski "run factory_nor_img;" \ 231*11bd5e7bSLukasz Majewski "run factory_eMMC_img;" \ 232*11bd5e7bSLukasz Majewski "fi\0" \ 233*11bd5e7bSLukasz Majewski "factory_eMMC_img="\ 234*11bd5e7bSLukasz Majewski "echo 'Update mccmon6 eMMC image'; " \ 235*11bd5e7bSLukasz Majewski "if load mmc ${mmcdev}:${mmcfactorypart} " \ 236*11bd5e7bSLukasz Majewski "${loadaddr} ${emmc_img_file}; then " \ 237*11bd5e7bSLukasz Majewski "setexpr fw_sz ${filesize} / 0x200;" \ 238*11bd5e7bSLukasz Majewski "setexpr fw_sz ${fw_sz} + 1;" \ 239*11bd5e7bSLukasz Majewski "mmc dev ${mmcfactorydev};" \ 240*11bd5e7bSLukasz Majewski "mmc write ${loadaddr} 0x0 ${fw_sz};" \ 241*11bd5e7bSLukasz Majewski "fi\0" \ 242*11bd5e7bSLukasz Majewski "factory_nor_img="\ 243*11bd5e7bSLukasz Majewski "echo 'Update mccmon6 NOR image'; " \ 244*11bd5e7bSLukasz Majewski "if load mmc ${mmcdev}:${mmcfactorypart} " \ 245*11bd5e7bSLukasz Majewski "${nor_img_addr} ${nor_img_file}; then " \ 246*11bd5e7bSLukasz Majewski "run nor_update;" \ 247*11bd5e7bSLukasz Majewski "fi\0" \ 248*11bd5e7bSLukasz Majewski "nor_update=" \ 249*11bd5e7bSLukasz Majewski "protect off ${nor_bank_start} +${nor_img_size};" \ 250*11bd5e7bSLukasz Majewski "erase ${nor_bank_start} +${nor_img_size};" \ 251*11bd5e7bSLukasz Majewski "setexpr nor_img_size ${nor_img_size} / 4; " \ 252*11bd5e7bSLukasz Majewski "cp.l ${nor_img_addr} ${nor_bank_start} ${nor_img_size}\0" \ 253*11bd5e7bSLukasz Majewski "tftp_nor_uboot="\ 254*11bd5e7bSLukasz Majewski "echo 'Update mccmon6 NOR U-BOOT via TFTP'; " \ 255*11bd5e7bSLukasz Majewski "setenv nor_img_file u-boot.img; " \ 256*11bd5e7bSLukasz Majewski "setenv nor_img_size 0x80000; " \ 257*11bd5e7bSLukasz Majewski "setenv nor_bank_start 0x08080000; " \ 258*11bd5e7bSLukasz Majewski "if tftpboot ${nor_img_addr} ${nor_img_file}; then " \ 259*11bd5e7bSLukasz Majewski "run nor_update;" \ 260*11bd5e7bSLukasz Majewski "fi\0" \ 261*11bd5e7bSLukasz Majewski "tftp_nor_uImg="\ 262*11bd5e7bSLukasz Majewski "echo 'Update mccmon6 NOR uImage via TFTP'; " \ 263*11bd5e7bSLukasz Majewski "setenv nor_img_file uImage; " \ 264*11bd5e7bSLukasz Majewski "setenv nor_img_size 0x500000; " \ 265*11bd5e7bSLukasz Majewski "setenv nor_bank_start 0x08180000; " \ 266*11bd5e7bSLukasz Majewski "if tftpboot ${nor_img_addr} ${nor_img_file}; then " \ 267*11bd5e7bSLukasz Majewski "run nor_update;" \ 268*11bd5e7bSLukasz Majewski "fi\0" \ 269*11bd5e7bSLukasz Majewski "tftp_nor_img="\ 270*11bd5e7bSLukasz Majewski "echo 'Update mccmon6 NOR image via TFTP'; " \ 271*11bd5e7bSLukasz Majewski "if tftpboot ${nor_img_addr} ${nor_img_file}; then " \ 272*11bd5e7bSLukasz Majewski "run nor_update;" \ 273*11bd5e7bSLukasz Majewski "fi\0" \ 274*11bd5e7bSLukasz Majewski "tftp_nor_SPL="\ 275*11bd5e7bSLukasz Majewski "if tftp ${load_addr} SPL_padded; then " \ 276*11bd5e7bSLukasz Majewski "erase 0x08000000 +0x20000;" \ 277*11bd5e7bSLukasz Majewski "cp.b ${load_addr} 0x08000000 0x20000;" \ 278*11bd5e7bSLukasz Majewski "fi;\0" \ 279*11bd5e7bSLukasz Majewski "tftp_sd_SPL="\ 280*11bd5e7bSLukasz Majewski "if mmc dev 1; then " \ 281*11bd5e7bSLukasz Majewski "if tftp ${load_addr} ${SPL_file}; then " \ 282*11bd5e7bSLukasz Majewski "setexpr fw_sz ${filesize} / 0x200; " \ 283*11bd5e7bSLukasz Majewski "setexpr fw_sz ${fw_sz} + 1; " \ 284*11bd5e7bSLukasz Majewski "mmc write ${load_addr} 0x2 ${fw_sz};" \ 285*11bd5e7bSLukasz Majewski "fi;" \ 286*11bd5e7bSLukasz Majewski "fi;\0" \ 287*11bd5e7bSLukasz Majewski "tftp_sd_uboot="\ 288*11bd5e7bSLukasz Majewski "if mmc dev 1; then " \ 289*11bd5e7bSLukasz Majewski "if run load_uboot; then " \ 290*11bd5e7bSLukasz Majewski "setexpr fw_sz ${filesize} / 0x200; " \ 291*11bd5e7bSLukasz Majewski "setexpr fw_sz ${fw_sz} + 1; " \ 292*11bd5e7bSLukasz Majewski "mmc write ${load_addr} 0x8A ${fw_sz};" \ 293*11bd5e7bSLukasz Majewski "fi;" \ 294*11bd5e7bSLukasz Majewski "fi;\0" 295*11bd5e7bSLukasz Majewski 296*11bd5e7bSLukasz Majewski /* Physical Memory Map */ 297*11bd5e7bSLukasz Majewski #define CONFIG_NR_DRAM_BANKS 1 298*11bd5e7bSLukasz Majewski #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 299*11bd5e7bSLukasz Majewski 300*11bd5e7bSLukasz Majewski #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 301*11bd5e7bSLukasz Majewski #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 302*11bd5e7bSLukasz Majewski #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 303*11bd5e7bSLukasz Majewski 304*11bd5e7bSLukasz Majewski #define CONFIG_SYS_INIT_SP_OFFSET \ 305*11bd5e7bSLukasz Majewski (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 306*11bd5e7bSLukasz Majewski #define CONFIG_SYS_INIT_SP_ADDR \ 307*11bd5e7bSLukasz Majewski (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 308*11bd5e7bSLukasz Majewski 309*11bd5e7bSLukasz Majewski /* Environment organization */ 310*11bd5e7bSLukasz Majewski #define CONFIG_ENV_SIZE (SZ_128K) 311*11bd5e7bSLukasz Majewski 312*11bd5e7bSLukasz Majewski /* Envs are stored in NOR flash */ 313*11bd5e7bSLukasz Majewski #define CONFIG_ENV_IS_IN_FLASH 314*11bd5e7bSLukasz Majewski #define CONFIG_ENV_SECT_SIZE (SZ_128K) 315*11bd5e7bSLukasz Majewski #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x40000) 316*11bd5e7bSLukasz Majewski 317*11bd5e7bSLukasz Majewski #define CONFIG_SYS_REDUNDAND_ENVIRONMENT 318*11bd5e7bSLukasz Majewski #define CONFIG_ENV_ADDR_REDUND (CONFIG_SYS_FLASH_BASE + 0x60000) 319*11bd5e7bSLukasz Majewski #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 320*11bd5e7bSLukasz Majewski 321*11bd5e7bSLukasz Majewski #endif /* __CONFIG_H * */ 322