]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Merge branch 'master' of git://git.denx.de/u-boot-i2c
authorTom Rini <trini@ti.com>
Tue, 10 Dec 2013 14:29:45 +0000 (09:29 -0500)
committerTom Rini <trini@ti.com>
Tue, 10 Dec 2013 14:29:45 +0000 (09:29 -0500)
25 files changed:
Makefile
arch/blackfin/cpu/.gitignore
arch/blackfin/cpu/Makefile
arch/blackfin/cpu/bootrom-asm-offsets.awk [deleted file]
arch/blackfin/cpu/bootrom-asm-offsets.c.in [deleted file]
arch/blackfin/cpu/gpio.c
arch/blackfin/include/asm/gpio.h
arch/powerpc/cpu/mpc83xx/Makefile
arch/powerpc/cpu/mpc85xx/speed.c
arch/powerpc/cpu/mpc85xx/start.S
board/freescale/c29xpcie/ddr.c
drivers/mtd/spi/fsl_espi_spl.c
drivers/spi/bfin_spi.c
drivers/spi/bfin_spi6xx.c
include/configs/MPC8349EMDS.h
include/configs/P1010RDB.h
include/configs/T2080QDS.h
include/configs/bf506f-ezkit.h
include/configs/bf525-ucr2.h
include/configs/bf533-stamp.h
include/configs/bf537-minotaur.h
include/configs/bf537-srv1.h
include/configs/blackstamp.h
include/configs/cm-bf548.h
include/configs/dnp5370.h

