15 Mar, 2011

4 commits

  • The reality is that you do not need the abiltity to configure the
    clock divider for ColdFire CPUs. It is a fixed ratio on any given
    ColdFire family member. It is not the same for all ColdFire parts,
    but it is always the same in a model range. So hard define the divider
    for each supported ColdFire CPU type and remove the Kconfig option.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • In some of the RAM size autodetection code on ColdFire CPU startup
    we reference DRAM registers relative to the MBAR register. Not all of
    the supported ColdFire CPUs have an MBAR, and currently this works
    because we fake an MBAR address on those registers. In an effort to
    clean this up, and eventually remove the fake MBAR setting make the
    DRAM register address definitions actually contain the MBAR (or IPSBAR
    as appropriate) value as required.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • Not all ColdFire CPUs that use the old style timer hardware module use
    an MBAR set peripheral region. Move the TIMER base address defines to the
    per-CPU header files where we can set it correctly based on how the
    peripherals are mapped - instead of using a fake MBAR for some platforms.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • The base addresses of the ColdFire DMA unit registers belong with
    all the other address definitions in the per-cpu headers. The current
    definitions assume they are relative to an MBAR register. Not all
    ColdFire CPUs have an MBAR register. A clean address define can only
    be acheived in the per-cpu headers along with all the other chips
    peripheral base addresses.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     

05 Jan, 2011

4 commits


16 Sep, 2009

2 commits

  • The ColdFire "timers" clock setup can be simplified. There is really no
    need for the flexible per-platform setup code. The clock interrupt can be
    hard defined per CPU platform (in CPU include files). This makes the
    actual timer code simpler.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • Currently the code that supports setting the old style ColdFire interrupt
    controller mask registers is macros in the include files of each of the
    CPU types. Merge all these into a set of real masking functions in the
    old Coldfire interrupt controller code proper. All the macros are basically
    the same (excepting a register size difference on really early parts).

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     

10 Sep, 2009

1 commit


16 Jan, 2009

1 commit

  • Merge header files for m68k and m68knommu to the single location:

    arch/m68k/include/asm

    The majority of this patch was the result of the
    script that is included in the changelog below.

    The script was originally written by Arnd Bergman and
    exten by me to cover a few more files.

    When the header files differed the script uses the following:

    The original m68k file is named _mm.h [mm for memory manager]
    The m68knommu file is named _no.h [no for no memory manager]

    The files uses the following include guard:

    This include gaurd works as the m68knommu toolchain set
    the __uClinux__ symbol - so this should work in userspace too.

    Merging the header files for m68k and m68knommu exposes the
    (unexpected?) ABI differences thus it is easier to actually
    identify these and thus to fix them.

    The commit has been build tested with both a m68k and
    a m68knommu toolchain - with success.

    The commit has also been tested with "make headers_check"
    and this patch fixes make headers_check for m68knommu.

    The script used:
    TARGET=arch/m68k/include/asm
    SOURCE=arch/m68knommu/include/asm

    INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \
    linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \
    oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \
    shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \
    termbits.h termios.h tlb.h types.h user.h"

    EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \
    ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \
    sections.h topology.h"

    NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \
    elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \
    m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \
    m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \
    m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \
    mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \
    mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \
    nettel.h quicc_simple.h smp.h"

    FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \
    cacheflush.h checksum.h current.h delay.h div64.h \
    dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \
    irq.h kmap_types.h machdep.h mc146818rtc.h mmu.h mmu_context.h \
    module.h page.h page_offset.h param.h pci.h pgalloc.h \
    pgtable.h processor.h ptrace.h scatterlist.h segment.h \
    setup.h sigcontext.h siginfo.h signal.h string.h system.h swab.h \
    thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \
    unaligned.h unistd.h"

    mergefile() {
    BASE=${1%.h}
    git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h
    git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.h

    cat << EOF > ${TARGET}/$1
    EOF

    git add ${TARGET}/$1
    }

    set -e

    mkdir -p ${TARGET}

    git mv include/asm-m68k/* ${TARGET}
    rmdir include/asm-m68k

    git rm ${SOURCE}/Kbuild
    for F in $INCLUDE $EQUAL; do
    git rm ${SOURCE}/$F
    done

    for F in $NOMUUFILES; do
    git mv ${SOURCE}/$F ${TARGET}/$F
    done

    for F in $FILES ; do
    mergefile $F
    done

    rmdir arch/m68knommu/include/asm
    rmdir arch/m68knommu/include

    Cc: Arnd Bergmann
    Cc: Geert Uytterhoeven
    Signed-off-by: Sam Ravnborg
    Signed-off-by: Greg Ungerer

    Sam Ravnborg