summaryrefslogtreecommitdiff
path: root/cpu/pxa
Commit message (Collapse)AuthorAgeLines
* ARM: compiler options cleanup - improve tool chain supportWolfgang Denk2009-08-21-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some time there have been repeated reports about build problems with some ARM (cross) tool chains. Especially issues about (in)compatibility with the tool chain provided runtime support library libgcc.a caused to add and support a private implementation of such runtime support code in U-Boot. A closer look at the code indicated that some of these issues are actually home-made. This patch attempts to clean up some of the most obvious problems and make building of U-Boot with different tool chains easier: - Even though all ARM systems basicy used the same compiler options to select a specific ABI from the tool chain, the code for this was distributed over all cpu/*/config.mk files. We move this one level up into lib_arm/config.mk instead. - So far, we only checked if "-mapcs-32" was supported by the tool chain; if yes, this was used, if not, "-mabi=apcs-gnu" was selected, no matter if the tool chain actually understood this option. There was no support for EABI conformant tool chains. This patch implements the following logic: 1) If the tool chain supports "-mabi=aapcs-linux -mno-thumb-interwork" we use these options (EABI conformant tool chain). 2) Otherwise, we check first if "-mapcs-32" is supported, and then check for "-mabi=apcs-gnu" If one test succeeds, we use the first found option. 3) In case 2), we also test if "-mno-thumb-interwork", and use this if the test succeeds. [For "-mabi=aapcs-linux" we set "-mno-thumb-interwork" mandatorily.] This way we use a similar logic for the compile options as the Linux kernel does. - Some EABI conformant tool chains cause external references to utility functions like raise(); such functions are provided in the new file lib_arm/eabi_compat.c Note that lib_arm/config.mk gets parsed several times, so we must make sure to add eabi_compat.o only once to the linker list. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Dirk Behme <dirk.behme@googlemail.com> Cc: Magnus Lilja <lilja.magnus@gmail.com> Cc: Tom Rix <Tom.Rix@windriver.com> Cc: Prafulla Wadaskar <prafulla@marvell.com> Acked-by: Sergey Kubushyn <ksi@koi8.net> Tested-by: Magnus Lilja <lilja.magnus@gmail.com> Tested-by: Andrzej Wolski <awolski@poczta.fm> Tested-by: Gaye Abdoulaye Walsimou <walsimou@walsimou.com> Tested-by: Tom Rix <Tom.Rix@windriver.com> Tested-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* stdio/device: rework function naming conventionJean-Christophe PLAGNIOL-VILLARD2009-07-18-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the console API uses the following naming convention: ======Extract====== typedef struct device_t; int device_register (device_t * dev); int devices_init (void); int device_deregister(char *devname); struct list_head* device_get_list(void); device_t* device_get_by_name(char* name); device_t* device_clone(device_t *dev); ======= which is too generic and confusing. Instead of using device_XX and device_t we change this into stdio_XX and stdio_dev This will also allow to add later a generic device mechanism in order to have support for multiple devices and driver instances. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Edited commit message. Signed-off-by: Wolfgang Denk <wd@denx.de>
* pxa: move serial driver to drivers/serialJean-Christophe PLAGNIOL-VILLARD2009-06-12-386/+0
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: remove cpu_initJean-Christophe PLAGNIOL-VILLARD2009-06-12-5/+0
| | | | | | move s3c44b0 to arch_cpu_init and as noone use cpu_init remove it Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: unify interrupt initJean-Christophe PLAGNIOL-VILLARD2009-06-12-11/+0
| | | | | | | all arm init the IRQ stack the same way so unify it in lib_arm/interrupts.c and then call arch specific interrupt init Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: unify linker scriptJean-Christophe PLAGNIOL-VILLARD2009-06-12-0/+56
| | | | | | | | | | | | all arm boards except a few use the same cpu linker script so move it to cpu/$(CPU) that could be overwrite in following order SOC BOARD via the corresponding config.mk Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: timer and interrupt init reworkJean-Christophe PLAGNIOL-VILLARD2009-06-12-4/+11
| | | | | | | | | | | | | | actually the timer init use the interrupt_init as init callback which make the interrupt and timer implementation difficult to follow so now rename it as int timer_init(void) and use interrupt_init for interrupt btw also remane the corresponding file to the functionnality implemented as ixp arch implement two timer - one based on interrupt - so all the timer related code is moved to timer.c Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: unify reset commandJean-Christophe PLAGNIOL-VILLARD2009-04-05-12/+0
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: clean cache managementJean-Christophe PLAGNIOL-VILLARD2009-04-05-53/+9
| | | | | | unify arm cache management except for non standard cache as ARM7TDMI Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: update co-processor 15 accessJean-Christophe PLAGNIOL-VILLARD2009-04-05-30/+23
| | | | | | import system.h from linux Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* PXA: timer use do_div and simplify itJean-Christophe PLAGNIOL-VILLARD2009-03-09-22/+24
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* pxa: move mmc drivers to drivers/mmcJean-Christophe PLAGNIOL-VILLARD2009-02-20-789/+1
| | | | | | introduce new macro CONFIG_PXA_MMC to activate it Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* ARM:PXA Remove redefinition of mmc_cid and mmc_csd.Tom Rix2009-02-20-51/+0
| | | | | | These structures are defined in the common mmc.h This was compile checked on cerf250.
* pxa: fixing get_timer to return time in miliseconds.Micha Kalfon2009-02-20-7/+18
| | | | | | | | Fixing the get_timer function to return time in miliseconds instead of ticks. Also fixed PXA boards to use the conventional value of 1000 for CONFIG_SYS_HZ. Signed-off-by: Micha Kalfon <smichak.uv@gmail.com>
* Eliminated arch-specific mmc header requirementAndy Fleming2009-02-16-0/+191
| | | | | | | | | | The current MMC infrastructure relies on the existence of an arch-specific header file. This isn't necessary, and a couple drivers were forced to implement dummy files to meet this requirement. Instead, we move the stuff in those header files into a more appropriate place, and eliminate the stubs and the #include of asm/arch/mmc.h Signed-off-by: Andy Fleming <afleming@freescale.com>
* Convert mmc_init to mmc_legacy_initAndy Fleming2009-02-16-1/+1
| | | | | | This is to get it out of the way of incoming MMC framework Signed-off-by: Andy Fleming <afleming@freescale.com>
* Eliminate support for using MMC as memoryAndy Fleming2009-02-16-14/+0
| | | | | | MMC cards are not memory, so we stop treating them that way. Signed-off-by: Andy Fleming <afleming@freescale.com>
* i2c: merge all i2c_reg_read() and i2c_reg_write() into inline functionsTimur Tabi2008-12-15-15/+0
| | | | | | | | | | All implementations of the functions i2c_reg_read() and i2c_reg_write() are identical. We can save space and simplify the code by converting these functions into inlines and putting them in i2c.h. Signed-off-by: Timur Tabi <timur@freescale.com> Acked-By: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Remove compiler warning: target CPU does not support interworkingSergei Poselenov2008-12-13-0/+1
| | | | | | | This warning is issued by modern ARM-EABI GCC on non-thumb targets. Signed-off-by: Vladimir Panfilov <pvr@emcraft.com> Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
* rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-50/+50
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Set up SD/MMC OCR as comment describes. i.e. 3.2-3.4v.Adrian Filipi2008-09-12-2/+2
| | | | Signed-off-by: Adrian Filipi <adrian.filipi@eurotech.com>
* Fix merge problemsStefan Roese2008-08-06-5/+0
| | | | Signed-off-by: Stefan Roese <sr@denx.de>
* Fix some more printf() format issues.Jean-Christophe PLAGNIOL-VILLARD2008-07-13-2/+4
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Fix build time warnings in function mmc_decode_csd()Marcel Ziswiler2008-07-13-1/+1
| | | | Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
* Minor spelling fix in comment.Marcel Ziswiler2008-07-10-1/+1
| | | | Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
* MMC: Consolidate MMC/SD command definitionsHaavard Skinnemoen2008-06-28-4/+7
| | | | | | | | | | | | | | | This moves the MMC and SD Card command definitions from include/asm/arch/mmc.h into include/mmc.h. These definitions are given by the MMC and SD Card standards, not by any particular architecture. There's a lot more room for consolidation in the MMC drivers which I'm hoping to get done eventually, but this patch is a start. Compile-tested for all avr32 boards as well as lpc2292sodimm and lubbock. This should cover all three mmc drivers in the tree. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
* Big white-space cleanup.Wolfgang Denk2008-05-21-4/+4
| | | | | | | | | | | This commit gets rid of a huge amount of silly white-space issues. Especially, all sequences of SPACEs followed by TAB characters get removed (unless they appear in print statements). Also remove all embedded "vim:" and "vi:" statements which hide indentation problems. Signed-off-by: Wolfgang Denk <wd@denx.de>
* pxa: fix previous definition on cpu initJean-Christophe PLAGNIOL-VILLARD2008-05-03-5/+1
| | | | | | | | | | start.S:183:1: warning: "ICMR" redefined In file included from start.S:33: include/asm/arch/pxa-regs.h:935:1: warning: this is the location of the previous definition start.S:187:1: warning: "RCSR" redefined ... Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* pxa: fix assignment from incompatible pointer typeJean-Christophe PLAGNIOL-VILLARD2008-02-17-1/+1
| | | | | | fix mmc_bread function prototype Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* ARM: cleanup duplicated exception handlingcodeAndreas Engel2008-02-14-117/+0
| | | | | | Move duplicated exception handling code into lib_arm. Signed-off-by: Andreas Engel <andreas.engel@ericsson.com>
* MMC for PXA 27X (resubmit)stefano babic2008-02-03-163/+336
| | | | | | | | | | | | | MMC support for X_Scale PXA is broken and does not work. Mainly, the mmc_init() function cannot recognize current SD/MMC cards. There were already some patches around the world but none of them was merged into the official u-boot tree. This patch makes order fixing this issue. Resubmit after code cleanup. Applied and tested on PXA 270 (TrizepsIV module). Signed-off-by: Stefano Babic <sbabic@denx.de>
* Merge branch 'master' of git://www.denx.de/git/u-boot-usbWolfgang Denk2008-01-09-0/+16
|\
| * Merge git://www.denx.de/git/u-bootMarkus Klotzbuecher2008-01-09-1/+1
| |\ | | | | | | | | | | | | | | | Conflicts: board/tqm5200/tqm5200.c
| * | PXA USB OHCI: "usb stop" implementation.Rodolfo Giometti2007-10-31-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some USB keys need to be switched off before loading the kernel otherwise they can remain in an undefined status which prevents them to be correctly recognized by the kernel. Signed-off-by: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* | | fix various commentsMarcel Ziswiler2008-01-09-19/+19
| |/ |/| | | | | Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
* | Fix compiler warnings for ARM systems.Wolfgang Denk2007-11-18-1/+1
|/ | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* delta: Fix OHCI_REGS_BASE undeclared and wait_ms implicit declarationJean-Christophe PLAGNIOL-VILLARD2007-10-24-0/+1
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* fix warning: no return statement in function returning non-voidJean-Christophe PLAGNIOL-VILLARD2007-10-24-3/+3
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* fix pxa255_idp boardMarcel Ziswiler2007-10-23-39/+42
| | | | | | | | | | | | | | | | | | | | | | | The pxa255_idp being an old unmaintained board showed several issues: 1. CONFIG_INIT_CRITICAL was still defined. 2. Neither CONFIG_MAC_PARTITION nor CONFIG_DOS_PARTITION was defined. 3. Symbol flash_addr was undeclared. 4. The boards lowlevel_init function was still called memsetup. 5. The TEXT_BASE was still 0xa3000000 rather than 0xa3080000. 6. Using -march=armv5 instead of -march=armv5te resulted in lots of 'target CPU does not support interworking' warnings on recent compilers. 7. The PXA's serial driver redefined FFUART, BTUART and STUART used as indexes rather than the register definitions from the pxa-regs header file. Renamed them to FFUART_INDEX, BTUART_INDEX and STUART_INDEX to avoid any ambiguities. 8. There were several redefinition warnings concerning ICMR, OSMR3, OSCR, OWER, OIER, RCSR and CCCR in the PXA's assembly start file. 9. The board configuration file was rather outdated. 10. The part header file defined the vendor, product and revision arrays as unsigned chars instead of just chars in the block_dev_desc_t structure. Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
* PXA USB OHCI: "usb stop" implementation.Rodolfo Giometti2007-10-15-0/+16
| | | | | | | | Some USB keys need to be switched off before loading the kernel otherwise they can remain in an undefined status which prevents them to be correctly recognized by the kernel. Signed-off-by: Rodolfo Giometti <giometti@linux.it>
* Fix warning differ in signedness in cpu/pxa/mmc.cJean-Christophe PLAGNIOL-VILLARD2007-10-13-3/+3
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* PXA270: Add support for multiple serial ports.stefano babic2007-09-07-82/+269
| | | | | | | This patch adds support for multiple serial ports to the PXA target. FFUART, BTUART and STUART are supported. Signed-off-by: Stefano Babic <sbabic@denx.de>
* USB: cleanup monahans usb support. Remove dead code.Markus Klotzbuecher2007-04-03-11/+1
| | | | Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* PXA: pxa27x USB OHCI supportRodolfo Giometti2007-03-26-2/+13
| | | | Signed-off-by: Rodolfo Giometti <giometti@linux.it>
* Merge with git://www.denx.de/git/u-boot.git#testing-USBMarkus Klotzbuecher2007-03-23-1/+79
|\
| * Merge with /home/mk/git/u-boot-generic_ohci#generic_ohciWolfgang Denk2006-11-27-1/+1
| |\
| | * Introduced the configuration option CONFIG_USB_OHCI_NEW in order to be ableMarkus Klotzbuecher2006-11-27-1/+1
| | | | | | | | | | | | to choose between the old and the generic OHCI drivers.
| * | Merge with /home/wd/git/u-boot/masterWolfgang Denk2006-11-27-8/+12
| |\ \ | | |/ | |/|
| * | Support generic OHCI support for the s3c24x0 cpu.Markus Klotzbuecher2006-05-30-0/+5
| | |
| * | Changed the mp2usb (at91rm9200) board to use the generic OHCI driver. SomeMarkus Klotzbuecher2006-05-23-3/+5
| | | | | | | | | | | | fixes to the latter.