index 8b8691350558eeb69ef5c6a35d2eafcb63c5c77b..e693f7ffa20284d82548ea54ea9f394f577a27e5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -807,7 +807,6 @@ clean:
               $(obj)board/matrix_vision/*/bootscript.img                 \
               $(obj)board/voiceblue/eeprom                               \
               $(obj)u-boot.lds                                           \
-              $(obj)arch/blackfin/cpu/bootrom-asm-offsets.[chs]          \
               $(obj)arch/blackfin/cpu/init.{lds,elf}
        @rm -f $(obj)include/bmp_logo.h
        @rm -f $(obj)include/bmp_logo_data.h
index ba986d8ba87d49120e558f00820d37e9e9729568..3df1fa21c958ff1f1d5948a0f363cd776c32f339 100644 (file)
@@ -1,4 +1,2 @@
-bootrom-asm-offsets.[chs]
-
 init.lds
 init.elf
index 243dc22a0c61470e9c01ca8542f0884168eafc89..a61594ab72a9c94c6a4791b651a31e4703abf5b0 100644 (file)
@@ -23,16 +23,6 @@ obj-y  += traps.o
 
 extra-y += check_initcode
 
-extra-y += bootrom-asm-offsets.h
-$(obj)bootrom-asm-offsets.c: bootrom-asm-offsets.c.in bootrom-asm-offsets.awk
-       echo '#include <asm/mach-common/bits/bootrom.h>' | $(CPP) $(CPPFLAGS) - | gawk -f ./bootrom-asm-offsets.awk > $@.tmp
-       mv $@.tmp $@
-$(obj)bootrom-asm-offsets.s: $(obj)bootrom-asm-offsets.c
-       $(CC) $(CFLAGS) -S $^ -o $@.tmp
-       mv $@.tmp $@
-$(obj)bootrom-asm-offsets.h: $(obj)bootrom-asm-offsets.s
-       sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}" $^ > $@
-
 # make sure our initcode (which goes into LDR) does not
 # have relocs or external references
 $(obj)initcode.o: CFLAGS += -fno-function-sections -fno-data-sections
diff --git a/arch/blackfin/cpu/bootrom-asm-offsets.awk b/arch/blackfin/cpu/bootrom-asm-offsets.awk
deleted file mode 100644 (file)
index 1d61824..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/gawk -f
-BEGIN {
-       print "/* DO NOT EDIT: AUTOMATICALLY GENERATED"
-       print " * Input files: bootrom-asm-offsets.awk bootrom-asm-offsets.c.in"
-       print " * DO NOT EDIT: AUTOMATICALLY GENERATED"
-       print " */"
-       print ""
-       system("cat bootrom-asm-offsets.c.in")
-       print "{"
-}
-
-{
-       /* find a structure definition */
-       if ($0 ~ /typedef struct .* {/) {
-               delete members;
-               i = 0;
-
-               /* extract each member of the structure */
-               while (1) {
-                       getline
-                       if ($1 == "}")
-                               break;
-                       gsub(/[*;]/, "");
-                       members[i++] = $NF;
-               }
-
-               /* grab the structure's name */
-               struct = $NF;
-               sub(/;$/, "", struct);
-
-               /* output the DEFINE() macros */
-               while (i-- > 0)
-                       print "\tDEFINE(" struct ", " members[i] ");"
-               print ""
-       }
-}
-
-END {
-       print "\treturn 0;"
-       print "}"
-}
diff --git a/arch/blackfin/cpu/bootrom-asm-offsets.c.in b/arch/blackfin/cpu/bootrom-asm-offsets.c.in
deleted file mode 100644 (file)
index 64c2f24..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/* A little trick taken from the kernel asm-offsets.h where we convert
- * the C structures automatically into a bunch of defines for use in
- * the assembly files.
- */
-
-#include <linux/stddef.h>
-#include <asm/mach-common/bits/bootrom.h>
-
-#define _DEFINE(sym, val) asm volatile("\n->" #sym " %0 " #val : : "i" (val))
-#define DEFINE(s, m) _DEFINE(offset_##s##_##m, offsetof(s, m))
-
-int main(int argc, char * const argv[])
index 5e9c68af85ac0460ace557d867a3414d5455bb57..86da706f08d2164349b485c47c988b566916d2c5 100644 (file)
@@ -12,7 +12,7 @@
 #include <asm/gpio.h>
 #include <asm/portmux.h>
 
-#ifdef CONFIG_ADI_GPIO1
+#ifndef CONFIG_ADI_GPIO2
 #if ANOMALY_05000311 || ANOMALY_05000323
 enum {
        AWA_data = SYSCR,
index 376ec02b650897fa8a52b15ff38f8cc8abf1a48d..6ebcf01aff87303a25557316ae05bf5e20768514 100644 (file)
@@ -72,7 +72,7 @@
 
 #ifndef __ASSEMBLY__
 
-#ifdef CONFIG_ADI_GPIO1
+#ifndef CONFIG_ADI_GPIO2
 void set_gpio_dir(unsigned, unsigned short);
 void set_gpio_inen(unsigned, unsigned short);
 void set_gpio_polar(unsigned, unsigned short);
index c345dd6ae64f915d264637c59e0c099ceda0fffe..cf9116274d43ffb739313b34f46ba7d9d246178e 100644 (file)
@@ -38,9 +38,7 @@ obj-$(CONFIG_OF_LIBFDT) += fdt.o
 # Stub implementations of cache management functions for USB
 obj-y += cache.o
 
-ifdef CONFIG_SYS_FSL_DDR2
-obj-$(CONFIG_MPC8349) += $(SRCTREE)/drivers/ddr/fsl/mpc85xx_ddr_gen2.o
-else
+ifndef CONFIG_SYS_FSL_DDRC_GEN2
 obj-y += spd_sdram.o
 endif
 obj-$(CONFIG_SYS_FSL_DDR2) += law.o
index 1a58a194f99c6fd1ea2be9046ccbc37aa1549185..46ae80c4d819b244de758d60a28a09cd6095d4a5 100644 (file)
@@ -86,6 +86,14 @@ void get_sys_info(sys_info_t *sys_info)
        mem_pll_rat = (in_be32(&gur->rcwsr[0]) >>
                        FSL_CORENET_RCWSR0_MEM_PLL_RAT_SHIFT)
                        & FSL_CORENET_RCWSR0_MEM_PLL_RAT_MASK;
+       /* T4240/T4160 Rev2.0 MEM_PLL_RAT uses a value which is half of
+        * T4240/T4160 Rev1.0. eg. It's 12 in Rev1.0, however, for Rev2.0
+        * it uses 6.
+        */
+#if defined(CONFIG_PPC_T4240) || defined(CONFIG_PPC_T4160)
+       if (SVR_MAJ(get_svr()) >= 2)
+               mem_pll_rat *= 2;
+#endif
        if (mem_pll_rat > 2)
                sys_info->freq_ddrbus *= mem_pll_rat;
        else
index 6a81fa73e4bed59f306da48696ae99ec55d536c8..db84d10c5bf2a9ad695a9a5644df3812f20d1fa8 100644 (file)
@@ -886,7 +886,11 @@ delete_ccsr_l2_tlb:
        erratum_set_dcsr 0xb0008 0x00900000
        erratum_set_dcsr 0xb0e40 0xe00a0000
        erratum_set_ccsr 0x18600 CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY
+#ifdef  CONFIG_RAMBOOT_PBL
+       erratum_set_ccsr 0x10f00 0x495e5000
+#else
        erratum_set_ccsr 0x10f00 0x415e5000
+#endif
        erratum_set_ccsr 0x11f00 0x415e5000
 
        /* Make temp mapping uncacheable again, if it was initially */
index 968655c1b3474454e5f5b78eb9b9b6abbd6287e8..7c915b036f35303ad2b2e0b49c3dc7f842c86691 100644 (file)
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <i2c.h>
 #include <asm/fsl_law.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
@@ -92,3 +93,15 @@ void fsl_ddr_board_options(memctl_options_t *popts,
                popts->cs_local_opts[i].odt_wr_cfg = FSL_DDR_ODT_CS;
        }
 }
+
+void get_spd(generic_spd_eeprom_t *spd, u8 i2c_address)
+{
+       int ret = i2c_read(i2c_address, 0, 2, (uint8_t *)spd,
+                               sizeof(generic_spd_eeprom_t));
+
+       if (ret) {
+               printf("DDR: failed to read SPD from address %u\n",
+                               i2c_address);
+               memset(spd, 0, sizeof(generic_spd_eeprom_t));
+       }
+}
index 6263d8c2217e5385bce3f3778b6c774215c0002b..e5ac79b9520db5e975575229e74266015f099997 100644 (file)
@@ -31,6 +31,10 @@ void spi_boot(void)
                hang();
        }
 
