1. 24 5月, 2019 3 次提交
    • M
      ARM: socfpga: Clear PL310 early in SPL · 476abb72
      Marek Vasut 提交于
      On SoCFPGA A10 systems, it can rarely happen that a reboot from Linux
      will result in stale data in PL310 L2 cache controller. Even if the L2
      cache controller is disabled via the CTRL register CTRL_EN bit, those
      data can interfere with operation of devices using DMA, like e.g. the
      DWMMC controller. This can in turn cause e.g. SPL to fail reading data
      from SD/MMC.
      
      The obvious solution here would be to fully reset the L2 cache controller
      via the reset manager MPUMODRST L2 bit, however this causes bus hang even
      if executed entirely from L1 I-cache to avoid generating any bus traffic
      through the L2 cache controller.
      
      This patch thus configures and enables the L2 cache controller very early
      in the SPL boot process, clears the L2 cache and disables the L2 cache
      controller again.
      
      The reason for doing it in SPL is because we need to avoid accessing any
      of the potentially stale data in the L2 cache, and we are certain any of
      the stale data will be below the OCRAM address range. To further reduce
      bus traffic during the L2 cache invalidation, we enable L1 I-cache and
      run the invalidation code entirely out of the L1 I-cache.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <chin.liang.see@intel.com>
      Cc: Dalon Westergreen <dwesterg@gmail.com>
      Cc: Dinh Nguyen <dinguyen@kernel.org>
      Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
      Cc: Tien Fong Chee <tien.fong.chee@intel.com>
      476abb72
    • M
      ARM: socfpga: Pull PL310 clearing into common code · 501be470
      Marek Vasut 提交于
      Pull the PL310 clearing code into common code, so it can be reused
      by Arria10.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <chin.liang.see@intel.com>
      Cc: Dalon Westergreen <dwesterg@gmail.com>
      Cc: Dinh Nguyen <dinguyen@kernel.org>
      Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
      Cc: Tien Fong Chee <tien.fong.chee@intel.com>
      501be470
    • S
      gpio: dwapb_gpio: fix broken dev->node · 34b1a510
      Simon Goldschmidt 提交于
      commit 1b898ffc ("gpio: dwapb_gpio: convert to livetree") introduced
      a bug in that dev->node of the gpio chip was accidentally set to the
      of_node of its bank subnode.
      
      What it meant to do was assign subdev->node, not dev->node.
      
      While this doesn't affect too many use cases, iterating over the gpio
      chip's properties doesn't work any more after that, so fix this.
      
      Fixes: commit 1b898ffc ("gpio: dwapb_gpio: convert to livetree")
      Signed-off-by: NSimon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
      34b1a510
  2. 23 5月, 2019 1 次提交
  3. 22 5月, 2019 34 次提交
  4. 21 5月, 2019 2 次提交