1. 26 5月, 2009 3 次提交
    • 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
  2. 28 4月, 2009 1 次提交
  3. 17 9月, 2008 1 次提交
  4. 07 8月, 2008 1 次提交
  5. 12 5月, 2007 1 次提交