+#ifdef CONFIG_FSL_CORENET
+       offset = CONFIG_SYS_SPI_FLASH_U_BOOT_OFFS;
+       code_len = CONFIG_SYS_SPI_FLASH_U_BOOT_SIZE;
+#else
        /*
        * Load U-Boot image from SPI flash into RAM
        */
@@ -50,6 +54,7 @@ void spi_boot(void)
        code_len = *(u32 *)(buf + ESPI_BOOT_IMAGE_SIZE);
        /* Skip spl code */
        code_len = code_len - CONFIG_SPL_MAX_SIZE;
+#endif
        /* copy code to DDR */
        spi_flash_read(flash, offset, code_len,
                       (void *)CONFIG_SYS_SPI_FLASH_U_BOOT_DST);
index bb88f3008a8b5ad899da0a0d0c037f05d912284d..aa89d89a32afa3c9e2710ff0214f50050a23f60e 100644 (file)
@@ -162,21 +162,22 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
        if (!spi_cs_is_valid(bus, cs))
                return NULL;
 
-       if (bus >= ARRAY_SIZE(pins) || pins[bus] == NULL) {
-               debug("%s: invalid bus %u\n", __func__, bus);
-               return NULL;
-       }
        switch (bus) {
 #ifdef SPI0_CTL
-               case 0: mmr_base = SPI0_CTL; break;
+       case 0:
+               mmr_base = SPI0_CTL; break;
 #endif
 #ifdef SPI1_CTL
-               case 1: mmr_base = SPI1_CTL; break;
+       case 1:
+               mmr_base = SPI1_CTL; break;
 #endif
 #ifdef SPI2_CTL
-               case 2: mmr_base = SPI2_CTL; break;
+       case 2:
+               mmr_base = SPI2_CTL; break;
 #endif
-               default: return NULL;
+       default:
+               debug("%s: invalid bus %u\n", __func__, bus);
+               return NULL;
        }
 
        bss = spi_alloc_slave(struct bfin_spi_slave, bus, cs);
