1. 20 6月, 2009 1 次提交
  2. 13 5月, 2009 5 次提交
    • P
      OMAP3 clock: only unlock SDRC DLL if SDRC clk < 83MHz · 4519c2bf
      Paul Walmsley 提交于
      According to the 34xx TRM Rev. K section 11.2.4.4.11.1 "Purpose of the
      DLL/CDL Module," the SDRC delay-locked-loop can be locked at any SDRC
      clock frequency from 83MHz to 166MHz.  CDP code unconditionally
      unlocked the DLL whenever shifting to a lower SDRC speed, but this
      seems unnecessary and error-prone, as the DLL is no longer able to
      compensate for process, voltage, and temperature variations.  Instead,
      only unlock the DLL when the SDRC clock rate would be less than 83MHz.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      4519c2bf
    • P
      OMAP3 SRAM: renumber registers to make space for argument passing · b2abb271
      Paul Walmsley 提交于
      Renumber registers in omap3_sram_configure_core_dpll() assembly code to
      make space for additional parameters.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      b2abb271
    • P
      OMAP3 SRAM: clear the SDRC PWRENA bit during SDRC frequency change · fa0406a8
      Paul Walmsley 提交于
      Clear the SDRC_POWER.PWRENA bit before putting the SDRAM into self-refresh
      mode.  This prevents the SDRC from attempting to power off the SDRAM,
      which can cause the system to hang.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      fa0406a8
    • P
      OMAP3 clock: add interconnect barriers to CORE DPLL M2 change · d75d9e73
      Paul Walmsley 提交于
      Where necessary, add interconnect barriers to force posted writes to
      complete before continuing.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      d75d9e73
    • P
      OMAP3 SRAM: add ARM barriers to omap3_sram_configure_core_dpll · 69d4255b
      Paul Walmsley 提交于
      Add more barriers in the SRAM CORE DPLL M2 divider change code.
      
      - Add a DSB SY after the function's entry point to flush all cached
        and buffered writes and wait for the interconnect to claim that they
        have completed[1].  The idea here is to force all delayed write
        traffic going to the SDRAM to at least post to the L3 interconnect
        before continuing.  If these writes are allowed to occur after the
        SDRC is idled, the writes will not be acknowledged and the ARM will
        stall.
      
        Note that in this case, it does not matter if the writes actually
        complete to the SDRAM - it is only necessary for the writes to leave
        the ARM itself.  If the writes are posted by the interconnect when
        the SDRC goes into idle, the writes will be delayed until the SDRC
        returns from idle[2].  If the SDRC is in the middle of a write when
        it is requested to enter idle, the SDRC will not acknowledge the
        idle request until the writes complete to the SDRAM.[3]
      
        The old-style DMB in sdram_in_selfrefresh is now superfluous, so,
        remove it.
      
      - Add an ISB before the function's exit point to prevent the ARM from
        speculatively executing into SDRAM before the SDRAM is enabled[4].
      
      ...
      
      1. ARMv7 ARM (DDI 0406A) A3-47, A3-48.
      
      2. Private communication with Richard Woodruff <r-woodruff2@ti.com>.
      
      3. Private communication with Richard Woodruff <r-woodruff2@ti.com>.
      
      4. ARMv7 ARM (DDI 0406A) A3-48.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      69d4255b
  3. 09 10月, 2008 1 次提交
    • S
      ARM: OMAP3: Add minimal omap3430 support · cc26b3b0
      Syed Mohammed, Khasim 提交于
      Add minimal omap3430 support based on earlier patches from
      Syed Mohammed Khasim. Also merge in omap34xx SRAM support
      from Karthik Dasu and use consistent naming for sram init
      functions.
      
      Also do following changes that make 34xx support usable:
      
      - Remove unused sram.c functions for 34xx
      
      - Rename IRQ_SIR_IRQ to INTCPS_SIR_IRQ and define it locally
        in entry-macro.S
      
      - Update mach-omap2/io.c to support 2420, 2430, and 34xx
      
      - Also merge in 34xx GPMC changes to add fields wr_access and
        wr_data_mux_bus from Adrian Hunter
      
      - Remove memory initialization call omap2_init_memory() until
        until more generic memory initialization patches are posted.
        It's OK to rely on bootloader initialization until then.
      Signed-off-by: NSyed Mohammed, Khasim <khasim@ti.com>
      Signed-off-by: Karthik Dasu<karthik-dp@ti.com>
      Signed-off-by: NAdrian Hunter <ext-adrian.hunter@nokia.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      
      
      
      cc26b3b0