1. 16 7月, 2012 3 次提交
  2. 05 3月, 2012 3 次提交
    • G
      m68knommu: make 520x QSPI platform addressing consistent · a4e2e2ac
      Greg Ungerer 提交于
      If we make all QSPI (SPI protocol) addressing consistent across all ColdFire
      family members then we will be able to remove the duplicated plaform data
      and code and use a single setup for all.
      
      So modify the ColdFire 520x QSPI addressing so that:
      
      . base addresses are absolute (not relative to MBAR peripheral register)
      . use a common name for IRQs used
      . move chip select definitions (CS) to appropriate header
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      a4e2e2ac
    • G
      m68knommu: make 520x FEC platform addressing consistent · d4e08372
      Greg Ungerer 提交于
      If we make all FEC (ethernet) addressing consistent across all ColdFire
      family members then we will be able to remove the duplicated plaform data
      and use a single setup for all.
      
      So modify the ColdFire 520x FEC addressing so that:
      
      . FECs are numbered from 0 up
      . base addresses are absolute (not relative to MBAR peripheral register)
      . use a common name for IRQs used
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      d4e08372
    • G
      m68knommu: make 520x UART platform addressing consistent · ffc203bc
      Greg Ungerer 提交于
      If we make all UART addressing consistent across all ColdFire family members
      then we will be able to remove the duplicated plaform data and use a single
      setup for all.
      
      So modify the ColdFire 520x UART addressing so that:
      
      . UARTs are numbered from 0 up
      . use a common name for IRQs used
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      ffc203bc
  3. 18 10月, 2011 1 次提交
    • P
      m68knommu: fix problems with SPI/GPIO on ColdFire 520x · 89127ed3
      Peter Turczak 提交于
      The problem has its root in the calculation of the set-port offsets (macro
      MCFGPIO_SETR() in arch/m68k/include/asm/gpio.h), this assumes that all ports
      have the same offset from the base port address (MCFGPIO_SETR) which is
      defined in mcf520xsim.h as an alias of MCFGIO_PSETR_BUSCTL. Because the BUSCTL
      and BE port do not have a set-register (see MCF5208 Reference Manual Page
      13-10, Table 13-3) the offset calculations went wrong.
      
      Because the BE and BUSCTL port do not seem useful in these parts, as they
      lack a set register, I removed them and adapted the gpio chip bases which
      are also used for the offset-calculations. Now both setting and resetting
      the chip selects works as expected from userland and from the kernelspace.
      Signed-off-by: NPeter Turczak <peter@turczak.de>
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      89127ed3
  4. 31 3月, 2011 1 次提交
  5. 15 3月, 2011 4 次提交
    • G
      m68knommu: external interrupt support to ColdFire intc-simr controller · 47e0c7e1
      Greg Ungerer 提交于
      The EDGE Port module of some ColdFire parts using the intc-simr interrupt
      controller provides support for 7 external interrupts. These interrupts
      go off-chip (that is they are not for internal peripherals). They need
      some special handling and have some extra setup registers. Add code to
      support them.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      47e0c7e1
    • G
      m68knommu: remove ColdFire CLOCK_DIV config option · ce3de78a
      Greg Ungerer 提交于
      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: NGreg Ungerer <gerg@uclinux.org>
      ce3de78a
    • G
      m68knommu: remove MBAR and IPSBAR hacks for the ColdFire 520x CPUs · 571f0608
      Greg Ungerer 提交于
      The ColdFire 5207 and 5208 CPUs have fixed peripheral addresses.
      They do not use the setable peripheral address registers like the MBAR
      and IPSBAR used on many other ColdFire parts. Don't use fake values
      of MBAR and IPSBAR when using peripheral addresses for them, there
      is no need to.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      571f0608
    • G
      m68knommu: move ColdFire PIT timer base addresses · f317c71a
      Greg Ungerer 提交于
      The PIT hardware timer module used in some ColdFire CPU's is not always
      addressed relative to an IPSBAR register. Parts like the ColdFire 5207 and
      5208 have fixed peripheral addresses. So lets not define the register
      addresses of the PIT relative to an IPSBAR definition. Move the base
      address definitions into the per-part headers. This is a lot more consistent
      since all the other peripheral base addresses are defined in the per-part
      header files already.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      f317c71a
  6. 05 1月, 2011 4 次提交
  7. 17 5月, 2010 1 次提交
  8. 16 9月, 2009 3 次提交
    • G
      m68knommu: remove interrupt masking from ColdFire pit timer · f1a59d24
      Greg Ungerer 提交于
      With proper interrupt controller code in place there is no need for
      devices like the timers to have custom interrupt masking code.
      Remove it (and the defines that go along with it).
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      f1a59d24
    • G
      m68knommu: general interrupt controller for ColdFire 532x parts · 277c5e3e
      Greg Ungerer 提交于
      The ColdFire 532x family of parts uses 2 of the same INTC interrupt
      controlers used in the ColdFire 520x family. So modify the code to
      support both parts. The extra code for the second INTC controler in
      the case of the 520x is easily optimized away to nothing.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      277c5e3e
    • G
      m68knommu: use general interrupt controller for ColdFire 520x family · cd3dd406
      Greg Ungerer 提交于
      Create general interrupt controller code for the ColdFire 520x family,
      that does proper masking and unmasking of interrupts. With this in
      place some of the driver hacks in place to support ColdFire interrupts
      can finally go away.
      
      Within the ColdFire family there is a variety of different interrupt
      controllers in use. Some are used on multiple parts, some on only one.
      There is quite some differences in some varients, so much so that
      common code for all ColdFire parts would be impossible.
      
      This commit introduces code to support one of the newer interrupt
      controllers in the ColdFire 5208 and 5207 parts. It has very simple
      mask and unmask operations, so is one of the easiest to support.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      cd3dd406
  9. 10 9月, 2009 1 次提交
  10. 11 6月, 2009 1 次提交
  11. 16 1月, 2009 1 次提交
    • S
      m68k,m68knommu: merge header files · 49148020
      Sam Ravnborg 提交于
      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 <file>_mm.h  [mm for memory manager]
      The m68knommu file is named <file>_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 <arnd@arndb.de>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      49148020
  12. 07 8月, 2008 1 次提交
  13. 05 12月, 2006 1 次提交
  14. 26 4月, 2006 1 次提交
  15. 02 11月, 2005 1 次提交