Jesper Nilsson [Fri, 25 Jan 2008 16:54:14 +0000 (17:54 +0100)]
CRIS v32: Update lib/checksum.S and lib/checksumcopy.S
- Slight tweaks, use $acr + addoq to propagate carry across the loop boundary.
- Better use of latency cycles.
- Remove duplicate folding of carry, it is not needed.
Jesper Nilsson [Fri, 25 Jan 2008 15:15:44 +0000 (16:15 +0100)]
CRIS v32: Update kernel/smp.c for CRIS v32.
- Change include paths to machine specific headers (asm/arch/hwregs -> hwregs)
- Add cpu_possible_map as cpumask_t and export it.
- Drop struct pt_regs parameter from crisv32_ipi_interrupt.
- timer -> timer0
Jesper Nilsson [Fri, 25 Jan 2008 15:10:02 +0000 (16:10 +0100)]
CRIS v32: Update signal handling in kernel/signal.c
- do_signal now returns void, and does not have the previous signal set
as a parameter.
- Remove sys_rt_sigsuspend, we can use the common one instead.
- Change sys_sigsuspend to be more like x86, don't call do_signal here.
- handle_signal, setup_frame and setup_rt_frame now return -EFAULT
if we've delivered a segfault, which is used by callers to perform
necessary cleanup.
- Break long lines, correct whitespace and formatting errors.
Jesper Nilsson [Fri, 25 Jan 2008 14:42:41 +0000 (15:42 +0100)]
CRIS v10: Update drivers/gpio.c, fix locking and general improvements.
- Change all spin_lock/local_irq_save to spin_lock_irqsave.
- Change multiple returns in functions where we have a lock to goto out.
- Correct number of arguments to gpio_poll_timer_interrupt, gpio_pa_interrupt.
- Break out gpio_write logic to smaller functions to make it readable.
- In setget_input and setget_output, avoid extra if-indent level.
- Change name LED_* -> CRIS_LED_* to avoid name clash.
- Don't use braces around single statement ifs.
- Fix whitespace errors.
- Remove useless CVS id and log.
Jesper Nilsson [Thu, 24 Jan 2008 13:34:37 +0000 (14:34 +0100)]
CRIS v32: Change debug and formatting in kernel/fasttimer.c
- Don't use SANITYCHECK(x) as a macro, test FAST_TIMER_SANITY_CHECKS with
ifdef. This makes it possible for automatic indent etc to work.
- Correct some whitespace errors.
- Don't initialize static variable.
Jesper Nilsson [Thu, 24 Jan 2008 13:31:55 +0000 (14:31 +0100)]
CRIS v32: Update kernel/crisksyms.c
- Include pinmux.h from machine specific directory.
- Add some more symbols: crisv32_pinmux_alloc, crisv32_pinmux_dealloc_fixed,
crisv32_io_get_name and crisv32_io_get
Jesper Nilsson [Thu, 24 Jan 2008 13:24:09 +0000 (14:24 +0100)]
CRIS v32: Update driver for RTC chip pcf8563.
- Moved all calls to register_chrdev to a function called by module_init.
- Added mutex locking.
- Added better error handling at start up.
- Added BIN_TO_BCD of the month value before it is saved to the RTC.
- Corrected the month value returned by pcf8563_readreg.
- Cache the voltage low value at driver init so the battery status
information does not get 'accidentally' cleared when setting the RTC time.
- Removed obsolete CONFIG_ETRAX_RTC_READONLY
- Voltage low ioctl():s RTC_VLOW_RD -> RTC_VL_READ, RTC_VLOW_SET -> RTC_VL_CLR
Jesper Nilsson [Mon, 21 Jan 2008 10:52:52 +0000 (11:52 +0100)]
CRIS v10: Setup serial port 2 to avoid accidental TXD pulse on startup.
If serial port 2 is used, select it in R_GEN_CONFIG.
If serial port 2 is used, setup the control registers for the port.
This is done to avoid a pulse on the TXD line during start up,
which could disturb some units.
Jesper Nilsson [Fri, 18 Jan 2008 12:44:13 +0000 (13:44 +0100)]
CRIS v10: Update and fix bug in kernel/debugport.
- Move local_irq_save to after possible return in console_write_direct.
- Remove old raw_printk hack, not needed anymore.
- Add watchdog handling.
- Make serial_driver use depend on CONFIG_ETRAX_SERIAL.
- Remove useless CVS log.
Jesper Nilsson [Thu, 17 Jan 2008 14:17:07 +0000 (15:17 +0100)]
CRIS v10: Update driver for pcf8563
- Use mutex instead of spinlock, fixes kernel bugzilla report 8339.
- Make sure that pcf8563_init can be called multiple times but only setup once.
- Change RTC_VLOW_RD -> RTC_VL_READ, RTC_VLOW_SET -> RTC_VL_CLR
- Cache the voltage low value at driver init so the battery status
information does not get 'accidentally' cleared when setting the RTC time.
- Add weekday handling.
- Correct leapyear handling to include 100 and 400 year exceptions.
- Correct whitespace and formatting errors.
- Remove useless CVS id tag.
Jesper Nilsson [Thu, 17 Jan 2008 10:30:21 +0000 (11:30 +0100)]
CRIS v10: Correct and cleanup boot/rescue/kimagerescue.S
- Correct include path for sv_addr_ag.h, should be included from asm/arch/
- Remove useless CVS id tag.
- Correct whitespace errors and some formatting.
Jesper Nilsson [Tue, 4 Dec 2007 16:25:45 +0000 (17:25 +0100)]
CRIS v32: Update and improve kernel/time.c
- Shorten include paths to machine dependent header files.
- Register name for first timer is now regi_timer0.
- Remove raw_printk hack, use oops_in_progress instead.
- Add handling of CPU frequency scaling for CRIS.
- Remove regs parameter to timer_interrupt, get them from get_irq_regs instead.
- Whitespace and formatting changes.
Jesper Nilsson [Mon, 3 Dec 2007 10:16:25 +0000 (11:16 +0100)]
CRIS v32: Minor fixes for io.h
- Shorten include paths for machine dependent header files.
- Add volatile to hardeware register pointers.
- Add spinlocks around critical region.
- Expand macros for handling of leds.
Jesper Nilsson [Mon, 3 Dec 2007 10:12:10 +0000 (11:12 +0100)]
CRIS v32: Update and improve kernel/traps.c
- Remove watchdog handling, handled elsewhere.
- Shorten include paths to machine dependent header files.
- Remove raw_printk hack, we now use oops_in_progress instead.
- Add handling of BUG for exception handlers (break 14).
- Formatting and whitespace changes.
Jesper Nilsson [Mon, 3 Dec 2007 09:54:15 +0000 (10:54 +0100)]
CRIS v32: Minor updates to kernel/process.c
- Shorten include paths for machine dependent header files.
- Remove unused extern declaration of etrax_gpio_wake_up_check.
- Register name for first timer is now regi_timer0.
Jesper Nilsson [Fri, 30 Nov 2007 17:09:54 +0000 (18:09 +0100)]
CRIS v32: Update and simplify kernel/irq.c.
- First timer register has changed name to timer0.
- Build IRQs with only IRQ number, mask bit will be calculated instead.
- Add more IRQs, up to 64 supported.
- Use arrays to hold which IRQs triggered instead of trying to do magic
with two 32 bit values now that more than 32 IRQs are supported.
Jesper Nilsson [Fri, 30 Nov 2007 16:54:12 +0000 (17:54 +0100)]
CRIS v32: Update kernel/head.S
- Shorten include paths for machine specific header files.
- Add magic for booting NAND flash.
- Change CONFIG_ETRAXFS_SIM to CONFIG_ETRAX_VCS_SIM.
- Use assembler macros for initializing hardware (clocks)
- Add stubs for SMP slave CPUs.
- Search for cramfs or jffs2 if no romfs found.
- Initialize l2cache.
Jesper Nilsson [Fri, 30 Nov 2007 16:46:11 +0000 (17:46 +0100)]
CRIS v32: Update and improve fasttimer.c
- Change include path to machine dependent header files.
- Remove __INLINE__, it expands to inline anyway.
- Don't initialize static variables.
- Change timers to use fasttimer_t instead of timevals.
- Change name of timeval_cmp to fasttime_cmp to highlight this.
- Register name for first timer is regi_timer0, not regi_timer.
- Whitespace and formatting changes.
- Don't return if we're blocking interrupts, goto done and restore interrupts.
- Disable interrupts while walking the fasttimer list, only restore
while doing the callback.
- Remove #ifdef DECLARE_WAITQUEUE, this code won't be used in another OS.
- Remove CVS log.
Jesper Nilsson [Fri, 30 Nov 2007 16:26:23 +0000 (17:26 +0100)]
CRIS v32: Update debugport.
- Shorten include paths to machine dependent headers.
- Add support for fifth serial port.
- Remove CONFIG_ETRAXFS_SIM and CONFIG_ETRAX_DEBUG_PORT_NULL, no longer used.
- Remove raw_printk and stupid_debug hack, no longer needed.
- Remove dummy console stuff, no longer needed.
- Correct some register type names.
- Correct some whitespace errors and formatting.
Jesper Nilsson [Fri, 30 Nov 2007 16:20:00 +0000 (17:20 +0100)]
CRIS v32: Update boot/rescue/head.S code.
- Add ifdef for ETRAX_AXISFLASHMAP to avoid compiling file unless it is set.
- Use assembler macros for setting up clocks.
- Don't copy image, just jump to it (only works for NOR flash)
Jesper Nilsson [Fri, 30 Nov 2007 16:16:09 +0000 (17:16 +0100)]
CRIS v32: Update boot/compressed/misc.c
- Shorten include paths to machine specific headers.
- Remove fill_inbuf, not defined here.
- Return __dest as value from memcpy.
- Enable serial port hardware transmitter and receiver in serial_setup.
- Correct baudrate divisor calculation, changed from 4800 to 115200.
- Add support for Artpec-3 specific serial port setup.
- Initialize pinmux for the correct serial port.
Jesper Nilsson [Fri, 30 Nov 2007 15:40:26 +0000 (16:40 +0100)]
CRIS v32: Update compressed head.S
- Fixes for NAND and NOR flash booting.
- Use assembler macros for common tasks (clocks, general io etc)
- Use (EtraxFS or Artpec-3) machine specific include for dram and hardware init.
Jesper Nilsson [Fri, 30 Nov 2007 15:28:26 +0000 (16:28 +0100)]
CRIS v32: Update boot rescue Kbuild makefile.
- Remove old specific targets, use more generic ones instead.
- Use if_changed to avoid creating new images when no change.
- Use EXTRA_CFLAGS instead of CFLAGS.
Jesper Nilsson [Wed, 30 Jan 2008 11:52:51 +0000 (12:52 +0100)]
CRIS v32: Update boot compressed Kbuild makefile.
- Remove old specific targets, use more generic ones instead.
- Use if_changed to avoid creating new images when no change.
- Use KBUILD_CFLAGS instead of CFLAGS.
Jesper Nilsson [Fri, 30 Nov 2007 15:22:50 +0000 (16:22 +0100)]
CRIS v32: Update traps.c
- Remove raw_prink hack, use oops_in_progress instead.
- When ETRAX_WATCHDOG_NICE_DOGGY is set, loop in trap after oops dump
instead of rebooting.
- Break long lines to less than 80 chars.
- Fix whitespace errors.
- Remove unnecessary comments.
Jesper Nilsson [Fri, 30 Nov 2007 15:17:21 +0000 (16:17 +0100)]
CRIS v10: Update and improve axisflashmap.c
- Add config to use mtd0 as whole flash device.
- Fix whitespace errors.
- Remove braces around single statement ifs.
- Break long lines.
- Remove unnecessary CVS log.
Jesper Nilsson [Fri, 30 Nov 2007 15:11:38 +0000 (16:11 +0100)]
CRIS v10: Update rescue Kbuild makefile.
- Remove old specific targets, use more generic ones instead.
- Use if_changed to avoid creating new images when no change.
Removes a lot of cruft.
- Use EXTRA_CFLAGS instead of CFLAGS.
Jesper Nilsson [Fri, 30 Nov 2007 15:10:30 +0000 (16:10 +0100)]
CRIS v10: Update boot/compressed Kbuild makefile.
- Remove old specific targets, use more generic ones instead.
- Use if_changed to avoid creating new images when no change.
- Use EXTRA_CFLAGS instead of CFLAGS.
Jesper Nilsson [Fri, 30 Nov 2007 15:07:06 +0000 (16:07 +0100)]
CRIS: Update main Kbuild makefile.
- Remove old and non-generic targets, use generic ones instead.
- Add sub-arch as mach-fs or mach-a3 for EtraxFS and Artpec-3 respectively.
- Add links to sub-arch directories, and erase before trying to create them.
- Include from sub-arch specific include directory "mach".
- Add files to be cleaned in CLEAN_FILES instead of as archclean target.
Jesper Nilsson [Fri, 30 Nov 2007 15:01:53 +0000 (16:01 +0100)]
CRIS v32: Update and improve axisflashmap
- Use default partition table when no partition is found (for initial tests)
- Add config ETRAX_AXISFLASHMAP_MTD0WHOLE to allow whole flash as mtd0.
- Add config for VCS simulator connection.
Jesper Nilsson [Fri, 30 Nov 2007 14:54:01 +0000 (15:54 +0100)]
CRIS v32: New version of I2C driver.
- Add i2c_write and i2c_read as functions.
- Use spinlocks for critical regions.
- Add config item to set I2C data and clock port.
- Put unneeded testcode inside #if 0.
- Remove CVS id tag.
Jesper Nilsson [Fri, 30 Nov 2007 14:47:34 +0000 (15:47 +0100)]
CRIS v32: Fixup kernel Makefile.
- Remove CRISv32 common arbiter, dma, io and pinmux files,
they are now defined in machine dependent directories.
- Add cache and cacheflush files for working around cache problems
in CRISv32 chips.
Jesper Nilsson [Fri, 30 Nov 2007 13:11:29 +0000 (14:11 +0100)]
CRIS: Minor generic kernel/traps.c changes.
- Collect extern declarations at top of file.
- Change raw_printk to printk, use oops_in_progress instead.
- Fix formatting and whitespace.
- Allow the watchdog to be disabled during oops.
Jesper Nilsson [Fri, 30 Nov 2007 12:59:57 +0000 (13:59 +0100)]
CRIS: Minor fixes to mm/fault.c
- Only disallow oops if we're in_interrupt context (was in_atomic before)
- Use the generic oops_in_progress instead of the raw_printk hack.
- Fix whitespace/formatting.
- Remove CVS log entries.