X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=include%2Fconfigs%2Ftx6.h;h=aa0e7af33462f1c76bc51f3b1ac1aad9a9e50338;hb=f029fa8f4eaf0c29d4e96ffe46cb91a4892b9fe0;hp=de2d343c28b72ead7d4d8d02a7d48781c1cc1560;hpb=1094689860c2024837a646b6e8357689a0dfe41d;p=karo-tx-uboot.git diff --git a/include/configs/tx6.h b/include/configs/tx6.h index de2d343c28..aa0e7af334 100644 --- a/include/configs/tx6.h +++ b/include/configs/tx6.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 + * Copyright (C) 2012-2015 * * SPDX-License-Identifier: GPL-2.0 * @@ -8,13 +8,12 @@ #ifndef __CONFIG_H #define __CONFIG_H -#include +#include #include /* * Ka-Ro TX6 board - SoC configuration */ -#define CONFIG_MX6 #define CONFIG_SYS_MX6_HCLK 24000000 #define CONFIG_SYS_MX6_CLK32 32768 #define CONFIG_SYS_HZ 1000 /* Ticks per second */ @@ -23,40 +22,44 @@ #define CONFIG_DISPLAY_BOARDINFO #define CONFIG_BOARD_LATE_INIT #define CONFIG_BOARD_EARLY_INIT_F +#define CONFIG_SYS_GENERIC_BOARD -#ifndef CONFIG_MFG +#ifndef CONFIG_TX6_UBOOT_MFG /* LCD Logo and Splash screen support */ -#define CONFIG_LCD #ifdef CONFIG_LCD #define CONFIG_SPLASH_SCREEN #define CONFIG_SPLASH_SCREEN_ALIGN #define CONFIG_VIDEO_IPUV3 -#define CONFIG_IPUV3_CLK 266000000 +#define CONFIG_IPUV3_CLK (CONFIG_SYS_SDRAM_CLK * 1000000 / 2) #define CONFIG_LCD_LOGO -#define LCD_BPP LCD_COLOR24 +#define LCD_BPP LCD_COLOR32 #define CONFIG_CMD_BMP #define CONFIG_VIDEO_BMP_RLE8 #endif /* CONFIG_LCD */ -#endif /* CONFIG_MFG */ +#endif /* CONFIG_TX6_UBOOT_MFG */ /* * Memory configuration options */ -#define CONFIG_NR_DRAM_BANKS 1 /* # of SDRAM banks */ +#define CONFIG_NR_DRAM_BANKS 0x1 /* # of SDRAM banks */ #define PHYS_SDRAM_1 0x10000000 /* Base address of bank 1 */ #ifdef CONFIG_SYS_SDRAM_BUS_WIDTH #define PHYS_SDRAM_1_WIDTH CONFIG_SYS_SDRAM_BUS_WIDTH +#elif defined(CONFIG_SYS_SDRAM_BUS_WIDTH_32) +#define PHYS_SDRAM_1_WIDTH 32 +#elif defined(CONFIG_SYS_SDRAM_BUS_WIDTH_16) +#define PHYS_SDRAM_1_WIDTH 16 #else #define PHYS_SDRAM_1_WIDTH 64 #endif -#define PHYS_SDRAM_1_SIZE (SZ_512M * (PHYS_SDRAM_1_WIDTH / 32)) - -#ifdef CONFIG_MX6Q +#define PHYS_SDRAM_1_SIZE (SZ_512M / 32 * PHYS_SDRAM_1_WIDTH) +#ifdef CONFIG_SOC_MX6Q #define CONFIG_SYS_SDRAM_CLK 528 #else #define CONFIG_SYS_SDRAM_CLK 400 #endif #define CONFIG_STACKSIZE SZ_128K +#define CONFIG_SPL_STACK (IRAM_BASE_ADDR + SZ_16K) #define CONFIG_SYS_MALLOC_LEN SZ_8M #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1 /* Memtest start address */ #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + SZ_4M) @@ -65,10 +68,14 @@ * U-Boot general configurations */ #define CONFIG_SYS_LONGHELP -#ifdef CONFIG_MX6Q +#if defined(CONFIG_SOC_MX6Q) #define CONFIG_SYS_PROMPT "TX6Q U-Boot > " -#else +#elif defined(CONFIG_SOC_MX6DL) #define CONFIG_SYS_PROMPT "TX6DL U-Boot > " +#elif defined(CONFIG_SOC_MX6S) +#define CONFIG_SYS_PROMPT "TX6S U-Boot > " +#else +#error Unsupported i.MX6 processor variant #endif #define CONFIG_SYS_CBSIZE 2048 /* Console I/O buffer size */ #define CONFIG_SYS_PBSIZE \ @@ -82,20 +89,14 @@ #define CONFIG_CMDLINE_EDITING /* Command history etc */ #define CONFIG_SYS_64BIT_VSPRINTF -#define CONFIG_SYS_NO_FLASH /* * Flattened Device Tree (FDT) support */ -#ifndef CONFIG_MFG -#define CONFIG_OF_LIBFDT #ifdef CONFIG_OF_LIBFDT -#ifndef CONFIG_TX6_V2 -#define CONFIG_FDT_FIXUP_PARTITIONS +#ifdef CONFIG_TX6_NAND #endif -#define CONFIG_OF_BOARD_SETUP #endif /* CONFIG_OF_LIBFDT */ -#endif /* CONFIG_MFG */ /* * Boot Linux @@ -108,34 +109,38 @@ #define CONFIG_CMDLINE_TAG #define CONFIG_INITRD_TAG #define CONFIG_SETUP_MEMORY_TAGS -#ifndef CONFIG_MFG +#ifndef CONFIG_TX6_UBOOT_MFG #define CONFIG_BOOTDELAY 1 #else #define CONFIG_BOOTDELAY 0 #endif #define CONFIG_ZERO_BOOTDELAY_CHECK #define CONFIG_SYS_AUTOLOAD "no" -#ifndef CONFIG_MFG +#define DEFAULT_BOOTCMD "run bootcmd_${boot_mode} bootm_cmd" #define CONFIG_BOOTFILE "uImage" #define CONFIG_BOOTARGS "init=/linuxrc console=ttymxc0,115200 ro debug panic=1" -#define CONFIG_BOOTCOMMAND "run bootcmd_${boot_mode} bootm_cmd" +#ifndef CONFIG_TX6_UBOOT_MFG +#define CONFIG_BOOTCOMMAND DEFAULT_BOOTCMD #else -#define CONFIG_BOOTCOMMAND "env import " xstr(CONFIG_BOOTCMD_MFG_LOADADDR) ";run bootcmd_mfg" +#define CONFIG_BOOTCOMMAND "set bootcmd '" DEFAULT_BOOTCMD "';" \ + "env import " xstr(CONFIG_BOOTCMD_MFG_LOADADDR) ";run bootcmd_mfg" #define CONFIG_BOOTCMD_MFG_LOADADDR 10500000 #define CONFIG_DELAY_ENVIRONMENT -#endif /* CONFIG_MFG */ +#endif /* CONFIG_TX6_UBOOT_MFG */ #define CONFIG_LOADADDR 18000000 -#define CONFIG_FDTADDR 10001000 +#define CONFIG_FDTADDR 11000000 #define CONFIG_SYS_LOAD_ADDR _pfx(0x, CONFIG_LOADADDR) #define CONFIG_SYS_FDT_ADDR _pfx(0x, CONFIG_FDTADDR) -#define CONFIG_IMX_WATCHDOG -#define CONFIG_WATCHDOG_TIMEOUT_MSECS 3000 +#ifndef CONFIG_SYS_LVDS_IF +#define DEFAULT_VIDEO_MODE "VGA" +#else +#define DEFAULT_VIDEO_MODE "HSD100PXN1" +#endif /* * Extra Environments */ -#ifndef CONFIG_MFG -#ifdef CONFIG_ENV_IS_NOWHERE +#ifdef CONFIG_TX6_UBOOT_NOENV #define CONFIG_EXTRA_ENV_SETTINGS \ "autostart=no\0" \ "autoload=no\0" \ @@ -168,6 +173,8 @@ "cpu_clk=800\0" \ "default_bootargs=set bootargs " CONFIG_BOOTARGS \ " ${append_bootargs}\0" \ + EMMC_BOOT_PART_STR \ + EMMC_BOOT_ACK_STR \ "fdtaddr=" xstr(CONFIG_FDTADDR) "\0" \ CONFIG_SYS_FDTSAVE_CMD \ "mtdids=" MTDIDS_DEFAULT "\0" \ @@ -176,12 +183,11 @@ "otg_mode=device\0" \ ROOTPART_UUID_STR \ "touchpanel=tsc2007\0" \ - "video_mode=VGA\0" + "video_mode=" DEFAULT_VIDEO_MODE "\0" #endif /* CONFIG_ENV_IS_NOWHERE */ -#endif /* CONFIG_MFG */ -#ifndef CONFIG_TX6_V2 -#define CONFIG_SYS_DEFAULT_BOOT_MODE "nand" +#ifdef CONFIG_TX6_NAND +#define CONFIG_SYS_DEFAULT_BOOT_MODE "nand" #define CONFIG_SYS_BOOT_CMD_NAND \ "bootcmd_nand=set autostart no;run bootargs_ubifs;nboot linux\0" #define CONFIG_SYS_FDTSAVE_CMD \ @@ -190,36 +196,26 @@ #define MTD_NAME "gpmi-nand" #define MTDIDS_DEFAULT "nand0=" MTD_NAME #define CONFIG_SYS_NAND_ONFI_DETECTION -#define MMC_ROOT_STR " root=dev/mmcblk0p2 rootwait\0" -#define ROOTPART_UUID_STR "" +#define MMC_ROOT_STR " root=/dev/mmcblk0p2 rootwait\0" +#define ROOTPART_UUID_STR "" +#define EMMC_BOOT_ACK_STR "" +#define EMMC_BOOT_PART_STR "" #else -#define CONFIG_SYS_DEFAULT_BOOT_MODE "mmc" -#define CONFIG_SYS_BOOT_CMD_NAND "" +#define CONFIG_SYS_DEFAULT_BOOT_MODE "mmc" +#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 +#define CONFIG_SYS_BOOT_CMD_NAND "" #define CONFIG_SYS_FDTSAVE_CMD \ - "fdtsave=mmc open 0 1;mmc write ${fdtaddr} " \ - xstr(CONFIG_SYS_DTB_BLKNO) " 80;mmc close 0 1\0" -#define MMC_ROOT_STR " root=PARTUUID=${rootpart_uuid} rootwait\0" -#define ROOTPART_UUID_STR "rootpart_uuid=0cc66cc0-02\0" + "fdtsave=mmc partconf 0 ${emmc_boot_ack} ${emmc_boot_part} ${emmc_boot_part}" \ + ";mmc write ${fdtaddr} " xstr(CONFIG_SYS_DTB_BLKNO) " 80" \ + ";mmc partconf 0 ${emmc_boot_ack} ${emmc_boot_part} 0\0" #define MTD_NAME "" #define MTDIDS_DEFAULT "" -#define CONFIG_SUPPORT_EMMC_BOOT -#define CONFIG_MMC_BOOT_DEV 0 -#endif - -/* - * U-Boot Commands - */ -#include -#define CONFIG_CMD_CACHE -#define CONFIG_CMD_MMC -#ifndef CONFIG_TX6_V2 -#define CONFIG_CMD_NAND -#define CONFIG_CMD_MTDPARTS -#endif -#define CONFIG_CMD_BOOTCE -#define CONFIG_CMD_TIME -#define CONFIG_CMD_I2C -#define CONFIG_CMD_MEMTEST +#define MMC_ROOT_STR " root=PARTUUID=${rootpart_uuid} rootwait\0" +#define ROOTPART_UUID_STR "rootpart_uuid=0cc66cc0-02\0" +#define EMMC_BOOT_ACK_STR "emmc_boot_ack=1\0" +#define EMMC_BOOT_PART_STR "emmc_boot_part=" \ + xstr(CONFIG_SYS_MMCSD_FS_BOOT_PARTITION) "\0" +#endif /* CONFIG_TX6_NAND */ /* * Serial Driver @@ -238,83 +234,58 @@ /* * Ethernet Driver */ -#define CONFIG_FEC_MXC #ifdef CONFIG_FEC_MXC /* This is required for the FEC driver to work with cache enabled */ #define CONFIG_SYS_ARM_CACHE_WRITETHROUGH -#define CONFIG_SYS_CACHELINE_SIZE 64 #define IMX_FEC_BASE ENET_BASE_ADDR -#define CONFIG_FEC_MXC_PHYADDR 0 -#define CONFIG_PHYLIB -#define CONFIG_PHY_SMSC -#define CONFIG_MII #define CONFIG_FEC_XCV_TYPE RMII -#define CONFIG_GET_FEC_MAC_ADDR_FROM_IIM -#define CONFIG_CMD_MII -#define CONFIG_CMD_DHCP -#define CONFIG_CMD_PING -/* Add for working with "strict" DHCP server */ -#define CONFIG_BOOTP_SUBNETMASK -#define CONFIG_BOOTP_GATEWAY -#define CONFIG_BOOTP_DNS #endif /* * I2C Configs */ -#ifdef CONFIG_CMD_I2C -#define CONFIG_HARD_I2C -#define CONFIG_I2C_MXC +#ifdef CONFIG_SYS_I2C #define CONFIG_SYS_I2C_BASE I2C1_BASE_ADDR -#define CONFIG_SYS_I2C_MX6_PORT1 #define CONFIG_SYS_I2C_SPEED 400000 -#ifndef CONFIG_TX6_V2 +#if defined(CONFIG_TX6_REV) +#if CONFIG_TX6_REV == 0x1 #define CONFIG_SYS_I2C_SLAVE 0x3c -#else +#define CONFIG_LTC3676 +#elif CONFIG_TX6_REV == 0x2 #define CONFIG_SYS_I2C_SLAVE 0x32 +#define CONFIG_RN5T618 +#elif CONFIG_TX6_REV == 0x3 +#define CONFIG_SYS_I2C_SLAVE 0x33 +#define CONFIG_RN5T567 +#else +#error Unsupported TX6 module revision #endif -#endif +#endif /* CONFIG_TX6_REV */ +/* autodetect which PMIC is present to derive TX6_REV */ +#define CONFIG_LTC3676 /* TX6_REV == 1 */ +#define CONFIG_RN5T567 /* TX6_REV == 3 */ +#endif /* CONFIG_CMD_I2C */ -#ifndef CONFIG_ENV_IS_NOWHERE -/* define one of the following options: -#define CONFIG_ENV_IS_IN_NAND -#define CONFIG_ENV_IS_IN_MMC -*/ -#define CONFIG_ENV_IS_IN_NAND -#endif #define CONFIG_ENV_OVERWRITE /* * NAND flash driver */ -#ifdef CONFIG_CMD_NAND -#define CONFIG_MTD_DEVICE -#if 0 -#define CONFIG_MTD_DEBUG -#define CONFIG_MTD_DEBUG_VERBOSE 4 -#endif -#define CONFIG_NAND_MXS -#define CONFIG_NAND_MXS_NO_BBM_SWAP -#define CONFIG_APBH_DMA -#define CONFIG_APBH_DMA_BURST -#define CONFIG_APBH_DMA_BURST8 -#define CONFIG_CMD_NAND_TRIMFFS +#ifdef CONFIG_TX6_NAND #define CONFIG_SYS_MXS_DMA_CHANNEL 4 -#define CONFIG_SYS_MAX_FLASH_BANKS 1 -#define CONFIG_SYS_NAND_MAX_CHIPS 1 -#define CONFIG_SYS_MAX_NAND_DEVICE 1 -#define CONFIG_SYS_NAND_5_ADDR_CYCLE -#define CONFIG_SYS_NAND_USE_FLASH_BBT +#define CONFIG_SYS_MAX_FLASH_BANKS 0x1 +#define CONFIG_SYS_NAND_MAX_CHIPS 0x1 +#define CONFIG_SYS_MAX_NAND_DEVICE 0x1 #define CONFIG_SYS_NAND_BASE 0x00000000 -#define CONFIG_CMD_ROMUPDATE +#define CONFIG_SYS_NAND_5_ADDR_CYCLE #define CONFIG_ENV_OFFSET (CONFIG_U_BOOT_IMG_SIZE + CONFIG_SYS_NAND_U_BOOT_OFFS) #define CONFIG_ENV_SIZE SZ_128K #define CONFIG_ENV_RANGE (3 * CONFIG_SYS_NAND_BLOCK_SIZE) #else #undef CONFIG_ENV_IS_IN_NAND -#endif /* CONFIG_CMD_NAND */ +#endif /* CONFIG_TX6_NAND */ #ifdef CONFIG_ENV_OFFSET_REDUND #define CONFIG_SYS_ENV_PART_STR xstr(CONFIG_SYS_ENV_PART_SIZE) \ @@ -331,14 +302,10 @@ /* * MMC Driver */ -#ifdef CONFIG_CMD_MMC -#define CONFIG_MMC -#define CONFIG_GENERIC_MMC -#define CONFIG_FSL_ESDHC -#define CONFIG_FSL_USDHC +#ifdef CONFIG_FSL_ESDHC #define CONFIG_SYS_FSL_ESDHC_ADDR 0 - -#define CONFIG_DOS_PARTITION +#endif +#ifdef CONFIG_CMD_MMC #define CONFIG_CMD_FAT #define CONFIG_FAT_WRITE #define CONFIG_CMD_EXT2 @@ -348,7 +315,7 @@ */ #ifdef CONFIG_ENV_IS_IN_MMC #define CONFIG_SYS_MMC_ENV_DEV 0 -#define CONFIG_SYS_MMC_ENV_PART 1 +#define CONFIG_SYS_MMC_ENV_PART 0x1 #define CONFIG_DYNAMIC_MMC_DEVNO #endif /* CONFIG_ENV_IS_IN_MMC */ #else @@ -360,7 +327,7 @@ #define CONFIG_ENV_SIZE SZ_4K #endif -#ifndef CONFIG_TX6_V2 +#ifdef CONFIG_TX6_NAND #define MTDPARTS_DEFAULT "mtdparts=" MTD_NAME ":" \ xstr(CONFIG_SYS_U_BOOT_PART_SIZE) \ "@" xstr(CONFIG_SYS_NAND_U_BOOT_OFFS) \