X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=include%2Fconfigs%2Ftx6.h;h=deb3f13119acf5e32c513fd52e7c461e64f74290;hp=85c758227c611d7169a2ea6c458f768e01f7a972;hb=e0bbf95696eb163298aa8fe6449e0ae5955a7637;hpb=f8c818c11d7375cf0694bf2471645e3f4a4ab810 diff --git a/include/configs/tx6.h b/include/configs/tx6.h index 85c758227c..deb3f13119 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,13 @@ #ifndef __CONFIG_H #define __CONFIG_H -#include +#include #include +#include "mx6_common.h" /* * 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,36 +23,37 @@ #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 -#ifndef CONFIG_TX6_V2 #define CONFIG_SPLASH_SCREEN #define CONFIG_SPLASH_SCREEN_ALIGN -#endif #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)) - +#define PHYS_SDRAM_1_SIZE (SZ_512M / 32 * PHYS_SDRAM_1_WIDTH) #ifdef CONFIG_MX6Q #define CONFIG_SYS_SDRAM_CLK 528 #else @@ -67,10 +68,14 @@ * U-Boot general configurations */ #define CONFIG_SYS_LONGHELP -#ifdef CONFIG_MX6Q +#if defined(CONFIG_MX6Q) #define CONFIG_SYS_PROMPT "TX6Q U-Boot > " -#else +#elif defined(CONFIG_MX6DL) #define CONFIG_SYS_PROMPT "TX6DL U-Boot > " +#elif defined(CONFIG_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 \ @@ -84,21 +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 -#define CONFIG_SYS_FDT_ADDR (PHYS_SDRAM_1 + SZ_16M) #endif /* CONFIG_OF_LIBFDT */ -#endif /* CONFIG_MFG */ /* * Boot Linux @@ -111,14 +109,14 @@ #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 +#ifndef CONFIG_TX6_UBOOT_MFG #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" @@ -126,22 +124,27 @@ #define CONFIG_BOOTCOMMAND "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 11000000 #define CONFIG_SYS_LOAD_ADDR _pfx(0x, CONFIG_LOADADDR) -#define CONFIG_IMX_WATCHDOG -#define CONFIG_WATCHDOG_TIMEOUT_MSECS 3000 +#define CONFIG_SYS_FDT_ADDR _pfx(0x, CONFIG_FDTADDR) +#ifndef CONFIG_SYS_LVDS_IF +#define DEFAULT_VIDEO_MODE "VGA" +#else +#define DEFAULT_VIDEO_MODE "HSD100PXN1" +#endif /* * Extra Environments */ -#ifndef CONFIG_MFG +#ifndef CONFIG_TX6_UBOOT_MFG #ifdef CONFIG_ENV_IS_NOWHERE #define CONFIG_EXTRA_ENV_SETTINGS \ "autostart=no\0" \ "autoload=no\0" \ "bootdelay=-1\0" \ - "fdtaddr=11000000\0" \ + "fdtaddr=" xstr(CONFIG_FDTADDR) "\0" \ "mtdids=" MTDIDS_DEFAULT "\0" \ "mtdparts=" MTDPARTS_DEFAULT "\0" #else @@ -151,7 +154,7 @@ "bootargs_jffs2=run default_bootargs;set bootargs ${bootargs}" \ " root=/dev/mtdblock3 rootfstype=jffs2\0" \ "bootargs_mmc=run default_bootargs;set bootargs ${bootargs}" \ - " root=/dev/mmcblk0p2 rootwait\0" \ + MMC_ROOT_STR \ "bootargs_nfs=run default_bootargs;set bootargs ${bootargs}" \ " root=/dev/nfs nfsroot=${nfs_server}:${nfsroot},nolock" \ " ip=dhcp\0" \ @@ -161,55 +164,56 @@ ";nboot linux\0" \ "bootcmd_mmc=set autostart no;run bootargs_mmc" \ ";fatload mmc 0 ${loadaddr} uImage\0" \ - "bootcmd_nand=set autostart no;run bootargs_ubifs" \ - ";nboot linux\0" \ + CONFIG_SYS_BOOT_CMD_NAND \ "bootcmd_net=set autoload y;set autostart n;run bootargs_nfs" \ ";dhcp\0" \ "bootm_cmd=bootm ${loadaddr} - ${fdtaddr}\0" \ - "boot_mode=nand\0" \ + "boot_mode=" CONFIG_SYS_DEFAULT_BOOT_MODE "\0" \ "cpu_clk=800\0" \ "default_bootargs=set bootargs " CONFIG_BOOTARGS \ " ${append_bootargs}\0" \ - "fdtaddr=11000000\0" \ - "fdtsave=nand erase.part dtb" \ - ";nand write ${fdtaddr} dtb ${fdtsize}\0" \ + "fdtaddr=" xstr(CONFIG_FDTADDR) "\0" \ + CONFIG_SYS_FDTSAVE_CMD \ "mtdids=" MTDIDS_DEFAULT "\0" \ "mtdparts=" MTDPARTS_DEFAULT "\0" \ "nfsroot=/tftpboot/rootfs\0" \ "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 */ +#endif /* CONFIG_TX6_UBOOT_MFG */ -#ifndef CONFIG_TX6_V2 +#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 \ + "fdtsave=fdt resize;nand erase.part dtb" \ + ";nand write ${fdtaddr} dtb ${fdtsize}\0" #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 "" #else +#define CONFIG_SYS_DEFAULT_BOOT_MODE "mmc" +#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" #define MTD_NAME "" #define MTDIDS_DEFAULT "" -#define CONFIG_SUPPORT_EMMC_BOOT +#ifdef CONFIG_SUPPORT_EMMC_BOOT #endif +#endif /* CONFIG_TX6_NAND */ /* * U-Boot Commands */ #include -#define CONFIG_CMD_CACHE -#define CONFIG_CMD_MMC -#ifndef CONFIG_TX6_V2 -#define CONFIG_CMD_NAND -#define CONFIG_CMD_MTDPARTS -#else -#define CONFIG_PARTITION_UUIDS -#define CONFIG_EFI_PARTITION -#define CONFIG_CMD_GPT -#endif -#define CONFIG_CMD_BOOTCE -#define CONFIG_CMD_TIME -#define CONFIG_CMD_I2C -#define CONFIG_CMD_MEMTEST /* * Serial Driver @@ -228,83 +232,59 @@ /* * 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 -#else -#undef CONFIG_ENV_IS_IN_NAND -#endif /* CONFIG_CMD_NAND */ +#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_TX6_NAND */ + #ifdef CONFIG_ENV_OFFSET_REDUND #define CONFIG_SYS_ENV_PART_STR xstr(CONFIG_SYS_ENV_PART_SIZE) \ "(env)," \ @@ -320,15 +300,13 @@ /* * 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 - +#endif +#ifdef CONFIG_CMD_MMC #define CONFIG_DOS_PARTITION #define CONFIG_CMD_FAT +#define CONFIG_FAT_WRITE #define CONFIG_CMD_EXT2 /* @@ -336,10 +314,7 @@ */ #ifdef CONFIG_ENV_IS_IN_MMC #define CONFIG_SYS_MMC_ENV_DEV 0 -#undef CONFIG_ENV_OFFSET -#undef CONFIG_ENV_SIZE -#define CONFIG_ENV_OFFSET (CONFIG_U_BOOT_IMG_SIZE + CONFIG_SYS_NAND_U_BOOT_OFFS) -#define CONFIG_ENV_SIZE SZ_128K +#define CONFIG_SYS_MMC_ENV_PART 0x1 #define CONFIG_DYNAMIC_MMC_DEVNO #endif /* CONFIG_ENV_IS_IN_MMC */ #else @@ -351,15 +326,15 @@ #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) \ "(u-boot)," \ CONFIG_SYS_ENV_PART_STR \ - "4m(linux),32m(rootfs)," CONFIG_SYS_USERFS_PART_STR "," \ + "6m(linux),32m(rootfs)," CONFIG_SYS_USERFS_PART_STR "," \ xstr(CONFIG_SYS_DTB_PART_SIZE) \ - "(dtb)," \ + "@" xstr(CONFIG_SYS_NAND_DTB_OFFSET) "(dtb)," \ xstr(CONFIG_SYS_NAND_BBT_SIZE) \ "@" xstr(CONFIG_SYS_NAND_BBT_OFFSET) "(bbt)ro" #else