1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) 2013, 2014, 2017 Markus Niebel <Markus.Niebel@tq-group.com> 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Configuration settings for the TQ Systems TQMa6<Q,D,DL,S> module. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef __CONFIG_H 10*4882a593Smuzhiyun #define __CONFIG_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #include <linux/kconfig.h> 13*4882a593Smuzhiyun /* SPL */ 14*4882a593Smuzhiyun /* #if defined(CONFIG_SPL_BUILD) */ 15*4882a593Smuzhiyun /* common IMX6 SPL configuration */ 16*4882a593Smuzhiyun #include "imx6_spl.h" 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun /* #endif */ 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun /* place code in last 4 MiB of RAM */ 21*4882a593Smuzhiyun #if defined(CONFIG_TQMA6S) 22*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x2fc00000 23*4882a593Smuzhiyun #elif defined(CONFIG_TQMA6Q) || defined(CONFIG_TQMA6DL) 24*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x4fc00000 25*4882a593Smuzhiyun #endif 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun #include "mx6_common.h" 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun #if defined(CONFIG_TQMA6S) 30*4882a593Smuzhiyun #define PHYS_SDRAM_SIZE (512u * SZ_1M) 31*4882a593Smuzhiyun #elif defined(CONFIG_TQMA6DL) 32*4882a593Smuzhiyun #define PHYS_SDRAM_SIZE (SZ_1G) 33*4882a593Smuzhiyun #elif defined(CONFIG_TQMA6Q) 34*4882a593Smuzhiyun #define PHYS_SDRAM_SIZE (SZ_1G) 35*4882a593Smuzhiyun #endif 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun #define CONFIG_MXC_UART 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun /* SPI */ 40*4882a593Smuzhiyun #define CONFIG_MXC_SPI 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun /* SPI Flash */ 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun #define TQMA6_SPI_FLASH_SECTOR_SIZE SZ_64K 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_BUS 0 47*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_CS 0 48*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_SPEED 50000000 49*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0) 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun /* I2C Configs */ 52*4882a593Smuzhiyun #define CONFIG_SYS_I2C 53*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC 54*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 55*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 56*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ 57*4882a593Smuzhiyun #define CONFIG_I2C_MULTI_BUS 58*4882a593Smuzhiyun #define CONFIG_SYS_I2C_SPEED 100000 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun /* I2C EEPROM (M24C64) */ 61*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 62*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 63*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_PAGE_WRITE_BITS 5 /* 32 Bytes */ 64*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_PAGE_WRITE_DELAY_MS 20 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun #define CONFIG_POWER 67*4882a593Smuzhiyun #define CONFIG_POWER_I2C 68*4882a593Smuzhiyun #define CONFIG_POWER_PFUZE100 69*4882a593Smuzhiyun #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 70*4882a593Smuzhiyun #define TQMA6_PFUZE100_I2C_BUS 2 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun /* MMC Configs */ 73*4882a593Smuzhiyun #define CONFIG_SYS_FSL_ESDHC_ADDR 0 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun /* USB Configs */ 76*4882a593Smuzhiyun #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 77*4882a593Smuzhiyun #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 78*4882a593Smuzhiyun #define CONFIG_EHCI_HCD_INIT_AFTER_RESET /* For OTG port */ 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun #define CONFIG_FEC_MXC 81*4882a593Smuzhiyun #define IMX_FEC_BASE ENET_BASE_ADDR 82*4882a593Smuzhiyun #define CONFIG_MII 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun #define CONFIG_ARP_TIMEOUT 200UL 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun #define CONFIG_ENV_SIZE (SZ_8K) 87*4882a593Smuzhiyun /* Size of malloc() pool */ 88*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 2 * SZ_1M) 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun #if defined(CONFIG_TQMA6X_MMC_BOOT) 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun #define TQMA6_UBOOT_OFFSET SZ_1K 93*4882a593Smuzhiyun #define TQMA6_UBOOT_SECTOR_START 0x2 94*4882a593Smuzhiyun #define TQMA6_UBOOT_SECTOR_COUNT 0x7fe 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET SZ_1M 97*4882a593Smuzhiyun #define CONFIG_SYS_MMC_ENV_DEV 0 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun #define TQMA6_FDT_OFFSET (2 * SZ_1M) 100*4882a593Smuzhiyun #define TQMA6_FDT_SECTOR_START 0x1000 101*4882a593Smuzhiyun #define TQMA6_FDT_SECTOR_COUNT 0x800 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun #define TQMA6_KERNEL_SECTOR_START 0x2000 104*4882a593Smuzhiyun #define TQMA6_KERNEL_SECTOR_COUNT 0x2000 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun #define TQMA6_EXTRA_BOOTDEV_ENV_SETTINGS \ 107*4882a593Smuzhiyun "uboot_start="__stringify(TQMA6_UBOOT_SECTOR_START)"\0" \ 108*4882a593Smuzhiyun "uboot_size="__stringify(TQMA6_UBOOT_SECTOR_COUNT)"\0" \ 109*4882a593Smuzhiyun "fdt_start="__stringify(TQMA6_FDT_SECTOR_START)"\0" \ 110*4882a593Smuzhiyun "fdt_size="__stringify(TQMA6_FDT_SECTOR_COUNT)"\0" \ 111*4882a593Smuzhiyun "kernel_start="__stringify(TQMA6_KERNEL_SECTOR_START)"\0" \ 112*4882a593Smuzhiyun "kernel_size="__stringify(TQMA6_KERNEL_SECTOR_COUNT)"\0" \ 113*4882a593Smuzhiyun "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ 114*4882a593Smuzhiyun "loadimage=mmc dev ${mmcdev}; " \ 115*4882a593Smuzhiyun "mmc read ${loadaddr} ${kernel_start} ${kernel_size};\0" \ 116*4882a593Smuzhiyun "loadfdt=mmc dev ${mmcdev}; " \ 117*4882a593Smuzhiyun "mmc read ${fdt_addr} ${fdt_start} ${fdt_size};\0" \ 118*4882a593Smuzhiyun "update_uboot=if tftp ${uboot}; then " \ 119*4882a593Smuzhiyun "if itest ${filesize} > 0; then " \ 120*4882a593Smuzhiyun "mmc dev ${mmcdev}; mmc rescan; " \ 121*4882a593Smuzhiyun "setexpr blkc ${filesize} + 0x1ff; " \ 122*4882a593Smuzhiyun "setexpr blkc ${blkc} / 0x200; " \ 123*4882a593Smuzhiyun "if itest ${blkc} <= ${uboot_size}; then " \ 124*4882a593Smuzhiyun "mmc write ${loadaddr} ${uboot_start} " \ 125*4882a593Smuzhiyun "${blkc}; " \ 126*4882a593Smuzhiyun "fi; " \ 127*4882a593Smuzhiyun "fi; fi; " \ 128*4882a593Smuzhiyun "setenv filesize; setenv blkc \0" \ 129*4882a593Smuzhiyun "update_kernel=run kernel_name; " \ 130*4882a593Smuzhiyun "if tftp ${kernel}; then " \ 131*4882a593Smuzhiyun "if itest ${filesize} > 0; then " \ 132*4882a593Smuzhiyun "mmc dev ${mmcdev}; mmc rescan; " \ 133*4882a593Smuzhiyun "setexpr blkc ${filesize} + 0x1ff; " \ 134*4882a593Smuzhiyun "setexpr blkc ${blkc} / 0x200; " \ 135*4882a593Smuzhiyun "if itest ${blkc} <= ${kernel_size}; then " \ 136*4882a593Smuzhiyun "mmc write ${loadaddr} " \ 137*4882a593Smuzhiyun "${kernel_start} ${blkc}; " \ 138*4882a593Smuzhiyun "fi; " \ 139*4882a593Smuzhiyun "fi; " \ 140*4882a593Smuzhiyun "fi; " \ 141*4882a593Smuzhiyun "setenv filesize; setenv blkc \0" \ 142*4882a593Smuzhiyun "update_fdt=if tftp ${fdt_file}; then " \ 143*4882a593Smuzhiyun "if itest ${filesize} > 0; then " \ 144*4882a593Smuzhiyun "mmc dev ${mmcdev}; mmc rescan; " \ 145*4882a593Smuzhiyun "setexpr blkc ${filesize} + 0x1ff; " \ 146*4882a593Smuzhiyun "setexpr blkc ${blkc} / 0x200; " \ 147*4882a593Smuzhiyun "if itest ${blkc} <= ${fdt_size}; then " \ 148*4882a593Smuzhiyun "mmc write ${loadaddr} ${fdt_start} ${blkc}; " \ 149*4882a593Smuzhiyun "fi; " \ 150*4882a593Smuzhiyun "fi; fi; " \ 151*4882a593Smuzhiyun "setenv filesize; setenv blkc \0" \ 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND \ 154*4882a593Smuzhiyun "run mmcboot; run netboot; run panicboot" 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun #elif defined(CONFIG_TQMA6X_SPI_BOOT) 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun #define TQMA6_UBOOT_OFFSET 0x400 159*4882a593Smuzhiyun #define TQMA6_UBOOT_SECTOR_START 0x0 160*4882a593Smuzhiyun /* max u-boot size: 512k */ 161*4882a593Smuzhiyun #define TQMA6_UBOOT_SECTOR_SIZE TQMA6_SPI_FLASH_SECTOR_SIZE 162*4882a593Smuzhiyun #define TQMA6_UBOOT_SECTOR_COUNT 0x8 163*4882a593Smuzhiyun #define TQMA6_UBOOT_SIZE (TQMA6_UBOOT_SECTOR_SIZE * \ 164*4882a593Smuzhiyun TQMA6_UBOOT_SECTOR_COUNT) 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun #define CONFIG_SYS_REDUNDAND_ENVIRONMENT 167*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET (TQMA6_UBOOT_SIZE) 168*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE TQMA6_SPI_FLASH_SECTOR_SIZE 169*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + \ 170*4882a593Smuzhiyun CONFIG_ENV_SECT_SIZE) 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun #define CONFIG_ENV_SPI_BUS (CONFIG_SF_DEFAULT_BUS) 173*4882a593Smuzhiyun #define CONFIG_ENV_SPI_CS (CONFIG_SF_DEFAULT_CS) 174*4882a593Smuzhiyun #define CONFIG_ENV_SPI_MAX_HZ (CONFIG_SF_DEFAULT_SPEED) 175*4882a593Smuzhiyun #define CONFIG_ENV_SPI_MODE (CONFIG_SF_DEFAULT_MODE) 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun #define TQMA6_FDT_OFFSET (CONFIG_ENV_OFFSET_REDUND + \ 178*4882a593Smuzhiyun CONFIG_ENV_SECT_SIZE) 179*4882a593Smuzhiyun #define TQMA6_FDT_SECT_SIZE (TQMA6_SPI_FLASH_SECTOR_SIZE) 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun #define TQMA6_FDT_SECTOR_START 0x0a /* 8 Sector u-boot, 2 Sector env */ 182*4882a593Smuzhiyun #define TQMA6_FDT_SECTOR_COUNT 0x01 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun #define TQMA6_KERNEL_SECTOR_START 0x10 185*4882a593Smuzhiyun #define TQMA6_KERNEL_SECTOR_COUNT 0x60 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun #define TQMA6_EXTRA_BOOTDEV_ENV_SETTINGS \ 188*4882a593Smuzhiyun "mmcblkdev=0\0" \ 189*4882a593Smuzhiyun "uboot_offset="__stringify(TQMA6_UBOOT_OFFSET)"\0" \ 190*4882a593Smuzhiyun "uboot_sectors="__stringify(TQMA6_UBOOT_SECTOR_COUNT)"\0" \ 191*4882a593Smuzhiyun "fdt_start="__stringify(TQMA6_FDT_SECTOR_START)"\0" \ 192*4882a593Smuzhiyun "fdt_sectors="__stringify(TQMA6_FDT_SECTOR_COUNT)"\0" \ 193*4882a593Smuzhiyun "kernel_start="__stringify(TQMA6_KERNEL_SECTOR_START)"\0" \ 194*4882a593Smuzhiyun "kernel_sectors="__stringify(TQMA6_KERNEL_SECTOR_COUNT)"\0" \ 195*4882a593Smuzhiyun "update_uboot=if tftp ${uboot}; then " \ 196*4882a593Smuzhiyun "if itest ${filesize} > 0; then " \ 197*4882a593Smuzhiyun "setexpr blkc ${filesize} + " \ 198*4882a593Smuzhiyun __stringify(TQMA6_UBOOT_OFFSET) "; " \ 199*4882a593Smuzhiyun "setexpr size ${uboot_sectors} * " \ 200*4882a593Smuzhiyun __stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; " \ 201*4882a593Smuzhiyun "if itest ${blkc} <= ${size}; then " \ 202*4882a593Smuzhiyun "sf probe; " \ 203*4882a593Smuzhiyun "sf erase 0 ${size}; " \ 204*4882a593Smuzhiyun "sf write ${loadaddr} ${uboot_offset} " \ 205*4882a593Smuzhiyun "${filesize}; " \ 206*4882a593Smuzhiyun "fi; " \ 207*4882a593Smuzhiyun "fi; fi; " \ 208*4882a593Smuzhiyun "setenv filesize 0; setenv blkc; setenv size \0" \ 209*4882a593Smuzhiyun "update_kernel=run kernel_name; if tftp ${kernel}; then " \ 210*4882a593Smuzhiyun "if itest ${filesize} > 0; then " \ 211*4882a593Smuzhiyun "setexpr size ${kernel_sectors} * " \ 212*4882a593Smuzhiyun __stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; " \ 213*4882a593Smuzhiyun "setexpr offset ${kernel_start} * " \ 214*4882a593Smuzhiyun __stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; " \ 215*4882a593Smuzhiyun "if itest ${filesize} <= ${size}; then " \ 216*4882a593Smuzhiyun "sf probe; " \ 217*4882a593Smuzhiyun "sf erase ${offset} ${size}; " \ 218*4882a593Smuzhiyun "sf write ${loadaddr} ${offset} " \ 219*4882a593Smuzhiyun "${filesize}; " \ 220*4882a593Smuzhiyun "fi; " \ 221*4882a593Smuzhiyun "fi; fi; " \ 222*4882a593Smuzhiyun "setenv filesize 0; setenv size ; setenv offset\0" \ 223*4882a593Smuzhiyun "update_fdt=if tftp ${fdt_file}; then " \ 224*4882a593Smuzhiyun "if itest ${filesize} > 0; then " \ 225*4882a593Smuzhiyun "setexpr size ${fdt_sectors} * " \ 226*4882a593Smuzhiyun __stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; " \ 227*4882a593Smuzhiyun "setexpr offset ${fdt_start} * " \ 228*4882a593Smuzhiyun __stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; " \ 229*4882a593Smuzhiyun "if itest ${filesize} <= ${size}; then " \ 230*4882a593Smuzhiyun "sf probe; " \ 231*4882a593Smuzhiyun "sf erase ${offset} ${size}; " \ 232*4882a593Smuzhiyun "sf write ${loadaddr} ${offset} " \ 233*4882a593Smuzhiyun "${filesize}; " \ 234*4882a593Smuzhiyun "fi; " \ 235*4882a593Smuzhiyun "fi; fi; " \ 236*4882a593Smuzhiyun "setenv filesize 0; setenv size ; setenv offset\0" \ 237*4882a593Smuzhiyun "loadimage=sf probe; " \ 238*4882a593Smuzhiyun "setexpr size ${kernel_sectors} * " \ 239*4882a593Smuzhiyun __stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; " \ 240*4882a593Smuzhiyun "setexpr offset ${kernel_start} * " \ 241*4882a593Smuzhiyun __stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; " \ 242*4882a593Smuzhiyun "sf read ${loadaddr} ${offset} ${size}; " \ 243*4882a593Smuzhiyun "setenv size ; setenv offset\0" \ 244*4882a593Smuzhiyun "loadfdt=sf probe; " \ 245*4882a593Smuzhiyun "setexpr size ${fdt_sectors} * " \ 246*4882a593Smuzhiyun __stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; " \ 247*4882a593Smuzhiyun "setexpr offset ${fdt_start} * " \ 248*4882a593Smuzhiyun __stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; " \ 249*4882a593Smuzhiyun "sf read ${fdt_addr} ${offset} ${size}; " \ 250*4882a593Smuzhiyun "setenv size ; setenv offset\0" \ 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND \ 253*4882a593Smuzhiyun "sf probe; run mmcboot; run netboot; run panicboot" \ 254*4882a593Smuzhiyun 255*4882a593Smuzhiyun #else 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun #error "need to define boot source" 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun #endif 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun /* 128 MiB offset as in ARM related docu for linux suggested */ 262*4882a593Smuzhiyun #define TQMA6_FDT_ADDRESS 0x18000000 263*4882a593Smuzhiyun 264*4882a593Smuzhiyun /* set to a resonable value, changeable by user */ 265*4882a593Smuzhiyun #define TQMA6_CMA_SIZE 160M 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 268*4882a593Smuzhiyun "board=tqma6\0" \ 269*4882a593Smuzhiyun "uimage=uImage\0" \ 270*4882a593Smuzhiyun "zimage=zImage\0" \ 271*4882a593Smuzhiyun "boot_type=bootz\0" \ 272*4882a593Smuzhiyun "kernel_name=if test \"${boot_type}\" != bootz; then " \ 273*4882a593Smuzhiyun "setenv kernel ${uimage}; " \ 274*4882a593Smuzhiyun "else setenv kernel ${zimage}; fi\0" \ 275*4882a593Smuzhiyun "uboot=u-boot.imx\0" \ 276*4882a593Smuzhiyun "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ 277*4882a593Smuzhiyun "fdt_addr="__stringify(TQMA6_FDT_ADDRESS)"\0" \ 278*4882a593Smuzhiyun "console=" CONSOLE_DEV "\0" \ 279*4882a593Smuzhiyun "cma_size="__stringify(TQMA6_CMA_SIZE)"\0" \ 280*4882a593Smuzhiyun "fdt_high=0xffffffff\0" \ 281*4882a593Smuzhiyun "initrd_high=0xffffffff\0" \ 282*4882a593Smuzhiyun "rootfsmode=ro\0" \ 283*4882a593Smuzhiyun "addcma=setenv bootargs ${bootargs} cma=${cma_size}\0" \ 284*4882a593Smuzhiyun "addtty=setenv bootargs ${bootargs} console=${console},${baudrate}\0" \ 285*4882a593Smuzhiyun "addfb=setenv bootargs ${bootargs} " \ 286*4882a593Smuzhiyun "imx-fbdev.legacyfb_depth=32 consoleblank=0\0" \ 287*4882a593Smuzhiyun "mmcpart=2\0" \ 288*4882a593Smuzhiyun "mmcblkdev=0\0" \ 289*4882a593Smuzhiyun "mmcargs=run addmmc addtty addfb addcma\0" \ 290*4882a593Smuzhiyun "addmmc=setenv bootargs ${bootargs} " \ 291*4882a593Smuzhiyun "root=/dev/mmcblk${mmcblkdev}p${mmcpart} ${rootfsmode} " \ 292*4882a593Smuzhiyun "rootwait\0" \ 293*4882a593Smuzhiyun "mmcboot=echo Booting from mmc ...; " \ 294*4882a593Smuzhiyun "setenv bootargs; " \ 295*4882a593Smuzhiyun "run mmcargs; " \ 296*4882a593Smuzhiyun "run loadimage; " \ 297*4882a593Smuzhiyun "if run loadfdt; then " \ 298*4882a593Smuzhiyun "echo boot device tree kernel ...; " \ 299*4882a593Smuzhiyun "${boot_type} ${loadaddr} - ${fdt_addr}; " \ 300*4882a593Smuzhiyun "else " \ 301*4882a593Smuzhiyun "${boot_type}; " \ 302*4882a593Smuzhiyun "fi;\0" \ 303*4882a593Smuzhiyun "setenv bootargs \0" \ 304*4882a593Smuzhiyun "netdev=eth0\0" \ 305*4882a593Smuzhiyun "rootpath=/srv/nfs/tqma6\0" \ 306*4882a593Smuzhiyun "ipmode=static\0" \ 307*4882a593Smuzhiyun "netargs=run addnfs addip addtty addfb addcma\0" \ 308*4882a593Smuzhiyun "addnfs=setenv bootargs ${bootargs} " \ 309*4882a593Smuzhiyun "root=/dev/nfs rw " \ 310*4882a593Smuzhiyun "nfsroot=${serverip}:${rootpath},v3,tcp;\0" \ 311*4882a593Smuzhiyun "addip_static=setenv bootargs ${bootargs} " \ 312*4882a593Smuzhiyun "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:" \ 313*4882a593Smuzhiyun "${hostname}:${netdev}:off\0" \ 314*4882a593Smuzhiyun "addip_dynamic=setenv bootargs ${bootargs} ip=dhcp\0" \ 315*4882a593Smuzhiyun "addip=if test \"${ipmode}\" != static; then " \ 316*4882a593Smuzhiyun "run addip_dynamic; else run addip_static; fi\0" \ 317*4882a593Smuzhiyun "set_getcmd=if test \"${ipmode}\" != static; then " \ 318*4882a593Smuzhiyun "setenv getcmd dhcp; setenv autoload yes; " \ 319*4882a593Smuzhiyun "else setenv getcmd tftp; setenv autoload no; fi\0" \ 320*4882a593Smuzhiyun "netboot=echo Booting from net ...; " \ 321*4882a593Smuzhiyun "run kernel_name; " \ 322*4882a593Smuzhiyun "run set_getcmd; " \ 323*4882a593Smuzhiyun "setenv bootargs; " \ 324*4882a593Smuzhiyun "run netargs; " \ 325*4882a593Smuzhiyun "if ${getcmd} ${kernel}; then " \ 326*4882a593Smuzhiyun "if ${getcmd} ${fdt_addr} ${fdt_file}; then " \ 327*4882a593Smuzhiyun "${boot_type} ${loadaddr} - ${fdt_addr}; " \ 328*4882a593Smuzhiyun "fi; " \ 329*4882a593Smuzhiyun "fi; " \ 330*4882a593Smuzhiyun "echo ... failed\0" \ 331*4882a593Smuzhiyun "panicboot=echo No boot device !!! reset\0" \ 332*4882a593Smuzhiyun TQMA6_EXTRA_BOOTDEV_ENV_SETTINGS \ 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun /* Physical Memory Map */ 335*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 1 336*4882a593Smuzhiyun #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 337*4882a593Smuzhiyun 338*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 339*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 340*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 341*4882a593Smuzhiyun 342*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET \ 343*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 344*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR \ 345*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 346*4882a593Smuzhiyun 347*4882a593Smuzhiyun /* 348*4882a593Smuzhiyun * All the defines above are for the TQMa6 SoM 349*4882a593Smuzhiyun * 350*4882a593Smuzhiyun * Now include the baseboard specific configuration 351*4882a593Smuzhiyun */ 352*4882a593Smuzhiyun #ifdef CONFIG_MBA6 353*4882a593Smuzhiyun #include "tqma6_mba6.h" 354*4882a593Smuzhiyun #elif CONFIG_WRU4 355*4882a593Smuzhiyun #include "tqma6_wru4.h" 356*4882a593Smuzhiyun #else 357*4882a593Smuzhiyun #error "No baseboard for the TQMa6 defined!" 358*4882a593Smuzhiyun #endif 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun /* Support at least the sensor on TQMa6 SOM */ 361*4882a593Smuzhiyun 362*4882a593Smuzhiyun #endif /* __CONFIG_H */ 363