1. 29 5月, 2016 1 次提交
    • G
      m68k: Add <asm/hash.h> · 14c44b95
      George Spelvin 提交于
      This provides a multiply by constant GOLDEN_RATIO_32 = 0x61C88647
      for the original mc68000, which lacks a 32x32-bit multiply instruction.
      
      Yes, the amount of optimization effort put in is excessive. :-)
      
      Shift-add chain found by Yevgen Voronenko's Hcub algorithm at
      http://spiral.ece.cmu.edu/mcm/gen.htmlSigned-off-by: NGeorge Spelvin <linux@sciencehorizons.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Andreas Schwab <schwab@linux-m68k.org>
      Cc: Philippe De Muyter <phdm@macq.eu>
      Cc: linux-m68k@lists.linux-m68k.org
      14c44b95
  2. 07 3月, 2016 1 次提交
  3. 13 7月, 2015 3 次提交
    • G
      m68knommu: make ColdFire SoC selection a choice · fa95a1dd
      Greg Ungerer 提交于
      It would be nice if we could support multiple ColdFire SoC types in a
      single binary - but currently the code simply does not support it.
      Change the SoC selection config options to be a choice instead of
      individual selectable entries.
      
      This fixes problems with building allnoconfig, and means that a sane
      linux kernel is generated for a single ColdFire SoC type.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      fa95a1dd
    • G
      m68knommu: improve the clock configuration defaults · 15c2ca4e
      Greg Ungerer 提交于
      Create some intelligent default settings for each ColdFire SoC type
      in the configuration entry for CONFIG_CLOCK_FREQ.
      
      The ColdFire clock frequency is configurable at build time. There is a
      lot of variation in the frequency of operation on specific ColdFire based
      boards. But we can choose a default that matches the maximum frequency
      of clock operation for a particular ColdFire part. That is typically
      the most common clock setting.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      15c2ca4e
    • G
      m68knommu: force setting of CONFIG_CLOCK_FREQ for ColdFire · d9ee4896
      Greg Ungerer 提交于
      It is possible to disable the clock selection at configuration time,
      but for ColdFire targets we always expect a clock frequency to be
      selected. This results in the following compile time error:
      
        CC      arch/m68k/kernel/asm-offsets.s
      In file included from ./arch/m68k/include/asm/timex.h:14:0,
                       from include/linux/timex.h:65,
                       from include/linux/sched.h:19,
                       from arch/m68k/kernel/asm-offsets.c:14:
      ./arch/m68k/include/asm/coldfire.h:25:2: error: #error "Don't know what your ColdFire CPU clock frequency is??"
      
      Remove CONFIG_CLOCK_SELECT completely and always enable CONFIG_CLOCK_FREQ
      for ColdFire.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      d9ee4896
  4. 29 4月, 2013 2 次提交
  5. 21 3月, 2013 1 次提交
  6. 05 12月, 2012 2 次提交
  7. 14 11月, 2012 1 次提交
  8. 17 8月, 2012 2 次提交
  9. 16 7月, 2012 3 次提交
    • S
      m68knommu: Add support for the Coldfire m5441x. · bea8bcb1
      Steven King 提交于
      Add support for the Coldfire 5441x (54410/54415/54416/54417/54418).  Currently
      we only support noMMU mode.  It requires the PIT patch posted previously as it
      uses the PIT instead of the dma timer as a clock source so we can get all that
      GENERIC_CLOCKEVENTS goodness.  It also adds some simple clk definitions and
      very simple minded power management.  The gpio code is tweeked and some
      additional devices are added to devices.c.  The Makefile uses -mv4e as
      apparently, the only difference a v4m (m5441x) and a v4e is the later has a
      FPU, which I don't think should matter to us in the kernel.
      Signed-off-by: NSteven King <sfking@fdwdc.com>
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      bea8bcb1
    • S
      m68knommu: Add support for the Coldfire 5251/5253 · 04e037aa
      Steven King 提交于
      Basic support for the Coldfire 5251/5253.
      Signed-off-by: NSteven king <sfking@fdwdc.com>
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      04e037aa
    • S
      m68knommu: refactor Coldfire GPIO not to require GPIOLIB, eliminate mcf_gpio_chips. · eac57949
      Steven King 提交于
      If we're not connecting external GPIO extenders via i2c or spi or whatever, we
      probably don't need GPIOLIB.  If we provide an alternate implementation of
      the GPIOLIB functions to use when only on-chip GPIO is needed, we can change
      ARCH_REQUIRE_GPIOLIB to ARCH_WANTS_OPTIONAL_GPIOLIB so that GPIOLIB becomes
      optional.
      
      The downside is that in the GPIOLIB=n case, we lose all error checking done by
      gpiolib, ie multiply allocating the gpio, free'ing gpio etc., so that the
      only checking that can be done is if we reference a gpio on an external part.
      Targets that need the extra error checking can still select GPIOLIB=y.
      
      For the case where GPIOLIB=y, we can simplify the table of gpio chips to use a
      single chip, eliminating the tables of chips in the 5xxx.c files.  The
      original motivation for the definition of multiple chips was to match the way
      many of the Coldfire variants defined their gpio as a spare array in memory.
      However, all this really gains us is some error checking when we request a
      gpio, gpiolib can check that it doesn't fall in one of the holes.  If thats
      important, I think we can still come up with a better way of accomplishing
      that.
      
      Also in this patch is some general cleanup and reorganizing of the gpio header
      files (I'm sure I must have had a reason why I sometimes used a prefix of
      mcf_gpio and other times mcfgpio but for the life of me I can't think of it
      now).
      Signed-off-by: NSteven King <sfking@fdwdc.com>
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      eac57949
  10. 27 6月, 2012 1 次提交
  11. 10 6月, 2012 3 次提交
  12. 12 5月, 2012 1 次提交
  13. 16 4月, 2012 1 次提交
  14. 30 12月, 2011 3 次提交
  15. 24 12月, 2011 3 次提交
    • G
      m68k: handle presence of 64bit mul/div instructions cleanly · 84f3fb7a
      Greg Ungerer 提交于
      The traditional 68000 processors and the newer reduced instruction set
      ColdFire processors do not support the 32*32->64 multiply or the 64/32->32
      divide instructions. This is not a difference based on the presence of
      a hardware MMU or not.
      
      Create a new config symbol to mark that a CPU type doesn't support the
      longer multiply/divide instructions. Use this then as a basis for using
      the fast 64bit based divide (in div64.h) and for linking in the extra
      libgcc functions that may be required (mulsi3, divsi3, etc).
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      84f3fb7a
    • G
      m68k: simpler m68k and ColdFire CPU's can use generic csum code · 7f73bafc
      Greg Ungerer 提交于
      We have two implementations of the IP checksuming code for the m68k arch.
      One uses the more advanced instructions available in 68020 and above
      processors, the other uses the simpler instructions available on the
      original 68000 processors and the modern ColdFire processors.
      
      This simpler code is pretty much the same as the generic lib implementation
      of the IP csum functions. So lets just switch over to using that. That
      means we can completely remove the checksum_no.c file, and only have the
      local fast code used for the more complex 68k CPU family members.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      7f73bafc
    • G
      m68k: selection of GENERIC_ATOMIC64 is not MMU specific · 5717a02b
      Greg Ungerer 提交于
      The selection of the CONFIG_GENERIC_ATOMIC64 option is not specific to the
      MMU being present and enabled. It is a property of certain CPU families.
      So select it based on those CPU types being selected.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      5717a02b
  16. 18 10月, 2011 1 次提交
    • G
      m68k: reorganize Kconfig options to improve mmu/non-mmu selections · 0e152d80
      Greg Ungerer 提交于
      The current mmu and non-mmu Kconfig files can be merged to form
      a more general selection of options. The current break up of options
      is due to the simple brute force merge from the m68k and m68knommu
      arch directories.
      
      Many of the options are not at all specific to having the MMU enabled
      or not. They are actually associated with a particular CPU type or
      platform type.
      
      Ultimately as we support all processors with the MMU disabled we need
      many of these options to be selectable without the MMU option enabled.
      And likewise some of the ColdFire processors, which currently are only
      supported with the MMU disabled, do have MMU hardware, and will need
      to have options selected on CPU type, not MMU disabled.
      
      This patch removes the old mmu and non-mmu Kconfigs and instead breaks
      up the configuration into four areas: cpu, machine, bus, devices.
      
      The Kconfig.cpu lists all the options associated with selecting a CPU,
      and includes options specific to each CPU type as well.
      
      Kconfig.machine lists all options associated with selecting a machine
      type. Almost always the machines selectable is restricted by the chosen
      CPU.
      
      Kconfig.bus contains options associated with selecting bus types on the
      various machine types. That includes PCI bus, PCMCIA bus, etc.
      
      Kconfig.devices contains options for drivers and driver associated
      options.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      0e152d80