1. 14 5月, 2010 2 次提交
  2. 07 5月, 2010 1 次提交
    • C
      Davinci: watchdog reset separation across socs · c78a5bc2
      Cyril Chemparathy 提交于
      The earlier watchdog reset mechanism had a couple of limitations.  First, it
      embedded a reference to "davinci_wdt_device" inside common code.  This
      forced all derived platforms (da8xx and tnetv107x) to define such a device.
      This also would have caused problems in including multiple socs in a single
      build due to symbol redefinition.
      
      With this patch, davinci_watchdog_reset() now takes the platform device as an
      argument.  The davinci_soc_info struct has been extended to include a reset
      function and a watchdog platform_device.  arch_reset() then uses these
      elements to reset the system in a SoC specific fashion.
      Signed-off-by: NCyril Chemparathy <cyril@ti.com>
      Tested-by: NSandeep Paulraj <s-paulraj@ti.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      c78a5bc2
  3. 05 2月, 2010 1 次提交
  4. 26 11月, 2009 1 次提交
  5. 29 5月, 2009 2 次提交
  6. 26 5月, 2009 4 次提交
    • M
      davinci: Move interrupt ctlr info to SoC infrastructure · 673dd36f
      Mark A. Greer 提交于
      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: NMark A. Greer <mgreer@mvista.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      673dd36f
    • M
      davinci: Add clock init call to common init routine · 66e0c399
      Mark A. Greer 提交于
      All of the davinci SoCs need to call davinci_clk_init() so
      put the call in the common init routine.
      Signed-off-by: NMark A. Greer <mgreer@mvista.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      66e0c399
    • M
      davinci: Support JTAG ID register at any address · b9ab1279
      Mark A. Greer 提交于
      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: NMark A. Greer <mgreer@mvista.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      b9ab1279
    • M
      davinci: Encapsulate SoC-specific data in a structure · 79c3c0b7
      Mark A. Greer 提交于
      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: NMark A. Greer <mgreer@mvista.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      79c3c0b7