Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: change HWTRACE Kconfig and set it on default
change the hwtrace description to be less confusing and default it to on
(since there shouldnt be any crashes in the miss handler code itself)
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: Clean oprofile build path for blackfin
[Mike Frysinger <vapier.adi@gmail.com>: scrub comment header]
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: remove hardware PM code, oprofile not use it
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: rewrite get_sclk()/get_vco()
rewrite get_sclk()/get_vco() based on the assumption sclk/vco never
changes (since today it cannot)
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: cleanup and unify the ins functions
this also fixes some errors in the ipipe merge
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Sonic Zhang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Make bfin_mac built for bf51x
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Yi Li [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: merge adeos blackfin part to arch/blackfin/
[Mike Frysinger <vapier.adi@gmail.com>:
- handle bf531/bf532/bf534/bf536 variants in ipipe.h
- cleanup IPIPE logic for bfin_set_irq_handler()
- cleanup ipipe asm code a bit and add missing ENDPROC()
- simplify IPIPE code in trap_c
- unify some of the IPIPE code and fix style
- simplify DO_IRQ_L1 handling with ipipe code
- revert IRQ_SW_INT# addition from ipipe merge
- remove duplicate get_{c,s}clk() prototypes
]
Signed-off-by: Yi Li <yi.li@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael Hennerich [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: Add AD7879 defaults for the Blackfin Landscape LCD EZ-Extender
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Sonic Zhang [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: disable pthread stack check for SMP at runtime
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: merge kgdb test code using common CONFIG_KGDB_TESTS
[Grace Pan <grace.pan@analog.com>: Add case for kgdb test in l1 and l2]
Signed-off-by: Grace Pan <grace.pan@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Bernd Schmidt [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: Faster C implementation of no-MPU CPLB handler
This is a mixture ofcMichael McTernan's patch and the existing cplb-mpu code.
We ditch the old cplb-nompu implementation, which is a good example of
why a good algorithm in a HLL is preferrable to a bad algorithm written in
assembly. Rather than try to construct a table of all posible CPLBs and
search it, we just create a (smaller) table of memory regions and
their attributes. Some of the data structures are now unified for both
the mpu and nompu cases. A lot of needless complexity in cplbinit.c is
removed.
Further optimizations:
* compile cplbmgr.c with a lot of -ffixed-reg options, and omit saving
these registers on the stack when entering a CPLB exception.
* lose cli/nop/nop/sti sequences for some workarounds - these don't
* make
sense in an exception context
Additional code unification should be possible after this.
[Mike Frysinger <vapier.adi@gmail.com>:
- convert CPP if statements to C if statements
- remove redundant statements
- use a do...while loop rather than a for loop to get slightly better
optimization and to avoid gcc "may be used uninitialized" warnings ...
we know that the [id]cplb_nr_bounds variables will never be 0, so this
is OK
- the no-mpu code was the last user of MAX_MEM_SIZE and with that rewritten,
we can punt it
- add some BUG_ON() checks to make sure we dont overflow the small
cplb_bounds array
- add i/d cplb entries for the bootrom because there is functions/data in
there we want to access
- we do not need a NULL trailing entry as any time we access the bounds
arrays, we use the nr_bounds variable
]
Signed-off-by: Michael McTernan <mmcternan@airvana.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: update anomaly headers to match latest sheets
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Fix bug - IrDA SIR build failed for BF533.
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Robin Getz [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: panic when running on a chip rev below what we are compiled for
If we are running on a chip revision below what we are compiled for,
there will be missing anomaly workarounds, and a panic is inevitable. Do
is sooner, rather than later, so people don't look for bugs that already
have workarounds (that they turned off).
Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Bryan Wu [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Fix bug - wrong endpoint number and dma channels of USB
Blackfin MUSB has 8 endpoints including ep0 and 8 dma channels not 7
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: do not allow people to pass in a diff clkin_hz value
do not allow people to pass in a diff clkin_hz value when
reprogramming clocks -- it is too late currently
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: allow clkin_hz to be specified on the command line
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: show_cpuinfo - consolidate ugly casts
rather than use *(unsigned int *)v everywhere, do this once with a local
cpu_num variable
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: add __init markings to Blackfin timer init functions
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: add get_dma_config() func to match set_dma_config()
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: add volatile markings to DMA MMRs
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael Hennerich [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Make the interrupt edge and polarity type configurable based on IORESOURCE_BITS
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Remove wasted SIR header files
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Modify bfin_sir device configuration to board file
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: update header to match new location
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Jean Delvare [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Fix typo (channel)
Channnel -> Channel
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Bernd Schmidt [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Replace C version of 64 bit multiply with hand optimized assembly
Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: remove unused members of dma_channel struct
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Robin Getz [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Update some inline assembly, tweak some register constraints
Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: stub out pgprot_noncached() like other people seem to do on nommu
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Nick Andrew [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Fix incorrect use of loose in cpufreq.c
It should be 'lose', not 'loose'.
Signed-off-by: Nick Andrew <nick@nick-andrew.net>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: add __must_check markings to our user functions like other arches
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: dma code: cannot simply OR the ndsize
cannot simply OR the ndsize ... need to clear out the old value first
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: add bfin_read_MDMA_S0_CONFIG compat for dma_memcpy
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Bernd Schmidt [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: fix bug - crashes in tcp_v4_send_reset
Michael says that some bugs are crashes in tcp_v4_send_reset.
There's a missing clobber of "CC" in our checksum assembly
statement; fixing this makes the generated code look much saner.
Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: push cache flushing up to dma_memcpy
push cache flushing up to dma_memcpy() so that we call the flush
functions just once
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: request_dma() returns 0 on success, not channel
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: desc_ptr is a pointer, so declare it as such
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: move most dma functions into static inlines
move most dma functions into static inlines since they are vastly 1
liners that get/set a value in a structure
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: dma header file: strip down includes to only necessary ones
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: set_dma_callback: do not store .irq
set_dma_callback: do not store .irq if request_irq() failed so we dont
turn around and attempt to free_irq() it later on in free_dma()
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: drop irq_callback from struct dma_channel
the irq member already serves the same purpose
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: drop custom dma_interrupt_t and just use irq_handler_t
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: include linux/mm.h since we use PAGE_ALIGN and such
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: enable DEBUG_KERNEL for ADI boards
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: rewrite dma_memcpy() and dma in/out functions
- unify all dma in/out functions (takes ~35 lines of code now)
- unify dma_memcpy with dma in/out functions (1 place that touches MDMA0
registers)
- add support for 32bit transfers
- cleanup dma_memcpy code to be much more readable
- irqs are disabled only while programming MDMA registers rather than
the entire transaction
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: check pointers in safe_dma_memcpy
Check pointers in safe_dma_memcpy as this is the entry point for user-space code
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: push bf561 PERIPHERAL_MAP oddity into bf561-specific code
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael Hennerich [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: ADP5588 QWERTY I2C Keyboard Input device driver
Add BF537-STAMP platform Support
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: cleanup - use scm for changelog, not file headers
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Robin Getz [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: Add basic irq stack checking for Blackfin
Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Set TWI/I2C Clock to 100kHz
All slaves I'm aware of should support at least 100kHz
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: dma_memcpy() - do not return NULL when transferring a multiple of 65k
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael Hennerich [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: Add BF537-STAMP platform support for ENC28J60 SPI Ethernet MAC
This device shouldn't be considered as an alternative to a Memory Mapped
or built-in Ethernet MAC. Throughput is slow (~460kByte/s) while generating
a very high system load (~60%).
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: remove #if check on L2_LENGTH
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Yi Li [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Retire old spi_mmc driver
Turn to use the mmc_spi driver in mainline kernel.
Signed-off-by: Yi Li <yi.li@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Yi Li [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: add mmc_spi support to BF537-STAMP
Signed-off-by: Yi Li <yi.li@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: rename MAX_BLACKFIN_DMA_CHANNEL to MAX_DMA_CHANNELS to match everyone else
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael Hennerich [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: fix bug - kernel build fails with undefined reference to pm_overflow_handler
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Sonic Zhang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Use reads/writes instead of ins/outs directly
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael McTernan [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: add const to some function prototype and struct dma_channel
Signed-off-by: Michael McTernan <mmcternan@airvana.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: implement support for /proc/dma
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: smp patch cleanup from LKML review
1. Use inline get_l1_... functions instead of macro
2. Fix compile issue about smp barrier functions
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: get oprofile work for user space
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Bernd Schmidt [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: fix bugs in linker script when using upstream binutils
Fix a few problems I discovered when building a kernel with upstream CVS
binutils.
We have to add the NOTES macro to our linker script, since a kernel
built with --build-id is otherwise unable to boot. Last time NOTES was
added, it broke things, but the definition of the macro has changed not
to rely on parts of the linker script that aren't present on Blackfin.
I also noticed that _l2_lma_start does not point into the kernel image,
but rather somewhere in L1/L2 space, which seems unintended. Also, when
the L2 section was added to the linker script, the part following it which
computes then length of the init section was not updated.
Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: Add document about bfin-gpio
Add document about bfin-gpio when requesting a pin
both as gpio and gpio interrupt.
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Bernd Schmidt [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: Remove all traces of the relocation stack
Remove all traces of the relocation stack. It's been removed from
binutils for years now.
Add a sanity overflow check to pcrel24 relocations to catch modules that
were built without -mlong-calls.
Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: tweak the BUG_ON() check to allow for equal values
Tweak the BUG_ON() check to allow for equal values since the way pos is
handled ... it is always indexed and post incremented
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael Hennerich [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: gpio.h split into machine subfolders like already done for BF54x
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: cleanup the header file comments
use scm changelog rather than comment blocks in files
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: rewrite cplbinfo to use seq files
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael Hennerich [Wed, 7 Jan 2009 15:14:39 +0000 (23:14 +0800)]
Blackfin arch: fix bugs and unify BFIN_KERNEL_CLOCK option
- remove duplicated code and headers
- add option allowing arbitrary SDRAM/DDR Timing parameters.
- mark automatically calculated timings as EXPERIMENTAL
- fix comment header block
Related to BUGs:
- kernel boot up fails with CONFIG_BFIN_KERNEL_CLOCK item on.
- kernel does not boot if re-program clocks
[ Mike Frysinger <vapier.adi@gmail.com>
- fix comment header
- mark do_sync static
- document the DMA shutdown
- simplify SIC_IWR handling
- fix ANOMALY_05000265 handling to work as intended ]
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: add simple-gpio resources to all adi/tinyboards
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: Allow a gpio pin be requested both as gpio and irq.
[Mike Frysinger <vapier.adi@gmail.com>:
- use KERN_NOTICE when using gpios as both irq and non
rather than KERN_ERR
- embedded newlines in printk() does not fly]
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: do not allow L2 to be cached on BF561 SMP
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Wed, 7 Jan 2009 15:14:38 +0000 (23:14 +0800)]
Blackfin arch: delete now unused "cclk" member of blackfin_cpudata
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael Hennerich [Tue, 18 Nov 2008 10:04:31 +0000 (18:04 +0800)]
Blackfin arch: Fix bug - change cpufreq doesn't take effect on bf537 now
CCLK is variable: get current CCLK in show_cpuinfo
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: Request the gpio resource when making it as an irq pin, avoiding override it.
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Graf Yang [Tue, 18 Nov 2008 09:48:21 +0000 (17:48 +0800)]
Blackfin arch: Add code to free gpio when shutdown irq
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: fix bug - reboot fails on BF527
add ANOMALY_05000435 to handle SIC_IWR1 workaround for rebooting
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:21 +0000 (17:48 +0800)]
Blackfin arch: add ANOMALY_05000435 to our headers
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: only define HI/LO macros for assembly files
Only define HI/LO macros for assembly files since some common C files
use HI/LO as variable names
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:21 +0000 (17:48 +0800)]
Blackfin arch: add BUG_ON() checks to make sure we dont overflow the cplb tables
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: make ROM_BASE depend on ROMKERNEL
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: noMMU CPLB lookup tables can be in L1 SRAM
- unify duplicate page_size_table definitions
- make sure it is placed alongside the other cplb switching code
Pointed-out-by: Michael McTernan <mmcternan@airvana.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: do not include init sections in the kernel lock down as it gets released afterwards
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: change return value
change return of close_cplbtab() and fill_cplbtab() to void since we
always return 0 and nowhere do we check this
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: remove pointless define IN_KERNEL
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: unify cplbinfo files
Merge MPU and noMPU version of CPLB info code to one common version.
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: define BASE_BAUD like everyone else
define BASE_BAUD like everyone else, althought it is only used by 8250
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: remove BFIN_DMA_5XX option
Do not make BFIN_DMA_5XX optional since a large portion of our code
relies on dma functions existing
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:21 +0000 (17:48 +0800)]
Blackfin arch: add mmiowb() as some drivers expect
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Michael Hennerich [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: Fix BUG - Kernel does not link when CONFIG_CPU_FREQ_STAT=m
to reproduce:
$ make BF537-STAMP_defconfig
$ make menuconfig
CPU Frequency scaling --->
[*] CPU Frequency scaling
<M> CPU frequency translation statistics
$ make
arch/blackfin/mach-common/built-in.o: In function `bfin_target':
arch/blackfin/mach-common/cpufreq.c:(.text+0xf1e): undefined reference to
`cpufreq_frequency_table_target'
arch/blackfin/mach-common/built-in.o: In function `bfin_verify_speed':
arch/blackfin/mach-common/cpufreq.c:(.text+0x1056): undefined reference to
`cpufreq_frequency_table_verify'
arch/blackfin/mach-common/built-in.o: In function `__bfin_cpu_init':
arch/blackfin/mach-common/cpufreq.c:(.init.text+0x554): undefined reference to
`cpufreq_frequency_table_get_attr'
arch/blackfin/mach-common/cpufreq.c:(.init.text+0x56a): undefined reference to
`cpufreq_frequency_table_cpuinfo'
arch/blackfin/mach-common/built-in.o: In function `sys_call_table':
(.data+0x83c): undefined reference to
`cpufreq_freq_attr_scaling_available_freqs'
make: *** [.tmp_vmlinux1] Error 1
Blackfin wants CPU_FREQ_TABLE
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: rename cache_lock() to bfin_cache_lock()
rename cache_lock() to bfin_cache_lock() to avoid namespace collision
with common code
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: use generic xor.h
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: cleanup the time.c code
- make the code a bit more readable
- kill of warnings/ifdef mess a bit
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: fix building with CONFIG_DEBUG_DOUBLEFAULT
arch/blackfin/mach-common/entry.S:465: Error: pcrel too far
BFD_RELOC_BFIN_10
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: do not define decode_instruction if hwtrace is turned off
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: rename irq_flags to bfin_irq_flags
rename irq_flags to bfin_irq_flags to avoid namespace
collision with common code
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Mike Frysinger [Tue, 18 Nov 2008 09:48:22 +0000 (17:48 +0800)]
Blackfin arch: move out irq related functions
move irq related functions into asm/irq.h and out of the mondo asm/system.h
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>