index c25c4a9aeab5550d34b9b544a22b9d64bfc185ad..07b833d3a3de22b134b6d9ee4b1ffc6b422034f8 100644 (file)
@@ -154,10 +154,6 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
        if (!spi_cs_is_valid(bus, cs))
                return NULL;
 
-       if (bus >= ARRAY_SIZE(pins) || pins[bus] == NULL) {
-               debug("%s: invalid bus %u\n", __func__, bus);
-               return NULL;
-       }
        switch (bus) {
 #ifdef SPI0_REGBASE
        case 0:
@@ -175,6 +171,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
                break;
 #endif
        default:
+               debug("%s: invalid bus %u\n", __func__, bus);
                return NULL;
        }
 
index a80a6966bf6a0368ce7b5b0fc216bb6d3dc42087..037484104fcfaff6db17d360b70af1f85de3c698 100644 (file)
@@ -67,6 +67,7 @@
  */
 #define CONFIG_SYS_FSL_DDR2
 #ifdef CONFIG_SYS_FSL_DDR2
+#define CONFIG_SYS_FSL_DDRC_GEN2
 #define CONFIG_SYS_SPD_BUS_NUM 0
 #define SPD_EEPROM_ADDRESS1    0x52
 #define SPD_EEPROM_ADDRESS2    0x51
index eab386add43709122bf421037e457d4fe38277ce..1ed5e1df21f3dff8e3809657643919440dd98de0 100644 (file)
 #define CONFIG_SYS_NUM_ADDR_MAP                16      /* number of TLB1 entries */
 #endif
 
-#define CONFIG_SYS_MEMTEST_START       0x00000000      /* memtest works on */
+#define CONFIG_SYS_MEMTEST_START       0x00200000      /* memtest works on */
 #define CONFIG_SYS_MEMTEST_END         0x1fffffff
 #define CONFIG_PANIC_HANG              /* do not reset board on panic */
 
index ad09816974021d6b994e57c6c610150047f9b03e..bff001f4335bd70ce966f6ca442564bb7d368889 100644 (file)
@@ -155,7 +155,7 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_CHIP_SELECTS_PER_CTRL   (4 * CONFIG_DIMM_SLOTS_PER_CTLR)
 #define CONFIG_DDR_SPD
 #define CONFIG_SYS_FSL_DDR3
-#define CONFIG_FSL_DDR_INTERACTIVE
+#undef CONFIG_FSL_DDR_INTERACTIVE
 #define CONFIG_SYS_SPD_BUS_NUM 0
 #define CONFIG_SYS_SDRAM_SIZE  2048    /* for fixed parameter use */
 #define SPD_EEPROM_ADDRESS1    0x51
index 77b6735a7079f20cd1d53d35747fec2b66a28921..5ad3ee70d445a22b497ed254e70dd7d29f80f476 100644 (file)
@@ -94,6 +94,7 @@
 #define CONFIG_DCACHE_OFF
 #define CONFIG_UART_CONSOLE    0
 #define CONFIG_BAUDRATE 115200
+#define CONFIG_BFIN_SERIAL
 
 #define CONFIG_CMD_MEMORY
 #undef CONFIG_GZIP
index 1f65130f6cd862066a46db2187aca270af07244c..008f4b5ec8c1c799af6cbedfef97e19a6410609a 100644 (file)
@@ -85,6 +85,7 @@
 #define CONFIG_UART_CONSOLE    0
 
 #define CONFIG_BAUDRATE                115200
+#define CONFIG_BFIN_SERIAL
 #define CONFIG_BOOTARGS                "root=/dev/mtdblock0 rw"
 #define CONFIG_BOOTCOMMAND     "run sfboot"
 #define CONFIG_BOOTDELAY       5
index a22c868422178f8e002c93a68c7ccb31ad7254ca..f5b9658294387e3ebc89cf38c1e719b30c4a5800 100644 (file)
 /*
  * Software (bit-bang) I2C driver configuration
  */
