X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=include%2Fconfigs%2Ftx6.h;h=5faa9626f504ced4db1fd06476b959ac07ed1b6f;hp=06e6f630f090b143b7a173957d4c61d1a5fc1865;hb=b59a2abf0290bfc6d592858576196f40d9967a6f;hpb=251bcde49163d2262ade91bcd575fc96144d4db5 diff --git a/include/configs/tx6.h b/include/configs/tx6.h index 06e6f630f0..5faa9626f5 100644 --- a/include/configs/tx6.h +++ b/include/configs/tx6.h @@ -8,7 +8,7 @@ #ifndef __CONFIG_H #define __CONFIG_H -#ifndef CONFIG_SOC_MX6UL +#ifndef CONFIG_BOARD_TX6UL #define CONFIG_ARM_ERRATA_743622 #define CONFIG_ARM_ERRATA_751472 #define CONFIG_ARM_ERRATA_794072 @@ -43,33 +43,44 @@ #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_SOC_MX6UL +#ifndef CONFIG_BOARD_TX6UL #define CONFIG_VIDEO_IPUV3 #define CONFIG_IPUV3_CLK (CONFIG_SYS_SDRAM_CLK * 1000000 / 2) -#endif +#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 */ +#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 PHYS_SDRAM_1 0x10000000 /* Base address of bank 1 */ #define CONFIG_SYS_MPU_CLK 792 #else -#define PHYS_SDRAM_1 0x80000000 /* Base address of bank 1 */ #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 @@ -79,7 +90,21 @@ #define CONFIG_SYS_SDRAM_BUS_WIDTH 64 #endif #endif /* CONFIG_SYS_SDRAM_BUS_WIDTH */ -#define PHYS_SDRAM_1_SIZE (SZ_512M / 32 * 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 FDT_HIGH_ADDR_STR "90000000" +#endif + #ifdef CONFIG_SOC_MX6Q #define CONFIG_SYS_SDRAM_CLK 528 #else @@ -99,6 +124,7 @@ #elif defined(CONFIG_SOC_MX6DL) #elif defined(CONFIG_SOC_MX6S) #elif defined(CONFIG_SOC_MX6UL) +#elif defined(CONFIG_SOC_MX6ULL) #else #error Unsupported i.MX6 processor variant #endif @@ -125,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 @@ -141,14 +168,16 @@ #else #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_SOC_MX6UL)) +#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_SOC_MX6UL)) +#if (defined(CONFIG_SOC_MX6SX) || defined(CONFIG_SOC_MX6SL) || \ + defined(CONFIG_BOARD_TX6UL)) #define CONFIG_LOADADDR 82000000 #define CONFIG_FDTADDR 81000000 #else @@ -164,7 +193,7 @@ #endif /* - * Extra Environments + * Extra Environment Settings */ #ifdef CONFIG_TX6_UBOOT_NOENV #define CONFIG_EXTRA_ENV_SETTINGS \ @@ -176,6 +205,7 @@ "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 \ @@ -208,7 +238,8 @@ 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" \ @@ -222,7 +253,7 @@ #define CONFIG_SYS_DEFAULT_BOOT_MODE "nand" #define CONFIG_SYS_BOOT_CMD_NAND \ "bootcmd_nand=setenv autostart no;run bootargs_ubifs;nboot linux\0" -#define CONFIG_SYS_FDTSAVE_CMD \ +#define FDTSAVE_CMD_STR \ "fdtsave=fdt resize;nand erase.part dtb" \ ";nand write ${fdtaddr} dtb ${fdtsize}\0" #define MTD_NAME "gpmi-nand" @@ -236,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" @@ -271,9 +302,11 @@ /* This is required for the FEC driver to work with cache enabled */ #define CONFIG_SYS_ARM_CACHE_WRITETHROUGH -#ifndef CONFIG_SOC_MX6UL +#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 @@ -284,26 +317,35 @@ #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 */ -#ifndef CONFIG_SOC_MX6UL #define CONFIG_LTC3676 /* TX6_REV == 1 */ -#endif +#endif /* CONFIG_BOARD_TX6UL */ #define CONFIG_RN5T567 /* TX6_REV == 3 */ -#endif /* CONFIG_HARD_I2C */ +#endif /* CONFIG_TX6_REV */ #define CONFIG_ENV_OVERWRITE