1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (c) 2012 Michael Walle 3*4882a593Smuzhiyun * Michael Walle <michael@walle.cc> 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef _CONFIG_LSXL_H 9*4882a593Smuzhiyun #define _CONFIG_LSXL_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun /* 12*4882a593Smuzhiyun * Version number information 13*4882a593Smuzhiyun */ 14*4882a593Smuzhiyun #if defined(CONFIG_LSCHLV2) 15*4882a593Smuzhiyun #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-lschl.cfg 16*4882a593Smuzhiyun #define CONFIG_MACH_TYPE 3006 17*4882a593Smuzhiyun #define CONFIG_SYS_TCLK 166666667 /* 166 MHz */ 18*4882a593Smuzhiyun #elif defined(CONFIG_LSXHL) 19*4882a593Smuzhiyun #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-lsxhl.cfg 20*4882a593Smuzhiyun #define CONFIG_MACH_TYPE 2663 21*4882a593Smuzhiyun /* CONFIG_SYS_TCLK is 200000000 by default */ 22*4882a593Smuzhiyun #else 23*4882a593Smuzhiyun #error "unknown board" 24*4882a593Smuzhiyun #endif 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun /* 27*4882a593Smuzhiyun * General configuration options 28*4882a593Smuzhiyun */ 29*4882a593Smuzhiyun #define CONFIG_FEROCEON_88FR131 /* CPU Core subversion */ 30*4882a593Smuzhiyun #define CONFIG_KW88F6281 /* SOC Name */ 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun #define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */ 33*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R 34*4882a593Smuzhiyun #define CONFIG_SHOW_BOOT_PROGRESS 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun #define CONFIG_KIRKWOOD_GPIO 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun /* 39*4882a593Smuzhiyun * Commands configuration 40*4882a593Smuzhiyun */ 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun /* 43*4882a593Smuzhiyun * mv-common.h should be defined after CMD configs since it used them 44*4882a593Smuzhiyun * to enable certain macros 45*4882a593Smuzhiyun */ 46*4882a593Smuzhiyun #include "mv-common.h" 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* loading initramfs images without uimage header */ 49*4882a593Smuzhiyun #define CONFIG_SUPPORT_RAW_INITRD 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun /* ST M25P40 */ 52*4882a593Smuzhiyun #undef CONFIG_ENV_SPI_MAX_HZ 53*4882a593Smuzhiyun #define CONFIG_ENV_SPI_MAX_HZ 25000000 54*4882a593Smuzhiyun #undef CONFIG_SF_DEFAULT_SPEED 55*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_SPEED 25000000 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun /* 58*4882a593Smuzhiyun * Environment variables configurations 59*4882a593Smuzhiyun */ 60*4882a593Smuzhiyun #ifdef CONFIG_SPI_FLASH 61*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 1 62*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 8 63*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x10000 /* 64K */ 64*4882a593Smuzhiyun #endif 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x10000 /* 64k */ 67*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0x70000 /* env starts here */ 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun /* 70*4882a593Smuzhiyun * Default environment variables 71*4882a593Smuzhiyun */ 72*4882a593Smuzhiyun #define CONFIG_LOADADDR 0x00800000 73*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "run bootcmd_${bootsource}" 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun #if defined(CONFIG_LSXHL) 76*4882a593Smuzhiyun #define CONFIG_FDTFILE "kirkwood-lsxhl.dtb" 77*4882a593Smuzhiyun #elif defined(CONFIG_LSCHLV2) 78*4882a593Smuzhiyun #define CONFIG_FDTFILE "kirkwood-lschlv2.dtb" 79*4882a593Smuzhiyun #else 80*4882a593Smuzhiyun #error "Unsupported board" 81*4882a593Smuzhiyun #endif 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 84*4882a593Smuzhiyun "bootsource=legacy\0" \ 85*4882a593Smuzhiyun "hdpart=0:1\0" \ 86*4882a593Smuzhiyun "kernel_addr=0x00800000\0" \ 87*4882a593Smuzhiyun "ramdisk_addr=0x01000000\0" \ 88*4882a593Smuzhiyun "fdt_addr=0x00ff0000\0" \ 89*4882a593Smuzhiyun "bootcmd_legacy=ide reset " \ 90*4882a593Smuzhiyun "&& load ide ${hdpart} ${kernel_addr} /uImage.buffalo " \ 91*4882a593Smuzhiyun "&& load ide ${hdpart} ${ramdisk_addr} /initrd.buffalo "\ 92*4882a593Smuzhiyun "&& bootm ${kernel_addr} ${ramdisk_addr}\0" \ 93*4882a593Smuzhiyun "bootcmd_net=bootp ${kernel_addr} vmlinuz " \ 94*4882a593Smuzhiyun "&& tftpboot ${ramdisk_addr} initrd.img " \ 95*4882a593Smuzhiyun "&& setenv ramdisk_len ${filesize} " \ 96*4882a593Smuzhiyun "&& tftpboot ${fdt_addr} " CONFIG_FDTFILE " " \ 97*4882a593Smuzhiyun "&& bootz ${kernel_addr} " \ 98*4882a593Smuzhiyun "${ramdisk_addr}:${ramdisk_len} ${fdt_addr}\0" \ 99*4882a593Smuzhiyun "bootcmd_hdd=ide reset " \ 100*4882a593Smuzhiyun "&& load ide ${hdpart} ${kernel_addr} /vmlinuz " \ 101*4882a593Smuzhiyun "&& load ide ${hdpart} ${ramdisk_addr} /initrd.img " \ 102*4882a593Smuzhiyun "&& setenv ramdisk_len ${filesize} " \ 103*4882a593Smuzhiyun "&& load ide ${hdpart} ${fdt_addr} /dtb " \ 104*4882a593Smuzhiyun "&& bootz ${kernel_addr} " \ 105*4882a593Smuzhiyun "${ramdisk_addr}:${ramdisk_len} ${fdt_addr}\0" \ 106*4882a593Smuzhiyun "bootcmd_usb=usb start " \ 107*4882a593Smuzhiyun "&& load usb 0:1 ${kernel_addr} /vmlinuz " \ 108*4882a593Smuzhiyun "&& load usb 0:1 ${ramdisk_addr} /initrd.img " \ 109*4882a593Smuzhiyun "&& setenv ramdisk_len ${filesize} " \ 110*4882a593Smuzhiyun "&& load usb 0:1 ${fdt_addr} " CONFIG_FDTFILE " " \ 111*4882a593Smuzhiyun "&& bootz ${kernel_addr} " \ 112*4882a593Smuzhiyun "${ramdisk_addr}:${ramdisk_len} ${fdt_addr}\0" \ 113*4882a593Smuzhiyun "bootcmd_rescue=run config_nc_dhcp; run nc\0" \ 114*4882a593Smuzhiyun "eraseenv=sf probe 0 " \ 115*4882a593Smuzhiyun "&& sf erase " __stringify(CONFIG_ENV_OFFSET) \ 116*4882a593Smuzhiyun " +" __stringify(CONFIG_ENV_SIZE) "\0" \ 117*4882a593Smuzhiyun "config_nc_dhcp=setenv autoload_old ${autoload}; " \ 118*4882a593Smuzhiyun "setenv autoload no " \ 119*4882a593Smuzhiyun "&& bootp " \ 120*4882a593Smuzhiyun "&& setenv ncip " \ 121*4882a593Smuzhiyun "&& setenv autoload ${autoload_old}; " \ 122*4882a593Smuzhiyun "setenv autoload_old\0" \ 123*4882a593Smuzhiyun "standard_env=setenv ipaddr; setenv netmask; setenv serverip; " \ 124*4882a593Smuzhiyun "setenv ncip; setenv gatewayip; setenv ethact; " \ 125*4882a593Smuzhiyun "setenv bootfile; setenv dnsip; " \ 126*4882a593Smuzhiyun "setenv bootsource legacy; run ser\0" \ 127*4882a593Smuzhiyun "restore_env=run standard_env; saveenv; reset\0" \ 128*4882a593Smuzhiyun "ser=setenv stdin serial; setenv stdout serial; " \ 129*4882a593Smuzhiyun "setenv stderr serial\0" \ 130*4882a593Smuzhiyun "nc=setenv stdin nc; setenv stdout nc; setenv stderr nc\0" \ 131*4882a593Smuzhiyun "stdin=serial\0" \ 132*4882a593Smuzhiyun "stdout=serial\0" \ 133*4882a593Smuzhiyun "stderr=serial\0" 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun /* 136*4882a593Smuzhiyun * Ethernet Driver configuration 137*4882a593Smuzhiyun */ 138*4882a593Smuzhiyun #ifdef CONFIG_CMD_NET 139*4882a593Smuzhiyun #define CONFIG_MVGBE_PORTS {0, 1} /* enable port 1 only */ 140*4882a593Smuzhiyun #define CONFIG_PHY_BASE_ADR 7 141*4882a593Smuzhiyun #undef CONFIG_RESET_PHY_R 142*4882a593Smuzhiyun #endif /* CONFIG_CMD_NET */ 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun #ifdef CONFIG_IDE 145*4882a593Smuzhiyun #undef CONFIG_SYS_IDE_MAXBUS 146*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXBUS 1 147*4882a593Smuzhiyun #undef CONFIG_SYS_IDE_MAXDEVICE 148*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXDEVICE 1 149*4882a593Smuzhiyun #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET 150*4882a593Smuzhiyun #define CONFIG_SYS_64BIT_LBA 151*4882a593Smuzhiyun #endif 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun #endif /* _CONFIG_LSXL_H */ 154