X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=include%2Fconfigs%2Ftx6.h;h=72505eda935451d60c4ba3fcfeb2a167298181ea;hp=aa0e7af33462f1c76bc51f3b1ac1aad9a9e50338;hb=ca614c164012789ee27de57bab615994f9c2ec25;hpb=b4d9d8e57681907cf024db2b511e7076f207cf6c diff --git a/include/configs/tx6.h b/include/configs/tx6.h index aa0e7af334..72505eda93 100644 --- a/include/configs/tx6.h +++ b/include/configs/tx6.h @@ -8,6 +8,24 @@ #ifndef __CONFIG_H #define __CONFIG_H +#ifndef CONFIG_BOARD_TX6UL +#define CONFIG_ARM_ERRATA_743622 +#define CONFIG_ARM_ERRATA_751472 +#define CONFIG_ARM_ERRATA_794072 +#define CONFIG_ARM_ERRATA_761320 + +#ifndef CONFIG_SYS_L2CACHE_OFF +#define CONFIG_SYS_L2_PL310 +#define CONFIG_SYS_PL310_BASE L2_PL310_BASE +#endif + +#define CONFIG_SYS_FSL_ESDHC_HAS_DDR_MODE +#define CONFIG_MP +#endif +#define CONFIG_BOARD_POSTCLK_INIT +#define CONFIG_MXC_GPT_HCLK + +#include #include #include @@ -23,36 +41,70 @@ #define CONFIG_BOARD_LATE_INIT #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_SYS_GENERIC_BOARD +#define CONFIG_CMD_GPIO -#ifndef CONFIG_TX6_UBOOT_MFG /* LCD Logo and Splash screen support */ #ifdef CONFIG_LCD #define CONFIG_SPLASH_SCREEN #define CONFIG_SPLASH_SCREEN_ALIGN +#ifndef CONFIG_BOARD_TX6UL #define CONFIG_VIDEO_IPUV3 #define CONFIG_IPUV3_CLK (CONFIG_SYS_SDRAM_CLK * 1000000 / 2) +#else +#define CONFIG_VIDEO_MXS +#define MXS_LCDIF_BASE 0x021c8000UL +#endif /* CONFIG_BOARD_TX6UL */ #define CONFIG_LCD_LOGO #define LCD_BPP LCD_COLOR32 #define CONFIG_CMD_BMP +#define CONFIG_BMP_8BPP +#define CONFIG_BMP_16BPP +#define CONFIG_BMP_24BPP +#define CONFIG_BMP_32BPP #define CONFIG_VIDEO_BMP_RLE8 #endif /* CONFIG_LCD */ -#endif /* CONFIG_TX6_UBOOT_MFG */ /* * Memory configuration options */ #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 +#ifndef CONFIG_BOARD_TX6UL +/* Base address of SDRAM bank 1 */ +#define PHYS_SDRAM_1 0x10000000 +#else +#define PHYS_SDRAM_1 0x80000000 +#endif + +#ifndef CONFIG_SOC_MX6UL +#define CONFIG_SYS_MPU_CLK 792 +#else +#define CONFIG_SYS_MPU_CLK 528 +#endif + +#ifndef CONFIG_SYS_SDRAM_BUS_WIDTH +#if defined(CONFIG_SYS_SDRAM_BUS_WIDTH_32) +#define CONFIG_SYS_SDRAM_BUS_WIDTH 32 #elif defined(CONFIG_SYS_SDRAM_BUS_WIDTH_16) -#define PHYS_SDRAM_1_WIDTH 16 +#define CONFIG_SYS_SDRAM_BUS_WIDTH 16 +#else +#define CONFIG_SYS_SDRAM_BUS_WIDTH 64 +#endif +#endif /* CONFIG_SYS_SDRAM_BUS_WIDTH */ +#ifdef __ASSEMBLY__ +#define _AC(x,s) x +#else +#define _AC(x,s) (x##s) +#endif +#define UL(x) _AC(x,UL) +#define PHYS_SDRAM_1_SIZE (UL(CONFIG_SYS_SDRAM_CHIP_SIZE) * \ + SZ_1M / 32 * \ + CONFIG_SYS_SDRAM_BUS_WIDTH) +#ifndef CONFIG_BOARD_TX6UL +#define FDT_HIGH_ADDR_STR "20000000" #else -#define PHYS_SDRAM_1_WIDTH 64 +#define FDT_HIGH_ADDR_STR "90000000" #endif -#define PHYS_SDRAM_1_SIZE (SZ_512M / 32 * PHYS_SDRAM_1_WIDTH) + #ifdef CONFIG_SOC_MX6Q #define CONFIG_SYS_SDRAM_CLK 528 #else @@ -69,11 +121,10 @@ */ #define CONFIG_SYS_LONGHELP #if defined(CONFIG_SOC_MX6Q) -#define CONFIG_SYS_PROMPT "TX6Q U-Boot > " #elif defined(CONFIG_SOC_MX6DL) -#define CONFIG_SYS_PROMPT "TX6DL U-Boot > " #elif defined(CONFIG_SOC_MX6S) -#define CONFIG_SYS_PROMPT "TX6S U-Boot > " +#elif defined(CONFIG_SOC_MX6UL) +#elif defined(CONFIG_SOC_MX6ULL) #else #error Unsupported i.MX6 processor variant #endif @@ -90,14 +141,6 @@ #define CONFIG_SYS_64BIT_VSPRINTF -/* - * Flattened Device Tree (FDT) support -*/ -#ifdef CONFIG_OF_LIBFDT -#ifdef CONFIG_TX6_NAND -#endif -#endif /* CONFIG_OF_LIBFDT */ - /* * Boot Linux */ @@ -108,6 +151,7 @@ #define CONFIG_CMDLINE_TAG #define CONFIG_INITRD_TAG +#define CONFIG_SUPPORT_RAW_INITRD #define CONFIG_SETUP_MEMORY_TAGS #ifndef CONFIG_TX6_UBOOT_MFG #define CONFIG_BOOTDELAY 1 @@ -122,13 +166,24 @@ #ifndef CONFIG_TX6_UBOOT_MFG #define CONFIG_BOOTCOMMAND DEFAULT_BOOTCMD #else -#define CONFIG_BOOTCOMMAND "set bootcmd '" DEFAULT_BOOTCMD "';" \ +#define CONFIG_BOOTCOMMAND "setenv bootcmd '" DEFAULT_BOOTCMD "';" \ "env import " xstr(CONFIG_BOOTCMD_MFG_LOADADDR) ";run bootcmd_mfg" +#if (defined(CONFIG_SOC_MX6SX) || defined(CONFIG_SOC_MX6SL) || \ + defined(CONFIG_BOARD_TX6UL)) +#define CONFIG_BOOTCMD_MFG_LOADADDR 80500000 +#else #define CONFIG_BOOTCMD_MFG_LOADADDR 10500000 +#endif #define CONFIG_DELAY_ENVIRONMENT #endif /* CONFIG_TX6_UBOOT_MFG */ +#if (defined(CONFIG_SOC_MX6SX) || defined(CONFIG_SOC_MX6SL) || \ + defined(CONFIG_BOARD_TX6UL)) +#define CONFIG_LOADADDR 82000000 +#define CONFIG_FDTADDR 81000000 +#else #define CONFIG_LOADADDR 18000000 #define CONFIG_FDTADDR 11000000 +#endif #define CONFIG_SYS_LOAD_ADDR _pfx(0x, CONFIG_LOADADDR) #define CONFIG_SYS_FDT_ADDR _pfx(0x, CONFIG_FDTADDR) #ifndef CONFIG_SYS_LVDS_IF @@ -138,45 +193,53 @@ #endif /* - * Extra Environments + * Extra Environment Settings */ #ifdef CONFIG_TX6_UBOOT_NOENV #define CONFIG_EXTRA_ENV_SETTINGS \ "autostart=no\0" \ "autoload=no\0" \ + "baseboard=stk5-v3\0" \ "bootdelay=-1\0" \ "fdtaddr=" xstr(CONFIG_FDTADDR) "\0" \ "mtdids=" MTDIDS_DEFAULT "\0" \ "mtdparts=" MTDPARTS_DEFAULT "\0" #else + +#define CONFIG_SYS_CPU_CLK_STR xstr(CONFIG_SYS_MPU_CLK) + #define CONFIG_EXTRA_ENV_SETTINGS \ "autostart=no\0" \ "baseboard=stk5-v3\0" \ - "bootargs_jffs2=run default_bootargs;set bootargs ${bootargs}" \ + "bootargs_jffs2=run default_bootargs" \ + ";setenv bootargs ${bootargs}" \ " root=/dev/mtdblock3 rootfstype=jffs2\0" \ - "bootargs_mmc=run default_bootargs;set bootargs ${bootargs}" \ + "bootargs_mmc=run default_bootargs;setenv bootargs ${bootargs}" \ MMC_ROOT_STR \ - "bootargs_nfs=run default_bootargs;set bootargs ${bootargs}" \ + "bootargs_nfs=run default_bootargs;setenv bootargs ${bootargs}" \ " root=/dev/nfs nfsroot=${nfs_server}:${nfsroot},nolock" \ " ip=dhcp\0" \ - "bootargs_ubifs=run default_bootargs;set bootargs ${bootargs}" \ + "bootargs_ubifs=run default_bootargs" \ + ";setenv bootargs ${bootargs}" \ " ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs\0" \ - "bootcmd_jffs2=set autostart no;run bootargs_jffs2" \ + "bootcmd_jffs2=setenv autostart no;run bootargs_jffs2" \ ";nboot linux\0" \ - "bootcmd_mmc=set autostart no;run bootargs_mmc" \ + "bootcmd_mmc=setenv autostart no;run bootargs_mmc" \ ";fatload mmc 0 ${loadaddr} uImage\0" \ CONFIG_SYS_BOOT_CMD_NAND \ - "bootcmd_net=set autoload y;set autostart n;run bootargs_nfs" \ + "bootcmd_net=setenv autoload y;setenv autostart n" \ + ";run bootargs_nfs" \ ";dhcp\0" \ "bootm_cmd=bootm ${loadaddr} - ${fdtaddr}\0" \ "boot_mode=" CONFIG_SYS_DEFAULT_BOOT_MODE "\0" \ - "cpu_clk=800\0" \ - "default_bootargs=set bootargs " CONFIG_BOOTARGS \ + "cpu_clk=" CONFIG_SYS_CPU_CLK_STR "\0" \ + "default_bootargs=setenv bootargs " CONFIG_BOOTARGS \ " ${append_bootargs}\0" \ EMMC_BOOT_PART_STR \ EMMC_BOOT_ACK_STR \ "fdtaddr=" xstr(CONFIG_FDTADDR) "\0" \ - CONFIG_SYS_FDTSAVE_CMD \ + FDTSAVE_CMD_STR \ + "fdt_high=" FDT_HIGH_ADDR_STR "\0" \ "mtdids=" MTDIDS_DEFAULT "\0" \ "mtdparts=" MTDPARTS_DEFAULT "\0" \ "nfsroot=/tftpboot/rootfs\0" \ @@ -189,8 +252,8 @@ #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 \ + "bootcmd_nand=setenv autostart no;run bootargs_ubifs;nboot linux\0" +#define FDTSAVE_CMD_STR \ "fdtsave=fdt resize;nand erase.part dtb" \ ";nand write ${fdtaddr} dtb ${fdtsize}\0" #define MTD_NAME "gpmi-nand" @@ -204,7 +267,7 @@ #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 \ +#define FDTSAVE_CMD_STR \ "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" @@ -225,6 +288,7 @@ #define CONFIG_BAUDRATE 115200 /* Default baud rate */ #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, } #define CONFIG_SYS_CONSOLE_INFO_QUIET +#define CONFIG_CONS_INDEX 1 /* * GPIO driver @@ -238,34 +302,50 @@ /* This is required for the FEC driver to work with cache enabled */ #define CONFIG_SYS_ARM_CACHE_WRITETHROUGH +#ifndef CONFIG_BOARD_TX6UL +#define CONFIG_FEC_MXC_PHYADDR 0 #define IMX_FEC_BASE ENET_BASE_ADDR +#else +#define FEC_MDIO_BASE_ADDR ENET_BASE_ADDR +#endif #define CONFIG_FEC_XCV_TYPE RMII #endif /* * I2C Configs */ -#ifdef CONFIG_SYS_I2C +#ifdef CONFIG_HARD_I2C #define CONFIG_SYS_I2C_BASE I2C1_BASE_ADDR #define CONFIG_SYS_I2C_SPEED 400000 +#endif /* CONFIG_HARD_I2C */ #if defined(CONFIG_TX6_REV) #if CONFIG_TX6_REV == 0x1 -#define CONFIG_SYS_I2C_SLAVE 0x3c #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 /* CONFIG_TX6_REV */ +#else /* CONFIG_TX6_REV */ +#ifdef CONFIG_BOARD_TX6UL +#ifdef CONFIG_SYS_I2C_SOFT +/* NOENV U-Boot is used for initial bootstrap. + * Since the TAMPER_PIN_DISABLE fuses have to be programmed + * to be able to use the TAMPER pins as GPIO to access the + * PMIC I2C bus, this is not possible on virgin hardware. + */ +#define CONFIG_SYS_I2C_SOFT_SPEED 400000 +#define CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SOFT_SPEED +#define CONFIG_SOFT_I2C_GPIO_SCL IMX_GPIO_NR(5, 0) +#define CONFIG_SOFT_I2C_GPIO_SDA IMX_GPIO_NR(5, 1) +#define CONFIG_SOFT_I2C_READ_REPEATED_START +#endif /* CONFIG_SYS_I2C_SOFT */ +#else /* !CONFIG_BOARD_TX6UL */ /* autodetect which PMIC is present to derive TX6_REV */ #define CONFIG_LTC3676 /* TX6_REV == 1 */ +#endif /* CONFIG_BOARD_TX6UL */ #define CONFIG_RN5T567 /* TX6_REV == 3 */ -#endif /* CONFIG_CMD_I2C */ +#endif /* CONFIG_TX6_REV */ #define CONFIG_ENV_OVERWRITE @@ -283,8 +363,6 @@ #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 @@ -309,6 +387,9 @@ #define CONFIG_CMD_FAT #define CONFIG_FAT_WRITE #define CONFIG_CMD_EXT2 +#define CONFIG_CMD_GPT +#define CONFIG_PARTITION_UUIDS +#define CONFIG_EFI_PARTITION /* * Environments on MMC @@ -318,15 +399,8 @@ #define CONFIG_SYS_MMC_ENV_PART 0x1 #define CONFIG_DYNAMIC_MMC_DEVNO #endif /* CONFIG_ENV_IS_IN_MMC */ -#else -#undef CONFIG_ENV_IS_IN_MMC #endif /* CONFIG_CMD_MMC */ -#ifdef CONFIG_ENV_IS_NOWHERE -#undef CONFIG_ENV_SIZE -#define CONFIG_ENV_SIZE SZ_4K -#endif - #ifdef CONFIG_TX6_NAND #define MTDPARTS_DEFAULT "mtdparts=" MTD_NAME ":" \ xstr(CONFIG_SYS_U_BOOT_PART_SIZE) \