From 83d1b3876695c4f21faff2b731d9ef83f38ed208 Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Sun, 17 Feb 2008 23:03:36 +0100 Subject: mpc86xx: Fix implicit declaration of functions 'init_laws' and 'disable_law' Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD diff --git a/cpu/mpc86xx/cpu_init.c b/cpu/mpc86xx/cpu_init.c index ab5906d..0efd855 100644 --- a/cpu/mpc86xx/cpu_init.c +++ b/cpu/mpc86xx/cpu_init.c @@ -28,6 +28,7 @@ #include #include +#include DECLARE_GLOBAL_DATA_PTR; -- cgit v0.10.2 From 04efddc87c50c84f85dad5c331c634a6ce830a83 Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Sun, 17 Feb 2008 23:35:31 +0100 Subject: mpc86xx: Fix unused variable 'config' and 'immap' and remove useless CONFIG_DDR_INTERLEAVE Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD diff --git a/cpu/mpc86xx/spd_sdram.c b/cpu/mpc86xx/spd_sdram.c index e501caf..60a7818 100644 --- a/cpu/mpc86xx/spd_sdram.c +++ b/cpu/mpc86xx/spd_sdram.c @@ -943,7 +943,7 @@ unsigned int enable_ddr(unsigned int ddr_num) spd_eeprom_t spd1,spd2; volatile ccsr_ddr_t *ddr; unsigned sdram_cfg_1; - unsigned char sdram_type, mem_type, config, mod_attr; + unsigned char sdram_type, mem_type, mod_attr; unsigned char d_init; unsigned int no_dimm1=0, no_dimm2=0; @@ -1017,6 +1017,10 @@ unsigned int enable_ddr(unsigned int ddr_num) printf("No memory modules found for DDR controller %d!!\n", ddr_num); return 0; } else { + +#if defined(CONFIG_DDR_ECC) + unsigned char config; +#endif mem_type = no_dimm2 ? spd1.mem_type : spd2.mem_type; /* @@ -1122,8 +1126,8 @@ spd_sdram(void) int memsize_ddr1_dimm2 = 0; int memsize_ddr1 = 0; unsigned int law_size_ddr1; - volatile immap_t *immap = (immap_t *)CFG_IMMR; #ifdef CONFIG_DDR_INTERLEAVE + volatile immap_t *immap = (immap_t *)CFG_IMMR; volatile ccsr_ddr_t *ddr1 = &immap->im_ddr1; #endif @@ -1183,7 +1187,6 @@ spd_sdram(void) #endif debug("Interleaved memory size is 0x%08lx\n", memsize_total); -#ifdef CONFIG_DDR_INTERLEAVE #if (CFG_PAGE_INTERLEAVING == 1) printf("Page "); #elif (CFG_BANK_INTERLEAVING == 1) @@ -1193,7 +1196,6 @@ spd_sdram(void) #else printf("Cache-line "); #endif -#endif printf("Interleaved"); return memsize_total * 1024 * 1024; } else { -- cgit v0.10.2 From 13f5433f700d4da9f6fdf2a4bb80310133a7c170 Mon Sep 17 00:00:00 2001 From: Jon Loeliger Date: Mon, 18 Feb 2008 14:01:56 -0600 Subject: 86xx: Convert sbc8641d to use libfdt. This is the proper fix for a missing closing brace in the function ft_cpu_setup() noticed by joe.hamman embeddedspecialties.com. The ft_cpu_setup() function in mpc8641hpcn.c should have been removed earlier as it was under the obsolete CONFIG_OF_FLAT_TREE, but was missed. Only, the sbc8641d was nominally still using it. It all got ripped out, and the funcality that was in ft_board_setup() was refactored to remove the CPU portions into the new file cpu/mpc86xx/fdt.c instead. Make sbc8641d use this now. Based loosely on an original patch from joe.hamman@embeddedspecialties.com Signed-off-by: Jon Loeliger diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c index 8278789..ae79143 100644 --- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c +++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c @@ -321,28 +321,16 @@ void pci_init_board(void) } + #if defined(CONFIG_OF_BOARD_SETUP) + void ft_board_setup(void *blob, bd_t *bd) { int node, tmp[2]; const char *path; - fdt_fixup_ethernet(blob, bd); - - do_fixup_by_prop_u32(blob, "device_type", "cpu", 4, - "timebase-frequency", bd->bi_busfreq / 4, 1); - do_fixup_by_prop_u32(blob, "device_type", "cpu", 4, - "bus-frequency", bd->bi_busfreq, 1); - do_fixup_by_prop_u32(blob, "device_type", "cpu", 4, - "clock-frequency", bd->bi_intfreq, 1); - do_fixup_by_prop_u32(blob, "device_type", "soc", 4, - "bus-frequency", bd->bi_busfreq, 1); - - do_fixup_by_compat_u32(blob, "ns16550", - "clock-frequency", bd->bi_busfreq, 1); - - fdt_fixup_memory(blob, bd->bi_memstart, bd->bi_memsize); + ft_cpu_setup(blob, bd); node = fdt_path_offset(blob, "/aliases"); tmp[0] = 0; diff --git a/board/sbc8641d/sbc8641d.c b/board/sbc8641d/sbc8641d.c index 7adc42f..78656e9 100644 --- a/board/sbc8641d/sbc8641d.c +++ b/board/sbc8641d/sbc8641d.c @@ -35,11 +35,8 @@ #include #include #include - -#if defined(CONFIG_OF_FLAT_TREE) -#include -extern void ft_cpu_setup (void *blob, bd_t * bd); -#endif +#include +#include #if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) extern void ddr_enable_ecc (unsigned int dram_size); @@ -341,18 +338,34 @@ void pci_init_board(void) } -#if defined(CONFIG_OF_FLAT_TREE) && defined(CONFIG_OF_BOARD_SETUP) -void ft_board_setup (void *blob, bd_t * bd) + +#if defined(CONFIG_OF_BOARD_SETUP) + +void +ft_board_setup (void *blob, bd_t *bd) { - u32 *p; - int len; + int node, tmp[2]; + const char *path; - ft_cpu_setup (blob, bd); + ft_cpu_setup(blob, bd); - p = ft_get_prop (blob, "/memory/reg", &len); - if (p != NULL) { - *p++ = cpu_to_be32 (bd->bi_memstart); - *p = cpu_to_be32 (bd->bi_memsize); + node = fdt_path_offset(blob, "/aliases"); + tmp[0] = 0; + if (node >= 0) { +#ifdef CONFIG_PCI1 + path = fdt_getprop(blob, node, "pci0", NULL); + if (path) { + tmp[1] = pci1_hose.last_busno - pci1_hose.first_busno; + do_fixup_by_path(blob, path, "bus-range", &tmp, 8, 1); + } +#endif +#ifdef CONFIG_PCI2 + path = fdt_getprop(blob, node, "pci1", NULL); + if (path) { + tmp[1] = pci2_hose.last_busno - pci2_hose.first_busno; + do_fixup_by_path(blob, path, "bus-range", &tmp, 8, 1); + } +#endif } } #endif diff --git a/cpu/mpc86xx/Makefile b/cpu/mpc86xx/Makefile index 6d9300e..537f62a 100644 --- a/cpu/mpc86xx/Makefile +++ b/cpu/mpc86xx/Makefile @@ -28,13 +28,20 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(CPU).a -START = start.o #resetvec.o +START = start.o SOBJS = cache.o -COBJS = traps.o cpu.o cpu_init.o speed.o interrupts.o \ - spd_sdram.o -SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) +COBJS-y += traps.o +COBJS-y += cpu.o +COBJS-y += cpu_init.o +COBJS-y += speed.o +COBJS-y += interrupts.o +COBJS-y += spd_sdram.o + +COBJS-$(CONFIG_OF_LIBFDT) += fdt.o + +SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS-y:.o=.c) +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS-y)) START := $(addprefix $(obj),$(START)) all: $(obj).depend $(START) $(LIB) diff --git a/cpu/mpc86xx/cpu.c b/cpu/mpc86xx/cpu.c index e1b3c52..bf4e651 100644 --- a/cpu/mpc86xx/cpu.c +++ b/cpu/mpc86xx/cpu.c @@ -29,9 +29,6 @@ #include #include -#if defined(CONFIG_OF_FLAT_TREE) -#include -#endif int checkcpu(void) @@ -269,64 +266,6 @@ dma_xfer(void *dest, uint count, void *src) #endif /* CONFIG_DDR_ECC */ -#ifdef CONFIG_OF_FLAT_TREE -void -ft_cpu_setup(void *blob, bd_t *bd) -{ - u32 *p; - ulong clock; - int len; - - clock = bd->bi_busfreq; - p = ft_get_prop(blob, "/cpus/" OF_CPU "/bus-frequency", &len); - if (p != NULL) - *p = cpu_to_be32(clock); - - p = ft_get_prop(blob, "/" OF_SOC "/serial@4500/clock-frequency", &len); - if (p != NULL) - *p = cpu_to_be32(clock); - - p = ft_get_prop(blob, "/" OF_SOC "/serial@4600/clock-frequency", &len); - if (p != NULL) - *p = cpu_to_be32(clock); - -#if defined(CONFIG_TSEC1) - p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/mac-address", &len); - if (p != NULL) - memcpy(p, bd->bi_enetaddr, 6); - p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/local-mac-address", &len); - if (p) - memcpy(p, bd->bi_enetaddr, 6); -#endif - -#if defined(CONFIG_TSEC2) - p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/mac-address", &len); - if (p != NULL) - memcpy(p, bd->bi_enet1addr, 6); - p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/local-mac-address", &len); - if (p != NULL) - memcpy(p, bd->bi_enet1addr, 6); -#endif - -#if defined(CONFIG_TSEC3) - p = ft_get_prop(blob, "/" OF_SOC "/ethernet@26000/mac-address", &len); - if (p != NULL) - memcpy(p, bd->bi_enet2addr, 6); - p = ft_get_prop(blob, "/" OF_SOC "/ethernet@26000/local-mac-address", &len); - if (p != NULL) - memcpy(p, bd->bi_enet2addr, 6); -#endif - -#if defined(CONFIG_TSEC4) - p = ft_get_prop(blob, "/" OF_SOC "/ethernet@27000/mac-address", &len); - if (p != NULL) - memcpy(p, bd->bi_enet3addr, 6); - p = ft_get_prop(blob, "/" OF_SOC "/ethernet@27000/local-mac-address", &len); - if (p != NULL) - memcpy(p, bd->bi_enet3addr, 6); -#endif -#endif /* CONFIG_OF_FLAT_TREE */ - /* * Print out the state of various machine registers. * Currently prints out LAWs and BR0/OR0 diff --git a/cpu/mpc86xx/fdt.c b/cpu/mpc86xx/fdt.c new file mode 100644 index 0000000..379306e --- /dev/null +++ b/cpu/mpc86xx/fdt.c @@ -0,0 +1,35 @@ +/* + * Copyright 2008 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * Version 2 as published by the Free Software Foundation. + */ + +#include +#include +#include + +void ft_cpu_setup(void *blob, bd_t *bd) +{ + do_fixup_by_prop_u32(blob, "device_type", "cpu", 4, + "timebase-frequency", bd->bi_busfreq / 4, 1); + do_fixup_by_prop_u32(blob, "device_type", "cpu", 4, + "bus-frequency", bd->bi_busfreq, 1); + do_fixup_by_prop_u32(blob, "device_type", "cpu", 4, + "clock-frequency", bd->bi_intfreq, 1); + do_fixup_by_prop_u32(blob, "device_type", "soc", 4, + "bus-frequency", bd->bi_busfreq, 1); + + fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize); + +#if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) \ + || defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3) + fdt_fixup_ethernet(blob, bd); +#endif + +#ifdef CFG_NS16550 + do_fixup_by_compat_u32(blob, "ns16550", + "clock-frequency", bd->bi_busfreq, 1); +#endif +} diff --git a/include/configs/sbc8641d.h b/include/configs/sbc8641d.h index 1991a8c..18cedff 100644 --- a/include/configs/sbc8641d.h +++ b/include/configs/sbc8641d.h @@ -268,13 +268,9 @@ /* * Pass open firmware flat tree to kernel */ -#define CONFIG_OF_FLAT_TREE 1 -#define CONFIG_OF_BOARD_SETUP 1 - -#define OF_CPU "PowerPC,8641@0" -#define OF_SOC "soc@f8000000" -#define OF_TBCLK (bd->bi_busfreq / 4) -#define OF_STDOUT_PATH "/soc@f8000000/serial@4500" +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 +#define CONFIG_OF_STDOUT_VIA_ALIAS 1 #define CFG_64BIT_VSPRINTF 1 #define CFG_64BIT_STRTOUL 1 -- cgit v0.10.2 From 975a083a5ef785c414b35f9c5b8ae25b26b41524 Mon Sep 17 00:00:00 2001 From: Jon Loeliger Date: Tue, 19 Feb 2008 12:31:08 -0600 Subject: 8610HPCD: Fix typos in two PCI setup registers. The two symbols MPC86xx_PORDEVSR_IO_SEL and MPC86xx_PORBMSR_HA were erroneously present as 85xx names and values, leftover from the clone wars. Fix this by removing the 85xx cruft from the 86xx codebase. Signed-off-by: Jon Loeliger diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c index 264e959..d5a4f0e 100644 --- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c +++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c @@ -280,13 +280,12 @@ void pci_init_board(void) volatile immap_t *immap = (immap_t *) CFG_CCSRBAR; volatile ccsr_gur_t *gur = &immap->im_gur; uint devdisr = gur->devdisr; - uint io_sel = (gur->pordevsr & MPC85xx_PORDEVSR_IO_SEL) >> 19; - uint host_agent = (gur->porbmsr & MPC85xx_PORBMSR_HA) >> 16; + uint io_sel = (gur->pordevsr & MPC86xx_PORDEVSR_IO_SEL) >> 19; + uint host_agent = (gur->porbmsr & MPC86xx_PORBMSR_HA) >> 16; printf( " pci_init_board: devdisr=%x, io_sel=%x, host_agent=%x\n", devdisr, io_sel, host_agent); - #ifdef CONFIG_PCIE1 { volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *) CFG_PCIE1_ADDR; diff --git a/include/asm-ppc/immap_86xx.h b/include/asm-ppc/immap_86xx.h index a15c6ec..6143062 100644 --- a/include/asm-ppc/immap_86xx.h +++ b/include/asm-ppc/immap_86xx.h @@ -1257,11 +1257,9 @@ typedef struct ccsr_gur { uint porpllsr; /* 0xe0000 - POR PLL ratio status register */ uint porbmsr; /* 0xe0004 - POR boot mode status register */ #define MPC86xx_PORBMSR_HA 0x00060000 -#define MPC85xx_PORBMSR_HA 0x00070000 uint porimpscr; /* 0xe0008 - POR I/O impedance status and control register */ uint pordevsr; /* 0xe000c - POR I/O device status regsiter */ #define MPC86xx_PORDEVSR_IO_SEL 0x000F0000 -#define MPC85xx_PORDEVSR_IO_SEL 0x00380000 /* 85xx platform type */ #define MPC86xx_PORDEVSR_CORE1TE 0x00000080 /* ASMP (Core1 addr trans) */ uint pordbgmsr; /* 0xe0010 - POR debug mode status register */ char res1[12]; -- cgit v0.10.2 From c54f9263e4e11e34b1e70c160bc467ef1d8ec59d Mon Sep 17 00:00:00 2001 From: TsiChungLiew Date: Wed, 30 Jan 2008 15:04:42 -0600 Subject: ColdFire: Fix 5282 and 5271 interrupt mask bit Signed-off-by: TsiChung Liew diff --git a/cpu/mcf52x2/interrupts.c b/cpu/mcf52x2/interrupts.c index 2ccbde5..9167cec 100644 --- a/cpu/mcf52x2/interrupts.c +++ b/cpu/mcf52x2/interrupts.c @@ -77,7 +77,7 @@ void dtimer_intr_setup(void) volatile int0_t *intp = (int0_t *) (CFG_INTR_BASE); intp->icr0[CFG_TMRINTR_NO] = CFG_TMRINTR_PRI; - intp->imrl0 &= ~0xFFFFFFFE; + intp->imrl0 &= 0xFFFFFFFE; intp->imrl0 &= ~CFG_TMRINTR_MASK; } #endif /* CONFIG_MCFTMR */ -- cgit v0.10.2 From 4d264eff4312f230776b913edade7ceb75f1b1e0 Mon Sep 17 00:00:00 2001 From: TsiChungLiew Date: Wed, 30 Jan 2008 15:08:15 -0600 Subject: ColdFire: Fix missing code flash size for M5485EVB Signed-off-by: James Mahan Signed-off-by: TsiChung Liew diff --git a/Makefile b/Makefile index a731ee8..b4d21fa 100644 --- a/Makefile +++ b/Makefile @@ -1921,7 +1921,7 @@ M5485HFE_config : unconfig M5485EFE_config) BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \ M5485FFE_config) BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \ M5485GFE_config) BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ - M5485HFE_config) BOOT=2;CODE=;VID=1;USB=0;RAM=64;RAM1=0;; \ + M5485HFE_config) BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \ esac; \ >include/config.h ; \ echo "#define CFG_BUSCLK 100000000" > $(obj)include/config.h ; \ -- cgit v0.10.2 From cb06eb961bdffc8728b38c242473d802e83ab2b4 Mon Sep 17 00:00:00 2001 From: Jon Loeliger Date: Wed, 20 Feb 2008 12:24:11 -0600 Subject: 8610HPCD: Don't use VIDEO/CFB_CONSOLE by default. Without an actual supported video card hooked up, enabling the CONFIG_VIDEO by default just makes it look broken by routing all console output to the video card. Don't. Signed-off-by: Jon Loeliger diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h index 3920147..9e70198 100644 --- a/include/configs/MPC8610HPCD.h +++ b/include/configs/MPC8610HPCD.h @@ -24,7 +24,7 @@ #define CONFIG_FSL_DIU_FB 1 /* FSL DIU */ /* video */ -#define CONFIG_VIDEO +#undef CONFIG_VIDEO #if defined(CONFIG_VIDEO) #define CONFIG_CFB_CONSOLE -- cgit v0.10.2 From a551cee99ad1d1da20fd23ad265de47448852f56 Mon Sep 17 00:00:00 2001 From: Jon Loeliger Date: Wed, 20 Feb 2008 14:22:26 -0600 Subject: 86xx: Fix GUR PCI config registers properly. Back in commit 975a083a5ef785c414b35f9c5b8ae25b26b41524 where I tried to "8610HPCD: Fix typos in two PCI setup registers", I botched it due to not realizing that 8610 and 8641 had different Global Utility Register defintions, one of which was like 85xx, and the other wasn't. Correct this problem by introducing two symbols, one for each 86xx SoC, but neither of which is named anything like 85xx. My bad. Lovely Wednesday with git bisect. You know. Signed-off-by: Jon Loeliger diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c index d5a4f0e..16acbbe 100644 --- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c +++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c @@ -280,8 +280,10 @@ void pci_init_board(void) volatile immap_t *immap = (immap_t *) CFG_CCSRBAR; volatile ccsr_gur_t *gur = &immap->im_gur; uint devdisr = gur->devdisr; - uint io_sel = (gur->pordevsr & MPC86xx_PORDEVSR_IO_SEL) >> 19; - uint host_agent = (gur->porbmsr & MPC86xx_PORBMSR_HA) >> 16; + uint io_sel = (gur->pordevsr & MPC8610_PORDEVSR_IO_SEL) + >> MPC8610_PORDEVSR_IO_SEL_SHIFT; + uint host_agent = (gur->porbmsr & MPC8610_PORBMSR_HA) + >> MPC8610_PORBMSR_HA_SHIFT; printf( " pci_init_board: devdisr=%x, io_sel=%x, host_agent=%x\n", devdisr, io_sel, host_agent); diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c index ae79143..0e451dc 100644 --- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c +++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c @@ -206,7 +206,8 @@ void pci_init_board(void) volatile immap_t *immap = (immap_t *) CFG_CCSRBAR; volatile ccsr_gur_t *gur = &immap->im_gur; uint devdisr = gur->devdisr; - uint io_sel = (gur->pordevsr & MPC86xx_PORDEVSR_IO_SEL) >> 16; + uint io_sel = (gur->pordevsr & MPC8641_PORDEVSR_IO_SEL) + >> MPC8641_PORDEVSR_IO_SEL_SHIFT; #ifdef CONFIG_PCI1 { @@ -214,7 +215,8 @@ void pci_init_board(void) extern void fsl_pci_init(struct pci_controller *hose); struct pci_controller *hose = &pci1_hose; #ifdef DEBUG - uint host1_agent = (gur->porbmsr & MPC86xx_PORBMSR_HA) >> 17; + uint host1_agent = (gur->porbmsr & MPC8641_PORBMSR_HA) + >> MPC8641_PORBMSR_HA_SHIFT; uint pex1_agent = (host1_agent == 0) || (host1_agent == 1); #endif if ((io_sel == 2 || io_sel == 3 || io_sel == 5 diff --git a/include/asm-ppc/immap_86xx.h b/include/asm-ppc/immap_86xx.h index 6143062..7526061 100644 --- a/include/asm-ppc/immap_86xx.h +++ b/include/asm-ppc/immap_86xx.h @@ -1256,10 +1256,16 @@ typedef struct ccsr_rio { typedef struct ccsr_gur { uint porpllsr; /* 0xe0000 - POR PLL ratio status register */ uint porbmsr; /* 0xe0004 - POR boot mode status register */ -#define MPC86xx_PORBMSR_HA 0x00060000 +#define MPC8610_PORBMSR_HA 0x00070000 +#define MPC8610_PORBMSR_HA_SHIFT 16 +#define MPC8641_PORBMSR_HA 0x00060000 +#define MPC8641_PORBMSR_HA_SHIFT 17 uint porimpscr; /* 0xe0008 - POR I/O impedance status and control register */ uint pordevsr; /* 0xe000c - POR I/O device status regsiter */ -#define MPC86xx_PORDEVSR_IO_SEL 0x000F0000 +#define MPC8610_PORDEVSR_IO_SEL 0x00380000 +#define MPC8610_PORDEVSR_IO_SEL_SHIFT 19 +#define MPC8641_PORDEVSR_IO_SEL 0x000F0000 +#define MPC8641_PORDEVSR_IO_SEL_SHIFT 16 #define MPC86xx_PORDEVSR_CORE1TE 0x00000080 /* ASMP (Core1 addr trans) */ uint pordbgmsr; /* 0xe0010 - POR debug mode status register */ char res1[12]; -- cgit v0.10.2 From d5908b093955415f3d340706378b991f911af671 Mon Sep 17 00:00:00 2001 From: Jon Loeliger Date: Wed, 20 Feb 2008 15:26:51 -0600 Subject: 8610HPCD: Document the flashbank selection switches. Signed-off-by: Jon Loeliger diff --git a/doc/README.mpc8610hpcd b/doc/README.mpc8610hpcd index 949dcb2..31a9af3 100644 --- a/doc/README.mpc8610hpcd +++ b/doc/README.mpc8610hpcd @@ -65,3 +65,9 @@ Examples; * 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio */ pixis-reset altbank cf 40 2.5 10 + + +DIP Switch Settings +------------------- +To manually switch the flash banks using the DIP switch +settings, toggle both SW6:1 and SW6:2. -- cgit v0.10.2 From e7a85f26830c9f2e78506421c2d519a2965bc7a1 Mon Sep 17 00:00:00 2001 From: Rafal Jaworowski Date: Thu, 21 Feb 2008 11:56:44 +0100 Subject: API: Add (c) and licensing notice to the public API header. Signed-off-by: Rafal Jaworowski diff --git a/include/api_public.h b/include/api_public.h index 690975e..9bc0501 100644 --- a/include/api_public.h +++ b/include/api_public.h @@ -1,3 +1,54 @@ +/* + * (C) Copyright 2007-2008 Semihalf + * + * Written by: Rafal Jaworowski + * + * This file is dual licensed; you can use it under the terms of + * either the GPL, or the BSD license, at your option. + * + * I. GPL: + * + * This file is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * Alternatively, + * + * II. BSD license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + #ifndef _API_PUBLIC_H_ #define _API_PUBLIC_H_ -- cgit v0.10.2 From 1ba639da5604a64b3ed884a2cbb1c5414a9fa728 Mon Sep 17 00:00:00 2001 From: Michael Schwingen Date: Mon, 18 Feb 2008 23:16:35 +0100 Subject: CFI: Do not use uninitialized cmd_reset Do not use uninitialized cmd_reset; issue both AMD and Intel reset commands instead From a short test, it looks like AMD-style flash roms treat *any* unknown command write as a reset, at least when in CFI Query mode, so issuing the Intel reset command to AMD-style flashs seems safe (from the small sample I have), plus the 3-cycle magic sequence should kick the state machine into the right state even without a reset command. Since the AMD-style flashs require the unlock sequence for real operation, I chose to try the AMD reset command first, so that Intel flashs do no see an invalid command prior to the CFI query. I have tested the patch on AM29LV320-style flashs from Fujitsu and Macronix, plus Intel StrataFlash. Signed-off-by: Michael Schwingen Signed-off-by: Stefan Roese diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c index eb509f5..439c950 100644 --- a/drivers/mtd/cfi_flash.c +++ b/drivers/mtd/cfi_flash.c @@ -1538,7 +1538,12 @@ static int __flash_detect_cfi (flash_info_t * info, struct cfi_qry *qry) { int cfi_offset; - flash_write_cmd (info, 0, 0, info->cmd_reset); + /* We do not yet know what kind of commandset to use, so we issue + the reset command in both Intel and AMD variants, in the hope + that AMD flash roms ignore the Intel command. */ + flash_write_cmd (info, 0, 0, AMD_CMD_RESET); + flash_write_cmd (info, 0, 0, FLASH_CMD_RESET); + for (cfi_offset=0; cfi_offset < sizeof(flash_offset_cfi) / sizeof(uint); cfi_offset++) { -- cgit v0.10.2 From f65c98129ccada3f7caf97d80395a95b84e911de Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 16 Feb 2008 02:12:37 -0500 Subject: Makefile: add target for $(LDSCRIPT) If the $(LDSCRIPT) does not exist (normally it's board/$(BOARD)/u-boot.lds), then change into the board directory and try and create it. This allows you to generate the linker script on the fly based upon board defines (like the Blackfin boards do). There should be no regressions due to this change as the normal case is to already have a u-boot.lds file. If that's the case, then there's nothing to generate, and so make will always exit. The fix here is that if the linker script does not exist, the implicit rules take over and attempt to guess how to generate the file. Signed-off-by: Mike Frysinger diff --git a/Makefile b/Makefile index a731ee8..7446bc7 100644 --- a/Makefile +++ b/Makefile @@ -326,6 +326,9 @@ $(LIBS): depend $(obj)include/autoconf.mk $(SUBDIRS): depend $(obj)include/autoconf.mk $(MAKE) -C $@ all +$(LDSCRIPT): depend $(obj)include/autoconf.mk + $(MAKE) -C $(dir $@) $(notdir $@) + $(NAND_SPL): $(VERSION_FILE) $(obj)include/autoconf.mk $(MAKE) -C nand_spl/board/$(BOARDDIR) all -- cgit v0.10.2 From edfed1d91df2b2670a812ca9d1a1f9faae7dba47 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 16 Feb 2008 02:40:18 -0500 Subject: easylogo: clean up some more and add -r (rgb) support Michael Hennerich added support for outputting an image in RGB format rather than forcing YUYV all the time. This makes obvious sense if the display you have takes RGB input rather than YUYV. Rather than hack in support for options, I've converted it to use getopt and cleaned up the argument parsing in the process. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger diff --git a/tools/easylogo/easylogo.c b/tools/easylogo/easylogo.c index 080bea9..c20e6a7 100644 --- a/tools/easylogo/easylogo.c +++ b/tools/easylogo/easylogo.c @@ -7,6 +7,8 @@ ** This is still under construction! */ +#include +#include #include #include #include @@ -216,15 +218,10 @@ int image_load_tga (image_t * image, char *filename) return 0; } -int image_free (image_t * image) +void image_free (image_t * image) { - if (image->data != NULL) - free (image->data); - - if (image->palette != NULL) - free (image->palette); - - return 0; + free (image->data); + free (image->palette); } int image_rgb_to_yuyv (image_t * rgb_image, image_t * yuyv_image) @@ -353,59 +350,76 @@ int image_save_header (image_t * image, char *filename, char *varname) #define DEF_FILELEN 256 +static void usage (int exit_status) +{ + puts ( + "EasyLogo 1.0 (C) 2000 by Paolo Scaffardi\n" + "\n" + "Syntax: easylogo [options] inputfile [outputvar [outputfile]]\n" + "\n" + "Options:\n" + " -r Output RGB instead of YUYV\n" + " -h Help output\n" + "\n" + "Where: 'inputfile' is the TGA image to load\n" + " 'outputvar' is the variable name to create\n" + " 'outputfile' is the output header file (default is 'inputfile.h')" + ); + exit (exit_status); +} + int main (int argc, char *argv[]) { + int c; + bool use_rgb = false; char inputfile[DEF_FILELEN], outputfile[DEF_FILELEN], varname[DEF_FILELEN]; image_t rgb_logo, yuyv_logo; - switch (argc) { - case 2: - case 3: - case 4: - strcpy (inputfile, argv[1]); - - if (argc > 2) - strcpy (varname, argv[2]); - else { - char *dot = strchr (inputfile, '.'); - int pos = dot - inputfile; - - if (dot) { - strncpy (varname, inputfile, pos); - varname[pos] = 0; - } - } - - if (argc > 3) - strcpy (outputfile, argv[3]); - else { - char *dot = strchr (varname, '.'); - int pos = dot - varname; - - if (dot) { - char app[DEF_FILELEN]; - - strncpy (app, varname, pos); - app[pos] = 0; - sprintf (outputfile, "%s.h", app); - } + while ((c = getopt(argc, argv, "hr")) > 0) { + switch (c) { + case 'h': + usage (0); + break; + case 'r': + use_rgb = true; + puts ("Using 24-bit RGB Output Fromat"); + break; + default: + usage (1); + break; } - break; - - default: - printf ("EasyLogo 1.0 (C) 2000 by Paolo Scaffardi\n\n"); + } - printf("Syntax: easylogo inputfile [outputvar {outputfile}] \n"); - printf("\n"); - printf("Where: 'inputfile' is the TGA image to load\n"); - printf(" 'outputvar' is the variable name to create\n"); - printf(" 'outputfile' is the output header file (default is 'inputfile.h')\n"); + c = argc - optind; + if (c > 4 || c < 1) + usage (1); + + strcpy (inputfile, argv[optind]); + + if (c > 1) + strcpy (varname, argv[optind + 1]); + else { + /* transform "input.tga" to just "input" */ + char *dot; + strcpy (varname, inputfile); + dot = strchr (varname, '.'); + if (dot) + *dot = '\0'; + } - return -1; + if (c > 2) + strcpy (outputfile, argv[optind + 2]); + else { + /* just append ".h" to input file name */ + strcpy (outputfile, inputfile); + strcat (outputfile, ".h"); } + /* Make sure the output is sent as soon as we printf() */ + setbuf(stdout, NULL); + printf ("Doing '%s' (%s) from '%s'...", outputfile, varname, inputfile); @@ -417,20 +431,23 @@ int main (int argc, char *argv[]) exit (1); } - /* Convert it to YUYV format */ + /* Convert it to YUYV format if wanted */ - printf ("C"); - image_rgb_to_yuyv (&rgb_logo, &yuyv_logo); + if (!use_rgb) { + printf ("C"); + image_rgb_to_yuyv (&rgb_logo, &yuyv_logo); + } /* Save it into a header format */ printf ("S"); - image_save_header (&yuyv_logo, outputfile, varname); + image_save_header (use_rgb ? &rgb_logo : &yuyv_logo, outputfile, varname); /* Free original image and copy */ image_free (&rgb_logo); - image_free (&yuyv_logo); + if (!use_rgb) + image_free (&yuyv_logo); printf ("\n"); -- cgit v0.10.2 From beeccf7a5dc5415c202e0132a33c58fc316c2a62 Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Sun, 17 Feb 2008 16:58:04 +0100 Subject: MIPS: Fix CFG_NO_FLASH support - Fix flash_init call when CFG_NO_FLASH is used - Remove no more needed flash.c for qemu-mips Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD diff --git a/board/qemu-mips/Makefile b/board/qemu-mips/Makefile index 23be447..837b6b9 100644 --- a/board/qemu-mips/Makefile +++ b/board/qemu-mips/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS = $(BOARD).o flash.o +COBJS = $(BOARD).o SOBJS = lowlevel_init.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) diff --git a/board/qemu-mips/flash.c b/board/qemu-mips/flash.c deleted file mode 100644 index e988272..0000000 --- a/board/qemu-mips/flash.c +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (C) Copyright 2003 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include -/*----------------------------------------------------------------------- - * flash_init() - * - * sets up flash_info and returns size of FLASH (bytes) - */ -unsigned long flash_init(void) -{ - printf("Skipping flash_init\n"); - return(0); -} - -int write_buff(void *info, uchar *src, ulong addr, ulong cnt) -{ - printf("write_buff not implemented\n"); - return(-1); -} diff --git a/lib_mips/board.c b/lib_mips/board.c index c1a0acf..1645f2c 100644 --- a/lib_mips/board.c +++ b/lib_mips/board.c @@ -121,12 +121,13 @@ static int display_banner(void) return (0); } +#ifndef CFG_NO_FLASH static void display_flash_config(ulong size) { puts ("Flash: "); print_size (size, "\n"); } - +#endif static int init_baudrate (void) { @@ -247,7 +248,7 @@ void board_init_f(ulong bootflag) debug ("Reserving %d Bytes for Global Data at: %08lx\n", sizeof (gd_t), addr_sp); - /* Reserve memory for boot params. + /* Reserve memory for boot params. */ addr_sp -= CFG_BOOTPARAMS_LEN; bd->bi_boot_params = addr_sp; @@ -301,7 +302,9 @@ void board_init_f(ulong bootflag) void board_init_r (gd_t *id, ulong dest_addr) { cmd_tbl_t *cmdtp; +#ifndef CFG_NO_FLASH ulong size; +#endif extern void malloc_bin_reloc (void); #ifndef CFG_ENV_IS_NOWHERE extern char * env_name_spec; @@ -322,7 +325,7 @@ void board_init_r (gd_t *id, ulong dest_addr) /* * We have to relocate the command table manually */ - for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) { + for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) { ulong addr; addr = (ulong) (cmdtp->cmd) + gd->reloc_off; @@ -352,13 +355,16 @@ void board_init_r (gd_t *id, ulong dest_addr) env_name_spec += gd->reloc_off; #endif + bd = gd->bd; + +#ifndef CFG_NO_FLASH /* configure available FLASH banks */ size = flash_init(); display_flash_config (size); + bd->bi_flashsize = size; +#endif - bd = gd->bd; bd->bi_flashstart = CFG_FLASH_BASE; - bd->bi_flashsize = size; #if CFG_MONITOR_BASE == CFG_FLASH_BASE bd->bi_flashoffset = monitor_flash_len; /* reserved area for U-Boot */ #else -- cgit v0.10.2 From e845e07e1e6e64f40e35688439d3cdcf01cfff4f Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Sun, 17 Feb 2008 23:52:46 +0100 Subject: uli526x: Fix multiple differ in signedness and parentheses around comparison Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD diff --git a/drivers/net/uli526x.c b/drivers/net/uli526x.c index 8460f69..d64845f 100644 --- a/drivers/net/uli526x.c +++ b/drivers/net/uli526x.c @@ -32,9 +32,9 @@ #define ULI5261_DEVICE_ID 0x5261 #define ULI5263_DEVICE_ID 0x5263 /* ULi M5261 ID*/ -#define PCI_ULI5261_ID ULI5261_DEVICE_ID << 16 | ULI_VENDOR_ID +#define PCI_ULI5261_ID (ULI5261_DEVICE_ID << 16 | ULI_VENDOR_ID) /* ULi M5263 ID*/ -#define PCI_ULI5263_ID ULI5263_DEVICE_ID << 16 | ULI_VENDOR_ID +#define PCI_ULI5263_ID (ULI5263_DEVICE_ID << 16 | ULI_VENDOR_ID) #define ULI526X_IO_SIZE 0x100 #define TX_DESC_CNT 0x10 /* Allocated Tx descriptors */ @@ -281,7 +281,7 @@ static int uli526x_init_one(struct eth_device *dev, bd_t *bis) if (db->desc_pool_ptr == NULL) return -1; - db->buf_pool_ptr = &buf_pool[0]; + db->buf_pool_ptr = (uchar *)&buf_pool[0]; db->buf_pool_dma_ptr = (dma_addr_t)&buf_pool[0]; if (db->buf_pool_ptr == NULL) return -1; @@ -588,7 +588,7 @@ static int uli526x_rx_packet(struct eth_device *dev) __FUNCTION__, i, rxptr->rx_buf_ptr[i]); #endif - NetReceive(rxptr->rx_buf_ptr, rxlen); + NetReceive((uchar *)rxptr->rx_buf_ptr, rxlen); uli526x_reuse_buf(rxptr); } else { @@ -656,7 +656,7 @@ static void uli526x_descriptor_init(struct uli526x_board_info *db, tmp_tx_dma = db->first_tx_desc_dma; for (tmp_tx = db->first_tx_desc, i = 0; i < TX_DESC_CNT; i++, tmp_tx++) { - tmp_tx->tx_buf_ptr = tmp_buf; + tmp_tx->tx_buf_ptr = (char *)tmp_buf; tmp_tx->tdes0 = cpu_to_le32(0); tmp_tx->tdes1 = cpu_to_le32(0x81000000); /* IC, chain */ tmp_tx->tdes2 = cpu_to_le32(tmp_buf_dma); -- cgit v0.10.2 From 98ba144ccc912eee90dd42699f023c497ce774c6 Mon Sep 17 00:00:00 2001 From: Kyungmin Park Date: Mon, 18 Feb 2008 14:35:43 +0900 Subject: Fix GPMC CS2 memory setup at apollon It disables the current map first Signed-off-by: Kyungmin Park diff --git a/board/apollon/mem.c b/board/apollon/mem.c index c0edca5..0211c6a 100644 --- a/board/apollon/mem.c +++ b/board/apollon/mem.c @@ -198,6 +198,8 @@ void gpmc_init(void) sdelay(2000); /* setup cs2 */ + __raw_writel(0x0, GPMC_CONFIG7_2); /* disable current map */ + sdelay(1000); __raw_writel(APOLLON_24XX_GPMC_CONFIG1_0 | mux | mtype | mwidth, GPMC_CONFIG1_2); /* It's same as cs 0 */ -- cgit v0.10.2 From 019895a8dee71a9f00da05c03e379f45d581b0fe Mon Sep 17 00:00:00 2001 From: Stefano Babic Date: Mon, 18 Feb 2008 08:03:51 +0100 Subject: Fix bug in dependency checking By adding VERSION_FILE to the PHONY targets the script /tools/setlocalversion is always called and version_autogenerated.h is replaced only if the script find a modified source file. Signed-off-by: Stefano Babic diff --git a/Makefile b/Makefile index 7446bc7..82d3ab4 100644 --- a/Makefile +++ b/Makefile @@ -244,7 +244,7 @@ LIBS += libfdt/libfdt.a LIBS += api/libapi.a LIBS := $(addprefix $(obj),$(LIBS)) -.PHONY : $(LIBS) +.PHONY : $(LIBS) $(VERSION_FILE) # Add GCC lib PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -- cgit v0.10.2 From 16fe77752eee099b9fb61ed73460e51cc94b37ba Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 18 Feb 2008 05:10:07 -0500 Subject: error check autoconf.mk generation If any of the steps for generating autoconf.mk fail currently, they go unnoticed. To fix, we can simply add 'set -e' to the long list of commands. This is simpler and more robust than placing '|| exit $$?' after every line. Signed-off-by: Mike Frysinger diff --git a/Makefile b/Makefile index 82d3ab4..7d35d14 100644 --- a/Makefile +++ b/Makefile @@ -414,6 +414,7 @@ $(obj)System.map: $(obj)u-boot # to regenerate the autoconf.mk file. $(obj)include/autoconf.mk: $(obj)include/config.h $(VERSION_FILE) @$(XECHO) Generating include/autoconf.mk ; \ + set -e ; \ : Generate the dependancies ; \ $(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) -MQ $@ include/common.h > $@.dep ; \ : Extract the config macros ; \ -- cgit v0.10.2 From 755c35f54ba7eb7687aa7935e04a02a01ef1b27b Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 18 Feb 2008 05:24:13 -0500 Subject: include autoconf.mk before any other .mk files This bumps the autoconf.mk include step above board/cpu/arch/etc... so that those .mk files can have make if statements based on the current config. Signed-off-by: Mike Frysinger diff --git a/config.mk b/config.mk index ee057b5..22d3398 100644 --- a/config.mk +++ b/config.mk @@ -69,6 +69,9 @@ PLATFORM_CPPFLAGS+= -D__ARM__ endif endif +# Load generated board configuration +sinclude $(OBJTREE)/include/autoconf.mk + ifdef ARCH sinclude $(TOPDIR)/$(ARCH)_config.mk # include architecture dependend rules endif @@ -87,9 +90,6 @@ ifdef BOARD sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk # include board specific rules endif -# Load generated board configuration -sinclude $(OBJTREE)/include/autoconf.mk - ######################################################################### CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ -- cgit v0.10.2 From 81d93e5c4b83d8b6dcee69de6f4a14ccf6f7114a Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Mon, 18 Feb 2008 08:09:37 -0600 Subject: ppc: Allow boards to specify effective amount of memory For historical reasons we limited the stack to 256M because some boards could only map that much via BATS. However newer boards are capable of mapping more memory (for example 85xx is capable of doing up to 2G). Signed-off-by: Kumar Gala diff --git a/lib_ppc/board.c b/lib_ppc/board.c index 45d1328..fbf1c5d 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -361,6 +361,20 @@ init_fnc_t *init_sequence[] = { NULL, /* Terminate this list */ }; +#ifndef CONFIG_MAX_MEM_MAPPED +#define CONFIG_MAX_MEM_MAPPED (256 << 20) +#endif +ulong get_effective_memsize(void) +{ +#ifndef CONFIG_VERY_BIG_RAM + return gd->ram_size; +#else + /* limit stack to what we can reasonable map */ + return ((gd->ram_size > CONFIG_MAX_MEM_MAPPED) ? + CONFIG_MAX_MEM_MAPPED : gd->ram_size); +#endif +} + /************************************************************************ * * This is the first part of the initialization sequence that is @@ -419,13 +433,7 @@ void board_init_f (ulong bootflag) */ len = (ulong)&_end - CFG_MONITOR_BASE; -#ifndef CONFIG_VERY_BIG_RAM - addr = CFG_SDRAM_BASE + gd->ram_size; -#else - /* only allow stack below 256M */ - addr = CFG_SDRAM_BASE + - (gd->ram_size > 256 << 20) ? 256 << 20 : gd->ram_size; -#endif + addr = CFG_SDRAM_BASE + get_effective_memsize(); #ifdef CONFIG_LOGBUFFER /* reserve kernel log buffer */ -- cgit v0.10.2 From 5a9abcc317cf3c8a69559ff83081f4e5d719edb7 Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Mon, 18 Feb 2008 08:18:07 -0600 Subject: Remove duplicate defines for ARRAY_SIZE A few duplicate of the ARRAY_SIZE macro sneaked in since we put the define in common.h. Signed-off-by: Kumar Gala diff --git a/include/asm-ppc/fsl_law.h b/include/asm-ppc/fsl_law.h index 23bd505..e955c75 100644 --- a/include/asm-ppc/fsl_law.h +++ b/include/asm-ppc/fsl_law.h @@ -3,7 +3,6 @@ #include -#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) #define SET_LAW_ENTRY(idx, a, sz, trgt) \ { .index = idx, .addr = a, .size = sz, .trgt_id = trgt } diff --git a/include/asm-ppc/mmu.h b/include/asm-ppc/mmu.h index ec1ca53..5af22af 100644 --- a/include/asm-ppc/mmu.h +++ b/include/asm-ppc/mmu.h @@ -427,7 +427,6 @@ extern void disable_tlb(u8 esel); extern void invalidate_tlb(u8 tlb); extern void init_tlbs(void); -#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) #define SET_TLB_ENTRY(_tlb, _epn, _rpn, _perms, _wimge, _ts, _esel, _sz, _iprot) \ { .tlb = _tlb, .epn = _epn, .rpn = _rpn, .perms = _perms, \ .wimge = _wimge, .ts = _ts, .esel = _esel, .tsize = _sz, .iprot = _iprot } -- cgit v0.10.2 From bc77881247ee6f95d7a9ebc499d26b96bae38c9d Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Thu, 21 Feb 2008 12:52:29 +0100 Subject: ppc4xx: Support for ATI Radeon 9200 card on sequoia Adds configuration option for ATI Radeon 9200 card support to sequoia config file. If CONFIG_VIDEO is enabled, TEXT_BASE should be changed to 0xFFF80000. Signed-off-by: Anatolij Gustschin diff --git a/include/configs/sequoia.h b/include/configs/sequoia.h index cd0ae6d..52952a9 100644 --- a/include/configs/sequoia.h +++ b/include/configs/sequoia.h @@ -43,7 +43,13 @@ #define CONFIG_SYS_CLK_FREQ ((in8(CFG_BCSR_BASE + 3) & 0x80) ? \ 33333333 : 33000000) -#if 0 +/* + * Define this if you want support for video console with radeon 9200 pci card + * Also set TEXT_BASE to 0xFFF80000 in board/amcc/sequoia/config.mk in this case + */ +#undef CONFIG_VIDEO + +#ifdef CONFIG_VIDEO /* * 44x dcache supported is working now on sequoia, but we don't enable * it yet since it needs further testing @@ -58,8 +64,13 @@ * Base addresses -- Note these are effective addresses where the actual * resources get mapped (not physical addresses). */ +#ifndef CONFIG_VIDEO #define CFG_MONITOR_LEN (384 * 1024) /* Reserve 384 kiB for Monitor */ #define CFG_MALLOC_LEN (256 * 1024) /* Reserve 256 kiB for malloc() */ +#else +#define CFG_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Monitor */ +#define CFG_MALLOC_LEN (1024 * 1024) /* Reserve 1024 kB for malloc() */ +#endif #define CFG_TLB_FOR_BOOT_FLASH 0x0003 #define CFG_BOOT_BASE_ADDR 0xf0000000 @@ -571,4 +582,17 @@ #define CONFIG_OF_LIBFDT 1 #define CONFIG_OF_BOARD_SETUP 1 +#ifdef CONFIG_VIDEO +#define CONFIG_BIOSEMU /* x86 bios emulator for vga bios */ +#define CONFIG_ATI_RADEON_FB /* use radeon framebuffer driver */ +#define VIDEO_IO_OFFSET 0xe8000000 +#define CFG_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET +#define CONFIG_VIDEO_SW_CURSOR +#define CONFIG_VIDEO_LOGO +#define CONFIG_CFB_CONSOLE +#define CONFIG_SPLASH_SCREEN +#define CONFIG_VGA_AS_SINGLE_DEVICE +#define CONFIG_CMD_BMP +#endif + #endif /* __CONFIG_H */ -- cgit v0.10.2 From 2e721094a70a52206af2e1bf1208d9a7131f6dad Mon Sep 17 00:00:00 2001 From: Yuri Tikhonov Date: Thu, 21 Feb 2008 14:23:42 +0100 Subject: lwmon5: enable hardware watchdog Some boards (e.g. lwmon5) may use rather small watchdog intervals, so causing it to reboot the board if U-Boot does a long busy-wait with udelay(). Thus, for these boards we have to restart WD more frequently. This patch splits the busy-wait udelay() into smaller, predefined, intervals, so that the watchdog timer may be resetted with the configurable (CONFIG_WD_PERIOD) interval. Signed-off-by: Yuri Tikhonov diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h index d8a2267..97e8bf1 100644 --- a/include/configs/lwmon5.h +++ b/include/configs/lwmon5.h @@ -366,12 +366,11 @@ #define CFG_PCI_SUBSYS_VENDORID 0x10e8 /* AMCC */ #define CFG_PCI_SUBSYS_ID 0xcafe /* Whatever */ -#if 0 /* * ToDo: Watchdog is not test fully, so exclude it for now */ #define CONFIG_HW_WATCHDOG 1 /* Use external HW-Watchdog */ -#endif +#define CONFIG_WD_PERIOD 40000 /* in usec */ /* * For booting Linux, the board info and command line data diff --git a/lib_ppc/time.c b/lib_ppc/time.c index 51e8e840..2649d5f 100644 --- a/lib_ppc/time.c +++ b/lib_ppc/time.c @@ -23,6 +23,9 @@ #include +#ifndef CONFIG_WD_PERIOD +# define CONFIG_WD_PERIOD (10 * 1000 * 1000) /* 10 seconds default*/ +#endif /* ------------------------------------------------------------------------- */ @@ -53,9 +56,14 @@ unsigned long usec2ticks(unsigned long usec) */ void udelay(unsigned long usec) { - ulong ticks = usec2ticks (usec); - - wait_ticks (ticks); + ulong ticks, kv; + + do { + kv = usec > CONFIG_WD_PERIOD ? CONFIG_WD_PERIOD : usec; + ticks = usec2ticks (kv); + wait_ticks (ticks); + usec -= kv; + } while(usec); } /* ------------------------------------------------------------------------- */ -- cgit v0.10.2 From 79eac2bfb591f2b028ec1735049dc91e4320de4a Mon Sep 17 00:00:00 2001 From: Heiko Schocher Date: Thu, 21 Feb 2008 18:31:15 +0100 Subject: Fix device tree for mgsuvd board. Rename the "scc" node in "ethernet" for the mgsuvd board. Signed-off-by: Heiko Schocher diff --git a/board/mgsuvd/mgsuvd.c b/board/mgsuvd/mgsuvd.c index dd7d823..9fd164b 100644 --- a/board/mgsuvd/mgsuvd.c +++ b/board/mgsuvd/mgsuvd.c @@ -193,7 +193,7 @@ void ft_blob_update(void *blob, bd_t *bd) "err:%s\n", fdt_strerror(nodeoffset)); } /* MAC Adresse */ - nodeoffset = fdt_path_offset (blob, "/soc866/cpm/scc"); + nodeoffset = fdt_path_offset (blob, "/soc866/cpm/ethernet"); if (nodeoffset >= 0) { ret = fdt_setprop(blob, nodeoffset, "mac-address", bd->bi_enetaddr, sizeof(uchar) * 6); -- cgit v0.10.2 From 5a910c224b13e413bda41922379add6d75c32da3 Mon Sep 17 00:00:00 2001 From: Heiko Schocher Date: Thu, 21 Feb 2008 18:33:45 +0100 Subject: IDS8247: update MAINTAINER entry. Signed-off-by: Heiko Schocher diff --git a/MAINTAINERS b/MAINTAINERS index 273bfac..dc13580 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -351,7 +351,7 @@ Travis Sawyer (travis.sawyer@sandburst.com> Heiko Schocher - ids8247 MPC8272 + ids8247 MPC8247 jupiter MPC5200 mgcoge MPC8247 mgsuvd MPC852 -- cgit v0.10.2 From d01b847c5cd070895c4ba178c85cd068a95cf7cd Mon Sep 17 00:00:00 2001 From: Larry Johnson Date: Thu, 21 Feb 2008 13:58:16 -0500 Subject: LM75 bug fix for negative temperatures When the LM75 temperature sensor measures a temperature below 0 C, the current driver does not perform sign extension, so the result returned is 256 C too high. This patch fixes the problem. Signed-off-by: Larry Johnson diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index 63f3b75..e29b294 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c @@ -179,7 +179,13 @@ int dtt_init (void) int dtt_get_temp(int sensor) { - return (dtt_read(sensor, DTT_READ_TEMP) / 256); + int const ret = dtt_read(sensor, DTT_READ_TEMP); + + if (ret < 0) { + printf("DTT temperature read failed.\n"); + return 0; + } + return (int)((int16_t) ret / 256); } /* dtt_get_temp() */ #endif /* CONFIG_DTT_LM75 */ -- cgit v0.10.2 From e5084af8ded58453cd07ec1af8b0f29f34122bbc Mon Sep 17 00:00:00 2001 From: Detlev Zundel Date: Fri, 22 Feb 2008 17:21:32 +0100 Subject: Replace deprecated "ramdisk" with "ramdisk_size" kernel parameter. The Linux commit fac8b209b1084bc85748bd54e13d00c1262b220f ("Remove final traces of long-deprecated "ramdisk" kernel parm") makes these changes neccessary. Signed-off-by: Detlev Zundel diff --git a/board/cm5200/fwupdate.h b/board/cm5200/fwupdate.h index 4e3f1e1..3bbcbdc 100644 --- a/board/cm5200/fwupdate.h +++ b/board/cm5200/fwupdate.h @@ -39,7 +39,7 @@ #define FW_DIR "nx-fw" #define RESCUE_IMAGE "nxrs.img" #define LOAD_ADDR 0x400000 -#define RS_BOOTARGS "ramdisk=8192K" +#define RS_BOOTARGS "ramdisk_size=8192K" /* Main function for fwupdate */ void cm5200_fwupdate(void); diff --git a/include/configs/AmigaOneG3SE.h b/include/configs/AmigaOneG3SE.h index d914dcc..a992498 100644 --- a/include/configs/AmigaOneG3SE.h +++ b/include/configs/AmigaOneG3SE.h @@ -54,7 +54,7 @@ #undef CONFIG_CLOCKS_IN_MHZ /* clocks passed to Linux in Hz */ -#define CONFIG_BOOTARGS "root=/dev/ram rw ramdisk=4096" +#define CONFIG_BOOTARGS "root=/dev/ram rw ramdisk_size=4096" /* * BOOTP options diff --git a/include/configs/NX823.h b/include/configs/NX823.h index 524aa06..da1c173 100644 --- a/include/configs/NX823.h +++ b/include/configs/NX823.h @@ -47,7 +47,7 @@ #undef CONFIG_8xx_CONS_NONE #define CONFIG_BAUDRATE 57600 /* console baudrate = 115kbps */ #define CONFIG_BOOTDELAY 2 /* autoboot after 2 seconds */ -#define CONFIG_BOOTARGS "ramdisk=8000 "\ +#define CONFIG_BOOTARGS "ramdisk_size=8000 "\ "root=/dev/nfs rw nfsroot=10.77.77.250:/ppcroot "\ "nfsaddrs=10.77.77.20:10.77.77.250" #define CONFIG_BOOTCOMMAND "bootm 400e0000" diff --git a/include/configs/zeus.h b/include/configs/zeus.h index 810a528..cd120df 100644 --- a/include/configs/zeus.h +++ b/include/configs/zeus.h @@ -333,7 +333,7 @@ "nfsargs=setenv bootargs root=/dev/nfs rw" \ " nfsroot=${serverip}:${rootpath}\0" \ "ramargs=setenv bootargs root=/dev/ram rw" \ - " ramdisk=${ramdisk_size}\0" \ + " ramdisk_size=${ramdisk_size}\0" \ "addip=setenv bootargs ${bootargs} " \ "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ ":${hostname}:${netdev}:off panic=1\0" \ -- cgit v0.10.2 From 02409f8cf54c7cd91981f0dfec135dbf3858090c Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Fri, 22 Feb 2008 10:48:07 -0800 Subject: make define2mk.sed work on FreeBSD In the thread "[1.3.2-rc1] MPC8548CDS/MPC8555CDS configs fails to link", the define2mk.sed script was identified as the source of the link failure on FreeBSD. The problem is that sed(1) does not always support the '+' operator. It isn't on FreeBSD. The attach patch implements the equivalent, using the '*' operator instead and should work everywhere. Signed-off-by: Marcel Moolenaar diff --git a/tools/scripts/define2mk.sed b/tools/scripts/define2mk.sed index 6464627..af40bfa 100644 --- a/tools/scripts/define2mk.sed +++ b/tools/scripts/define2mk.sed @@ -7,11 +7,11 @@ # # Only process values prefixed with #define CONFIG_ -/^#define CONFIG_[A-Za-z0-9_]\+/ { +/^#define CONFIG_[A-Za-z0-9_][A-Za-z0-9_]*/ { # Strip the #define prefix s/#define *//; # Change to form CONFIG_*=VALUE - s/ \+/=/; + s/ */=/; # Drop trailing spaces s/ *$//; # drop quotes around string values -- cgit v0.10.2 From e682ba399a1d76f09d8cc7af1e57066f1d360d91 Mon Sep 17 00:00:00 2001 From: Shinya Kuribayashi Date: Sat, 23 Feb 2008 16:58:41 +0900 Subject: cpu/mips/cofigl.mk: Make a needlessly deffered expansion immediate. This reduces the build time by ~10%. Here's the gth2_config example. BEFORE AFTER real 0m31.441s 0m27.833s user 0m24.766s 0m23.045s sys 0m10.425s 0m7.468s Signed-off-by: Shinya Kuribayashi diff --git a/cpu/mips/config.mk b/cpu/mips/config.mk index ad03bd6..b505a42 100644 --- a/cpu/mips/config.mk +++ b/cpu/mips/config.mk @@ -21,7 +21,7 @@ # MA 02111-1307 USA # v=$(shell $(AS) --version |grep "GNU assembler" |cut -d. -f2) -MIPSFLAGS=$(shell \ +MIPSFLAGS:=$(shell \ if [ "$v" -lt "14" ]; then \ echo "-mcpu=4kc"; \ else \ -- cgit v0.10.2 From 495a0dde7fa1b14cdc15607d86503ec2bdcd02c4 Mon Sep 17 00:00:00 2001 From: Shinya Kuribayashi Date: Sat, 23 Feb 2008 17:05:00 +0900 Subject: cpu/ppc4xx/config.mk: Make a needlessly deffered expansion immediate. This will reduce the build time. Signed-off-by: Shinya Kuribayashi diff --git a/cpu/ppc4xx/config.mk b/cpu/ppc4xx/config.mk index 311c97b..baa97a4 100644 --- a/cpu/ppc4xx/config.mk +++ b/cpu/ppc4xx/config.mk @@ -25,7 +25,7 @@ PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi -fno-strict-aliasing PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float cfg=$(shell grep configs $(OBJTREE)/include/config.h | sed 's/.*<\(configs.*\)>/\1/') -is440=$(shell grep CONFIG_440 $(TOPDIR)/include/$(cfg)) +is440:=$(shell grep CONFIG_440 $(TOPDIR)/include/$(cfg)) ifneq (,$(findstring CONFIG_440,$(is440))) PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440 -- cgit v0.10.2 From 208acd112e6517b21fc30c420396902b103563ac Mon Sep 17 00:00:00 2001 From: Shinya Kuribayashi Date: Sat, 23 Feb 2008 17:07:57 +0900 Subject: cpu/mcf52x2/config.mk: Make needlessly deffered expansions immediate. This will reduce the build time. Signed-off-by: Shinya Kuribayashi diff --git a/cpu/mcf52x2/config.mk b/cpu/mcf52x2/config.mk index f97157d..c3899c5 100644 --- a/cpu/mcf52x2/config.mk +++ b/cpu/mcf52x2/config.mk @@ -26,11 +26,11 @@ PLATFORM_RELFLAGS += -ffixed-d7 -msep-data cfg=$(shell grep configs $(OBJTREE)/include/config.h | sed 's/.*<\(configs.*\)>/\1/') -is5249=$(shell grep CONFIG_M5249 $(TOPDIR)/include/$(cfg)) -is5253=$(shell grep CONFIG_M5253 $(TOPDIR)/include/$(cfg)) -is5271=$(shell grep CONFIG_M5271 $(TOPDIR)/include/$(cfg)) -is5272=$(shell grep CONFIG_M5272 $(TOPDIR)/include/$(cfg)) -is5282=$(shell grep CONFIG_M5282 $(TOPDIR)/include/$(cfg)) +is5249:=$(shell grep CONFIG_M5249 $(TOPDIR)/include/$(cfg)) +is5253:=$(shell grep CONFIG_M5253 $(TOPDIR)/include/$(cfg)) +is5271:=$(shell grep CONFIG_M5271 $(TOPDIR)/include/$(cfg)) +is5272:=$(shell grep CONFIG_M5272 $(TOPDIR)/include/$(cfg)) +is5282:=$(shell grep CONFIG_M5282 $(TOPDIR)/include/$(cfg)) ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2) -- cgit v0.10.2 From b075d74efb70ff68c49a2532f26b56d6703b69c1 Mon Sep 17 00:00:00 2001 From: Shinya Kuribayashi Date: Sat, 23 Feb 2008 17:24:16 +0900 Subject: Remove the __STRICT_ANSI__ check from the __u64/__s64 declaration on 32bit targets. ---------------------------------------------------------------- Olaf Hering [Wed, 17 Oct 2007 06:27:13 +0000 (23:27 -0700)] Remove the __STRICT_ANSI__ check from the __u64/__s64 declaration on 32bit targets. GCC can be made to warn about usage of long long types with ISO C90 (-ansi), but only with -pedantic. You can write this in a way that even then it doesn't cause warnings, namely by: #ifdef __GNUC__ __extension__ typedef __signed__ long long __s64; __extension__ typedef unsigned long long __u64; #endif The __extension__ keyword in front of this switches off any pedantic warnings for this expression. Signed-off-by: Olaf Hering Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ---------------------------------------------------------------- Signed-off-by: Shinya Kuribayashi diff --git a/include/asm-arm/types.h b/include/asm-arm/types.h index 13e9806..e56f19d 100644 --- a/include/asm-arm/types.h +++ b/include/asm-arm/types.h @@ -17,9 +17,9 @@ typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -typedef __signed__ long long __s64; -typedef unsigned long long __u64; +#if defined(__GNUC__) +__extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; #endif /* diff --git a/include/asm-avr32/types.h b/include/asm-avr32/types.h index e6c65d9..2dbea4b 100644 --- a/include/asm-avr32/types.h +++ b/include/asm-avr32/types.h @@ -39,9 +39,9 @@ typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -typedef __signed__ long long __s64; -typedef unsigned long long __u64; +#if defined(__GNUC__) +__extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; #endif #endif /* __ASSEMBLY__ */ diff --git a/include/asm-blackfin/types.h b/include/asm-blackfin/types.h index 665a419..9fd8e03 100644 --- a/include/asm-blackfin/types.h +++ b/include/asm-blackfin/types.h @@ -50,9 +50,9 @@ typedef __signed__ int __s32; typedef unsigned int __u32; /* HK0617 -- Changes to unsigned long temporarily */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -typedef __signed__ long long __s64; -typedef unsigned long long __u64; +#if defined(__GNUC__) +__extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; #endif /* diff --git a/include/asm-m68k/types.h b/include/asm-m68k/types.h index e673cb0..e944d3f 100644 --- a/include/asm-m68k/types.h +++ b/include/asm-m68k/types.h @@ -14,9 +14,9 @@ typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -typedef __signed__ long long __s64; -typedef unsigned long long __u64; +#if defined(__GNUC__) +__extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; #endif typedef struct { diff --git a/include/asm-mips/types.h b/include/asm-mips/types.h index e757e22..707cbf4 100644 --- a/include/asm-mips/types.h +++ b/include/asm-mips/types.h @@ -33,9 +33,9 @@ typedef unsigned long __u64; #else -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -typedef __signed__ long long __s64; -typedef unsigned long long __u64; +#if defined(__GNUC__) +__extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; #endif #endif diff --git a/include/asm-ppc/types.h b/include/asm-ppc/types.h index 4ebbb9e..7adf145 100644 --- a/include/asm-ppc/types.h +++ b/include/asm-ppc/types.h @@ -14,9 +14,9 @@ typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -typedef __signed__ long long __s64; -typedef unsigned long long __u64; +#if defined(__GNUC__) +__extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; #endif typedef struct { diff --git a/include/asm-sh/types.h b/include/asm-sh/types.h index fd00dbb..7ba69d9 100644 --- a/include/asm-sh/types.h +++ b/include/asm-sh/types.h @@ -19,9 +19,9 @@ typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -typedef __signed__ long long __s64; -typedef unsigned long long __u64; +#if defined(__GNUC__) +__extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; #endif #endif /* __ASSEMBLY__ */ -- cgit v0.10.2 From 00b48a48424894daa589d166d73277830b1c6ac4 Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Sat, 23 Feb 2008 12:15:56 +0100 Subject: ENV: remove saveenv when CFG_ENV_IS_NOWHERE is selected Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index dd263b6..cab727f 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -550,10 +550,11 @@ int getenv_r (char *name, char *buf, unsigned len) return (-1); } -#if defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \ +#if ((defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \ || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_FLASH)) \ || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_NAND)) \ - || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND)) + || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))) \ + && !defined(CFG_ENV_IS_NOWHERE)) int do_saveenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { extern char * env_name_spec; @@ -605,10 +606,11 @@ U_BOOT_CMD( " - delete environment variable 'name'\n" ); -#if defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \ +#if ((defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \ || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_FLASH)) \ || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_NAND)) \ - || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND)) + || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))) \ + && !defined(CFG_ENV_IS_NOWHERE)) U_BOOT_CMD( saveenv, 1, 0, do_saveenv, "saveenv - save environment variables to persistent storage\n", -- cgit v0.10.2 From b29661fc1151077776454288051bc9a488351ce8 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Sun, 24 Feb 2008 15:21:36 +0100 Subject: Coding style cleanup. Prepare v1.3.2-rc2 release candidate Signed-off-by: Wolfgang Denk diff --git a/CHANGELOG b/CHANGELOG index a5b570f..a4d7118 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,472 @@ +commit 00b48a48424894daa589d166d73277830b1c6ac4 +Author: Jean-Christophe PLAGNIOL-VILLARD +Date: Sat Feb 23 12:15:56 2008 +0100 + + ENV: remove saveenv when CFG_ENV_IS_NOWHERE is selected + + Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD + +commit b075d74efb70ff68c49a2532f26b56d6703b69c1 +Author: Shinya Kuribayashi +Date: Sat Feb 23 17:24:16 2008 +0900 + + Remove the __STRICT_ANSI__ check from the __u64/__s64 declaration on 32bit targets. + + ---------------------------------------------------------------- + Olaf Hering [Wed, 17 Oct 2007 06:27:13 +0000 (23:27 -0700)] + + Remove the __STRICT_ANSI__ check from the __u64/__s64 declaration on + 32bit targets. + + GCC can be made to warn about usage of long long types with ISO C90 + (-ansi), but only with -pedantic. You can write this in a way that even + then it doesn't cause warnings, namely by: + + #ifdef __GNUC__ + __extension__ typedef __signed__ long long __s64; + __extension__ typedef unsigned long long __u64; + #endif + + The __extension__ keyword in front of this switches off any pedantic + warnings for this expression. + + Signed-off-by: Olaf Hering + Cc: + Signed-off-by: Andrew Morton + Signed-off-by: Linus Torvalds + ---------------------------------------------------------------- + + Signed-off-by: Shinya Kuribayashi + +commit 208acd112e6517b21fc30c420396902b103563ac +Author: Shinya Kuribayashi +Date: Sat Feb 23 17:07:57 2008 +0900 + + cpu/mcf52x2/config.mk: Make needlessly deffered expansions immediate. + + This will reduce the build time. + + Signed-off-by: Shinya Kuribayashi + +commit 495a0dde7fa1b14cdc15607d86503ec2bdcd02c4 +Author: Shinya Kuribayashi +Date: Sat Feb 23 17:05:00 2008 +0900 + + cpu/ppc4xx/config.mk: Make a needlessly deffered expansion immediate. + + This will reduce the build time. + + Signed-off-by: Shinya Kuribayashi + +commit e682ba399a1d76f09d8cc7af1e57066f1d360d91 +Author: Shinya Kuribayashi +Date: Sat Feb 23 16:58:41 2008 +0900 + + cpu/mips/cofigl.mk: Make a needlessly deffered expansion immediate. + + This reduces the build time by ~10%. Here's the gth2_config example. + + BEFORE AFTER + real 0m31.441s 0m27.833s + user 0m24.766s 0m23.045s + sys 0m10.425s 0m7.468s + + Signed-off-by: Shinya Kuribayashi + +commit 02409f8cf54c7cd91981f0dfec135dbf3858090c +Author: Marcel Moolenaar +Date: Fri Feb 22 10:48:07 2008 -0800 + + make define2mk.sed work on FreeBSD + + In the thread "[1.3.2-rc1] MPC8548CDS/MPC8555CDS configs fails to link", + the define2mk.sed script was identified as the source of the link + failure on FreeBSD. The problem is that sed(1) does not always support + the '+' operator. It isn't on FreeBSD. The attach patch implements the + equivalent, using the '*' operator instead and should work everywhere. + + Signed-off-by: Marcel Moolenaar + +commit e5084af8ded58453cd07ec1af8b0f29f34122bbc +Author: Detlev Zundel +Date: Fri Feb 22 17:21:32 2008 +0100 + + Replace deprecated "ramdisk" with "ramdisk_size" kernel parameter. + + The Linux commit fac8b209b1084bc85748bd54e13d00c1262b220f ("Remove + final traces of long-deprecated "ramdisk" kernel parm") makes these + changes neccessary. + + Signed-off-by: Detlev Zundel + +commit d01b847c5cd070895c4ba178c85cd068a95cf7cd +Author: Larry Johnson +Date: Thu Feb 21 13:58:16 2008 -0500 + + LM75 bug fix for negative temperatures + + When the LM75 temperature sensor measures a temperature below 0 C, the + current driver does not perform sign extension, so the result returned is + 256 C too high. This patch fixes the problem. + + Signed-off-by: Larry Johnson + +commit 5a910c224b13e413bda41922379add6d75c32da3 +Author: Heiko Schocher +Date: Thu Feb 21 18:33:45 2008 +0100 + + IDS8247: update MAINTAINER entry. + + Signed-off-by: Heiko Schocher + +commit 79eac2bfb591f2b028ec1735049dc91e4320de4a +Author: Heiko Schocher +Date: Thu Feb 21 18:31:15 2008 +0100 + + Fix device tree for mgsuvd board. + + Rename the "scc" node in "ethernet" for the mgsuvd board. + + Signed-off-by: Heiko Schocher + +commit 2e721094a70a52206af2e1bf1208d9a7131f6dad +Author: Yuri Tikhonov +Date: Thu Feb 21 14:23:42 2008 +0100 + + lwmon5: enable hardware watchdog + + Some boards (e.g. lwmon5) may use rather small watchdog intervals, so + causing it to reboot the board if U-Boot does a long busy-wait with + udelay(). Thus, for these boards we have to restart WD more + frequently. + + This patch splits the busy-wait udelay() into smaller, predefined, + intervals, so that the watchdog timer may be resetted with the + configurable (CONFIG_WD_PERIOD) interval. + + Signed-off-by: Yuri Tikhonov + +commit bc77881247ee6f95d7a9ebc499d26b96bae38c9d +Author: Anatolij Gustschin +Date: Thu Feb 21 12:52:29 2008 +0100 + + ppc4xx: Support for ATI Radeon 9200 card on sequoia + + Adds configuration option for ATI Radeon 9200 card + support to sequoia config file. If CONFIG_VIDEO + is enabled, TEXT_BASE should be changed to 0xFFF80000. + + Signed-off-by: Anatolij Gustschin + +commit 5a9abcc317cf3c8a69559ff83081f4e5d719edb7 +Author: Kumar Gala +Date: Mon Feb 18 08:18:07 2008 -0600 + + Remove duplicate defines for ARRAY_SIZE + + A few duplicate of the ARRAY_SIZE macro sneaked in since we put + the define in common.h. + + Signed-off-by: Kumar Gala + +commit 81d93e5c4b83d8b6dcee69de6f4a14ccf6f7114a +Author: Kumar Gala +Date: Mon Feb 18 08:09:37 2008 -0600 + + ppc: Allow boards to specify effective amount of memory + + For historical reasons we limited the stack to 256M because some boards + could only map that much via BATS. However newer boards are capable of + mapping more memory (for example 85xx is capable of doing up to 2G). + + Signed-off-by: Kumar Gala + +commit 755c35f54ba7eb7687aa7935e04a02a01ef1b27b +Author: Mike Frysinger +Date: Mon Feb 18 05:24:13 2008 -0500 + + include autoconf.mk before any other .mk files + + This bumps the autoconf.mk include step above board/cpu/arch/etc... so that + those .mk files can have make if statements based on the current config. + + Signed-off-by: Mike Frysinger + +commit 16fe77752eee099b9fb61ed73460e51cc94b37ba +Author: Mike Frysinger +Date: Mon Feb 18 05:10:07 2008 -0500 + + error check autoconf.mk generation + + If any of the steps for generating autoconf.mk fail currently, they go + unnoticed. To fix, we can simply add 'set -e' to the long list of commands. + This is simpler and more robust than placing '|| exit $$?' after every line. + + Signed-off-by: Mike Frysinger + +commit 019895a8dee71a9f00da05c03e379f45d581b0fe +Author: Stefano Babic +Date: Mon Feb 18 08:03:51 2008 +0100 + + Fix bug in dependency checking + + By adding VERSION_FILE to the PHONY targets the script + /tools/setlocalversion is always called and version_autogenerated.h + is replaced only if the script find a modified source file. + + Signed-off-by: Stefano Babic + +commit 98ba144ccc912eee90dd42699f023c497ce774c6 +Author: Kyungmin Park +Date: Mon Feb 18 14:35:43 2008 +0900 + + Fix GPMC CS2 memory setup at apollon + + It disables the current map first + + Signed-off-by: Kyungmin Park + +commit e845e07e1e6e64f40e35688439d3cdcf01cfff4f +Author: Jean-Christophe PLAGNIOL-VILLARD +Date: Sun Feb 17 23:52:46 2008 +0100 + + uli526x: Fix multiple differ in signedness and parentheses around comparison + + Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD + +commit beeccf7a5dc5415c202e0132a33c58fc316c2a62 +Author: Jean-Christophe PLAGNIOL-VILLARD +Date: Sun Feb 17 16:58:04 2008 +0100 + + MIPS: Fix CFG_NO_FLASH support + + - Fix flash_init call when CFG_NO_FLASH is used + - Remove no more needed flash.c for qemu-mips + + Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD + +commit edfed1d91df2b2670a812ca9d1a1f9faae7dba47 +Author: Mike Frysinger +Date: Sat Feb 16 02:40:18 2008 -0500 + + easylogo: clean up some more and add -r (rgb) support + + Michael Hennerich added support for outputting an image in RGB format rather + than forcing YUYV all the time. This makes obvious sense if the display you + have takes RGB input rather than YUYV. + + Rather than hack in support for options, I've converted it to use getopt and + cleaned up the argument parsing in the process. + + Signed-off-by: Michael Hennerich + Signed-off-by: Mike Frysinger + +commit f65c98129ccada3f7caf97d80395a95b84e911de +Author: Mike Frysinger +Date: Sat Feb 16 02:12:37 2008 -0500 + + Makefile: add target for $(LDSCRIPT) + + If the $(LDSCRIPT) does not exist (normally it's board/$(BOARD)/u-boot.lds), + then change into the board directory and try and create it. This allows you + to generate the linker script on the fly based upon board defines (like the + Blackfin boards do). + + There should be no regressions due to this change as the normal case is to + already have a u-boot.lds file. If that's the case, then there's nothing to + generate, and so make will always exit. The fix here is that if the linker + script does not exist, the implicit rules take over and attempt to guess how + to generate the file. + + Signed-off-by: Mike Frysinger + +commit 1ba639da5604a64b3ed884a2cbb1c5414a9fa728 +Author: Michael Schwingen +Date: Mon Feb 18 23:16:35 2008 +0100 + + CFI: Do not use uninitialized cmd_reset + + Do not use uninitialized cmd_reset; issue both AMD and Intel reset + commands instead + + From a short test, it looks like AMD-style flash roms treat *any* unknown + command write as a reset, at least when in CFI Query mode, so issuing the + Intel reset command to AMD-style flashs seems safe (from the small sample I + have), plus the 3-cycle magic sequence should kick the state machine into + the right state even without a reset command. Since the AMD-style flashs + require the unlock sequence for real operation, I chose to try the AMD reset + command first, so that Intel flashs do no see an invalid command prior to + the CFI query. + + I have tested the patch on AM29LV320-style flashs from Fujitsu and Macronix, + plus Intel StrataFlash. + + Signed-off-by: Michael Schwingen + Signed-off-by: Stefan Roese + +commit e7a85f26830c9f2e78506421c2d519a2965bc7a1 +Author: Rafal Jaworowski +Date: Thu Feb 21 11:56:44 2008 +0100 + + API: Add (c) and licensing notice to the public API header. + + Signed-off-by: Rafal Jaworowski + +commit 928d1d77f8623c120d8763e20e1ca58df9c5c4c6 +Author: Yuri Tikhonov +Date: Thu Feb 21 11:06:07 2008 +0100 + + Fix CPU POST test failure + + The CPU POST test code (run from cpu_post_exec_31()) doesn't follow the + ABI carefully, at least the CR3, CR4, and CR5 fields of CR are clobbered + by it. The gcc-4.2 with its more aggressive optimization exposes this fact. + This patch just saves the CR value before running the test code, so allowing + it to do anything it wants with CR. + + Signed-off-by: Dmitry Rakhchev + Acked-by: Yuri Tikhonov + -- + +commit d5908b093955415f3d340706378b991f911af671 +Author: Jon Loeliger +Date: Wed Feb 20 15:26:51 2008 -0600 + + 8610HPCD: Document the flashbank selection switches. + + Signed-off-by: Jon Loeliger + +commit a551cee99ad1d1da20fd23ad265de47448852f56 +Author: Jon Loeliger +Date: Wed Feb 20 14:22:26 2008 -0600 + + 86xx: Fix GUR PCI config registers properly. + + Back in commit 975a083a5ef785c414b35f9c5b8ae25b26b41524 where + I tried to "8610HPCD: Fix typos in two PCI setup registers", I + botched it due to not realizing that 8610 and 8641 had different + Global Utility Register defintions, one of which was like 85xx, + and the other wasn't. Correct this problem by introducing two + symbols, one for each 86xx SoC, but neither of which is named + anything like 85xx. + + My bad. Lovely Wednesday with git bisect. You know. + + Signed-off-by: Jon Loeliger + +commit cb06eb961bdffc8728b38c242473d802e83ab2b4 +Author: Jon Loeliger +Date: Wed Feb 20 12:24:11 2008 -0600 + + 8610HPCD: Don't use VIDEO/CFB_CONSOLE by default. + + Without an actual supported video card hooked up, enabling + the CONFIG_VIDEO by default just makes it look broken by + routing all console output to the video card. Don't. + + Signed-off-by: Jon Loeliger + +commit 4d264eff4312f230776b913edade7ceb75f1b1e0 +Author: TsiChungLiew +Date: Wed Jan 30 15:08:15 2008 -0600 + + ColdFire: Fix missing code flash size for M5485EVB + + Signed-off-by: James Mahan + Signed-off-by: TsiChung Liew + +commit c54f9263e4e11e34b1e70c160bc467ef1d8ec59d +Author: TsiChungLiew +Date: Wed Jan 30 15:04:42 2008 -0600 + + ColdFire: Fix 5282 and 5271 interrupt mask bit + + Signed-off-by: TsiChung Liew + +commit 975a083a5ef785c414b35f9c5b8ae25b26b41524 +Author: Jon Loeliger +Date: Tue Feb 19 12:31:08 2008 -0600 + + 8610HPCD: Fix typos in two PCI setup registers. + + The two symbols MPC86xx_PORDEVSR_IO_SEL and MPC86xx_PORBMSR_HA + were erroneously present as 85xx names and values, leftover from + the clone wars. Fix this by removing the 85xx cruft from the + 86xx codebase. + + Signed-off-by: Jon Loeliger + +commit 13f5433f700d4da9f6fdf2a4bb80310133a7c170 +Author: Jon Loeliger +Date: Mon Feb 18 14:01:56 2008 -0600 + + 86xx: Convert sbc8641d to use libfdt. + + This is the proper fix for a missing closing brace in the function + ft_cpu_setup() noticed by joe.hamman embeddedspecialties.com. + The ft_cpu_setup() function in mpc8641hpcn.c should have been + removed earlier as it was under the obsolete CONFIG_OF_FLAT_TREE, + but was missed. Only, the sbc8641d was nominally still using it. + It all got ripped out, and the funcality that was in ft_board_setup() + was refactored to remove the CPU portions into the new file + cpu/mpc86xx/fdt.c instead. Make sbc8641d use this now. + + Based loosely on an original patch from joe.hamman@embeddedspecialties.com + + Signed-off-by: Jon Loeliger + +commit 04efddc87c50c84f85dad5c331c634a6ce830a83 +Author: Jean-Christophe PLAGNIOL-VILLARD +Date: Sun Feb 17 23:35:31 2008 +0100 + + mpc86xx: Fix unused variable 'config' and 'immap' + + and remove useless CONFIG_DDR_INTERLEAVE + + Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD + +commit 83d1b3876695c4f21faff2b731d9ef83f38ed208 +Author: Jean-Christophe PLAGNIOL-VILLARD +Date: Sun Feb 17 23:03:36 2008 +0100 + + mpc86xx: Fix implicit declaration of functions 'init_laws' and 'disable_law' + + Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD + +commit b6f29c84c208a091f95a10cbc9852d729659ba20 +Author: Jean-Christophe PLAGNIOL-VILLARD +Date: Sun Feb 17 14:15:31 2008 +0100 + + s3c24x0: Fix unused variable 'i' in function 'serial_init_dev' + + Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD + +commit 0937b8d869fdb42d6ad4fe312958639bd62c973f +Author: Jean-Christophe PLAGNIOL-VILLARD +Date: Sun Feb 17 14:15:32 2008 +0100 + + pxa: fix assignment from incompatible pointer type + + fix mmc_bread function prototype + + Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD + +commit 64d792063fff90b8118179b092feee09fe5cae13 +Author: Jean-Christophe PLAGNIOL-VILLARD +Date: Sun Feb 17 14:15:30 2008 +0100 + + at91cap9adk: fix implicit declaration of function 'eth_init' + + Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD + +commit 375c4353db8f900f7ec772e26fab116ec00f7d3a +Author: Wolfgang Denk +Date: Sun Feb 17 15:43:44 2008 +0100 + + Remove files added by mistake, update CHANGELOG. + + Signed-off-by: Wolfgang Denk + commit b738654d3c84a30f2bfd9a8d7652ff20807c890c Author: Mike Nuss Date: Wed Feb 6 11:10:11 2008 -0500 diff --git a/CREDITS b/CREDITS index 7fdb8b3..1627dc7 100644 --- a/CREDITS +++ b/CREDITS @@ -528,4 +528,3 @@ N: Timo Tuunainen E: timo.tuunainen@sysart.fi D: Support for Artila M-501 starter kit W: http://www.sysart.fi/ - diff --git a/Makefile b/Makefile index 2790865..d6a0299 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ VERSION = 1 PATCHLEVEL = 3 SUBLEVEL = 2 -EXTRAVERSION = -rc1 +EXTRAVERSION = -rc2 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) VERSION_FILE = $(obj)include/version_autogenerated.h diff --git a/board/netstal/common/nm.h b/board/netstal/common/nm.h index 9357f3a..3dff1d6 100644 --- a/board/netstal/common/nm.h +++ b/board/netstal/common/nm.h @@ -42,4 +42,3 @@ void show_sdram_registers(void); #endif long int init_ppc405_sdram(unsigned int dram_size); #endif - diff --git a/board/netstal/common/nm_bsp.c b/board/netstal/common/nm_bsp.c index 89c697c..86f491b 100644 --- a/board/netstal/common/nm_bsp.c +++ b/board/netstal/common/nm_bsp.c @@ -133,4 +133,3 @@ void common_misc_init_r(void) saveenv(); } } - diff --git a/cpu/arm926ejs/davinci/timer.c b/cpu/arm926ejs/davinci/timer.c index 4a1a54d..8bb8b45 100644 --- a/cpu/arm926ejs/davinci/timer.c +++ b/cpu/arm926ejs/davinci/timer.c @@ -61,10 +61,12 @@ davinci_timer *timer = (davinci_timer *)CFG_TIMERBASE; #define TIMER_LOAD_VAL (CFG_HZ_CLOCK / CFG_HZ) #define READ_TIMER timer->tim34 -/* Timer runs with CFG_HZ_CLOCK, currently 27MHz. To avoid wrap - around of timestamp already after min ~159s, divide it, e.g. by 16. - timestamp will then wrap around all min ~42min */ -#define DIV(x) ((x) >> 4) +/* + * Timer runs with CFG_HZ_CLOCK, currently 27MHz. To avoid wrap + * around of timestamp already after min ~159s, divide it, e.g. by 16. + * timestamp will then wrap around all min ~42min + */ +#define DIV(x) ((x) >> 4) static ulong timestamp; static ulong lastinc; @@ -106,20 +108,20 @@ void udelay(unsigned long usec) void reset_timer_masked(void) { - lastinc = DIV(READ_TIMER); + lastinc = DIV(READ_TIMER); timestamp = 0; } ulong get_timer_raw(void) { - ulong now = DIV(READ_TIMER); + ulong now = DIV(READ_TIMER); if (now >= lastinc) { /* normal mode */ timestamp += now - lastinc; } else { /* overflow ... */ - timestamp += now + DIV(TIMER_LOAD_VAL) - lastinc; + timestamp += now + DIV(TIMER_LOAD_VAL) - lastinc; } lastinc = now; return timestamp; @@ -127,7 +129,7 @@ ulong get_timer_raw(void) ulong get_timer_masked(void) { - return(get_timer_raw() / DIV(TIMER_LOAD_VAL)); + return(get_timer_raw() / DIV(TIMER_LOAD_VAL)); } void udelay_masked(unsigned long usec) -- cgit v0.10.2