1. 16 Apr, 2009 11 commits
    • Mark A. Greer's avatar
      davinci: Add base address and timer flexibility · 7bd322ef
      Mark A. Greer authored
      The davinci timer code currently hardcodes the timer register
      base addresses, the timer irq numbers, and the timers to use
      for clock events and clocksource.  This won't work for some
      a new SoC so put those values into the soc_info structure
      and set them up in the SoC-specific files.
      Signed-off-by: default avatarMark A. Greer <mgreer@mvista.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      7bd322ef
    • Mark A. Greer's avatar
      davinci: Move interrupt ctlr info to SoC infrastructure · 095865fb
      Mark A. Greer authored
      Use the SoC infrastructure to hold the interrupt controller
      information (i.e., base address, default priorities,
      interrupt controller type, and the number of IRQs).
      
      The interrupt controller base, although initially put
      in the soc_info structure's intc_base field, is eventually
      put in the global 'davinci_intc_base' so the low-level
      interrupt code can access it without a dereference.
      
      These changes enable the SoC default irq priorities to be
      put in the SoC-specific files, and the interrupt controller
      to be at any base address.
      Signed-off-by: default avatarMark A. Greer <mgreer@mvista.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      095865fb
    • Mark A. Greer's avatar
      davinci: Move pinmux setup info to SoC infrastructure · 0576b1ee
      Mark A. Greer authored
      The pinmux register base and setup can be different for different
      SoCs so move the pinmux reg base, pinmux table (and its size) to
      the SoC infrastructure.
      Signed-off-by: default avatarMark A. Greer <mgreer@mvista.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      0576b1ee
    • Mark A. Greer's avatar
      davinci: Add support for multiple PSCs · 28933d93
      Mark A. Greer authored
      The current code to support the DaVinci Power and Sleep Controller (PSC)
      assumes that there is only one controller.  This assumption is no longer
      valid so expand the support to allow greater than one PSC.
      
      To accomplish this, put the base addresses for the PSCs in the SoC
      infrastructure so it can be referenced by the PSC code.  This also
      requires adding an extra parameter to davinci_psc_config() to specify
      the PSC that is to be enabled/disabled.
      Signed-off-by: default avatarMark A. Greer <mgreer@mvista.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      28933d93
    • Mark A. Greer's avatar
      davinci: Add clock init call to common init routine · 81b3e80e
      Mark A. Greer authored
      All of the davinci SoCs need to call davinci_clk_init() so
      put the call in the common init routine.
      Signed-off-by: default avatarMark A. Greer <mgreer@mvista.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      81b3e80e
    • Mark A. Greer's avatar
      davinci: Support JTAG ID register at any address · 1117960c
      Mark A. Greer authored
      The Davinci cpu_is_davinci_*() macros use the SoC part number
      and variant retrieved from the JTAG ID register to determine the
      type of cpu that the kernel is running on.  Currently, the code to
      read the JTAG ID register assumes that the register is always at
      the same base address.  This isn't true on some newer SoCs.
      
      To solve this, have the SoC-specific code set the JTAG ID register
      base address in soc_info structure and add a 'cpu_id' member to it.
      'cpu_id' will be used by the cpu_is_davinci_*() macros to match
      the cpu id.  Also move the info used to identify the cpu type into
      the SoC-specific code to keep all SoC-specific code together.
      
      The common code will read the JTAG ID register, search through
      an array of davinci_id structures to identify the cpu type.
      Once identified, it will set the 'cpu_id' member of the soc_info
      structure to the proper value and the cpu_is_davinci_*() macros
      will now work.
      Signed-off-by: default avatarMark A. Greer <mgreer@mvista.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      1117960c
    • Mark A. Greer's avatar
      davinci: Encapsulate SoC-specific data in a structure · a33f8b29
      Mark A. Greer authored
      Create a structure to encapsulate SoC-specific information.
      This will assist in generalizing code so it can be used by
      different SoCs that have similar hardware but with minor
      differences such as having a different base address.
      
      The idea is that the code for each SoC fills out a structure
      with the correct information.  The board-specific code then
      calls the SoC init routine which in turn will call a common
      init routine that makes a copy of the structure, maps in I/O
      regions, etc.
      
      After initialization, code can get a pointer to the structure
      by calling davinci_get_soc_info().  Eventually, the common
      init routine will make a copy of all of the data pointed to
      by the structure so the original data can be made __init_data.
      That way the data for SoC's that aren't being used won't consume
      memory for the entire life of the kernel.
      
      The structure will be extended in subsequent patches but
      initially, it holds the map_desc structure for any I/O
      regions the SoC/board wants statically mapped.
      Signed-off-by: default avatarMark A. Greer <mgreer@mvista.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      a33f8b29
    • Chaithrika U S's avatar
      NET: DaVinci EMAC: NAPI updates for 2.6.30 · 5be767db
      Chaithrika U S authored
      Fix EMAC driver build errors for 2.6.30-rc2 staging branch
      
      The member 'bus_id'  no longer exists in the device structure,
      instead use dev_name() function. Also, replace netif_rx_schedule()
      and netif_rx_complete() with napi_schedule() and napi_complete()
      respectively.
      
      Tested on TI DM644x and DM646x EVMs.
      Signed-off-by: default avatarChaithrika U S <chaithrika@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      5be767db
    • Kevin Hilman's avatar
      Merge with Linus 'v2.6.30-rc2' · 79483b52
      Kevin Hilman authored
      Conflicts:
      	arch/arm/mach-davinci/board-evm.c
      	arch/arm/mach-davinci/include/mach/nand.h
      	drivers/ide/palm_bk3710.c
      	drivers/media/video/Makefile
      	drivers/misc/eeprom/at24.c
      	drivers/misc/eeprom/at25.c
      	drivers/mmc/host/Kconfig
      	drivers/mmc/host/Makefile
      	drivers/mtd/nand/Kconfig
      	drivers/mtd/nand/Makefile
      	drivers/mtd/nand/davinci_nand.c
      	drivers/usb/musb/davinci.c
      	drivers/video/Makefile
      	drivers/watchdog/davinci_wdt.c
      	include/linux/memory.h
      	sound/soc/davinci/davinci-evm.c
      	sound/soc/davinci/davinci-sffsdr.c
      79483b52
    • Troy Kisky's avatar
      ARM: DaVinci: emac: move random_ether_addr to davinci_emac · 0b9273a3
      Troy Kisky authored
      Move the creation of a random ethernet address from devices.c
      into davinci_emac.c. This allows me to delete the davinci_emac_init
      function and directly call the dmxxx specific function from the
      board file.
      Signed-off-by: default avatarTroy Kisky <troy.kisky@boundarydevices.com>
      0b9273a3
    • Kevin Hilman's avatar
      Revert "ARM: DaVinci: Cleaning of DaVinci MMC driver" · 2fb1d125
      Kevin Hilman authored
      This reverts commit 1420b5d7.
      2fb1d125
  2. 15 Apr, 2009 5 commits
  3. 14 Apr, 2009 24 commits