-#define PF_SCL                 PF3
-#define PF_SDA                 PF2
-#define I2C_INIT               (*pFIO_DIR |=  PF_SCL); asm("ssync;")
-#define I2C_ACTIVE             (*pFIO_DIR |=  PF_SDA); \
-                               *pFIO_INEN &= ~PF_SDA; asm("ssync;")
-#define I2C_TRISTATE           (*pFIO_DIR &= ~PF_SDA); \
-                               *pFIO_INEN |= PF_SDA; asm("ssync;")
-#define I2C_READ               ((volatile)(*pFIO_FLAG_D & PF_SDA) != 0); \
-                               asm("ssync;")
-#define I2C_SDA(bit)   if (bit) { \
-                               *pFIO_FLAG_S = PF_SDA; \
-                               asm("ssync;"); \
-                               } \
-                       else    { \
-                               *pFIO_FLAG_C = PF_SDA; \
-                               asm("ssync;"); \
-                               }
-#define I2C_SCL(bit)   if (bit) { \
-                               *pFIO_FLAG_S = PF_SCL; \
-                               asm("ssync;"); \
-                               } \
-                       else    { \
-                               *pFIO_FLAG_C = PF_SCL; \
-                               asm("ssync;"); \
-                               }
-#define I2C_DELAY              udelay(5)       /* 1/4 I2C clock duration */
-
+#define CONFIG_SOFT_I2C_GPIO_SCL       GPIO_PF3
+#define CONFIG_SOFT_I2C_GPIO_SDA       GPIO_PF2
 
 /*
  * Flash Settings
index feb9d7344ac3a69224a98ebf03c1a0fb74dd3ad5..156eeabb06d5f7488b350f0b30ba3704f77ea020 100644 (file)
 
 #define CONFIG_BAUDRATE                57600
 #define CONFIG_UART_CONSOLE    0
+#define CONFIG_BFIN_SERIAL
 
 #define CONFIG_PANIC_HANG      1
 #define CONFIG_RTC_BFIN                1
index 1de8ffe2dfc8b290e1e1cf9054cb4f4ff99c8832..e12d761a24516653e6aec7f65f033f8191e7efd3 100644 (file)
 
 #define CONFIG_BAUDRATE                115200
 #define CONFIG_UART_CONSOLE    0
+#define CONFIG_BFIN_SERIAL
 
 #define CONFIG_PANIC_HANG      1
 #define CONFIG_RTC_BFIN                1
index 5b3aac795492915cd1d9ff6d2a90116e4000bb29..7de425349fb46be5b00ffb9f1bd590f49d423f13 100644 (file)
 #define CONFIG_BAUDRATE                57600
 #define CONFIG_LOADS_ECHO      1
 #define CONFIG_UART_CONSOLE    0
+#define CONFIG_BFIN_SERIAL
 
 /*
  * I2C settings
index 3c9eeb58a39f536fff57e8193c62c163919c0842..7f27eda416da7ecf3e4a8de60434f798cab8bf0f 100644 (file)
 #define CONFIG_BOOTCOMMAND     "run flashboot"
 #define FLASHBOOT_ENV_SETTINGS "flashboot=bootm 0x20040000\0"
 
+#define CONFIG_ADI_GPIO2
+
 #ifndef __ADSPBF542__
 /* Don't waste time transferring a logo over the UART */
 # if (CONFIG_BFIN_BOOT_MODE != BFIN_BOOT_UART)
index d0e72e3e13447ef36d88f44e450fcfedc702858c..4f2c742a5d1a5c779a2904523c7e85bb0bce1870 100644 (file)
 #define CONFIG_DNP5370_EXT_WD_DISABLE 1
 
 #define CONFIG_UART_CONSOLE 0
+#define CONFIG_BFIN_SERIAL
 #define CONFIG_BAUDRATE     115200
 #define CONFIG_BOOTCOMMAND  "bootm 0x20030000"
 #define CONFIG_BOOTARGS     "console=ttyBF0,115200 root=/dev/mtdblock3 rootfstype=ext2"