1. 20 2月, 2015 1 次提交
  2. 01 2月, 2015 1 次提交
    • A
      thermal: exynos: Add TMU support for Exynos7 SoC · 6c247393
      Abhilash Kesavan 提交于
      Add registers, bit fields and compatible strings for Exynos7 TMU
      (Thermal Management Unit). Following are a few of the differences
      in the Exynos7 TMU from earlier SoCs:
              - 8 trigger levels
              - Different bit offsets and more registers for the rising
              and falling thresholds.
              - New power down detection bit in the TMU_CONTROL register
              which does not update the CURRENT_TEMP0 when tmu power down
              is detected.
              - Change in bit offset for the NEXT_DATA field of EMUL_CON
              register. EMUL_CON register address has also changed.
              - INTSTAT and INTCLEAR registers present in earlier SoCs
              have been combined into one INTPEND register. The register
              address for INTCLEAR and INTPEND is also different.
              - Since there are 8 rising/falling interrupts as against
              at most 4 in earlier SoCs the INTEN bit offsets are different.
              - Multiple probe support which is handled by a TMU_CONTROL1
              register (No support for this in the current patch).
      
      This patch adds special clock support required only for Exynos7. It
      also updates the "code_to_temp" prototype as Exynos7 has 9 bit
      code-temp mapping.
      Acked-by: NLukasz Majewski <l.majewski@samsung.com>
      Tested-by: NLukasz Majewski <l.majewski@samsung.com>
      Signed-off-by: NAbhilash Kesavan <a.kesavan@samsung.com>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      6c247393
  3. 28 1月, 2015 1 次提交
  4. 25 1月, 2015 3 次提交
  5. 09 12月, 2014 1 次提交
    • E
      thermal: cpu_cooling: check for the readiness of cpufreq layer · 0f1be51c
      Eduardo Valentin 提交于
      In this patch, the cpu_cooling code checks for the usability of cpufreq
      layer before proceeding with the CPU cooling device registration. The
      main reason is: CPU cooling device is not usable if cpufreq cannot
      switch frequencies.
      
      Similar checks are spread in thermal drivers. Thus, the advantage now
      is to have the check in a single place: cpu cooling device registration.
      For this reason, this patch also updates the existing drivers that
      depend on CPU cooling to simply propagate the error code of the cpu
      cooling registration call. Therefore, in case cpufreq is not ready, the
      thermal drivers will still return -EPROBE_DEFER, in an attempt to try
      again when cpufreq layer gets ready.
      
      Cc: devicetree@vger.kernel.org
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-pm@vger.kernel.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      0f1be51c
  6. 20 11月, 2014 31 次提交
  7. 03 11月, 2014 2 次提交
    • B
      thermal: exynos: fix IRQ clearing on TMU initialization · b835ced1
      Bartlomiej Zolnierkiewicz 提交于
      * Factor out code for clearing raised IRQs from exynos_tmu_work() to
        exynos_tmu_clear_irqs().
      
      * Add a comment about documentation bugs to exynos_tmu_clear_irqs().
      
        [ The documentation for Exynos3250, Exynos4412, Exynos5250 and
          Exynos5260 incorrectly states that INTCLEAR register has
          a different placing of bits responsible for FALL IRQs than
          INTSTAT register.  Exynos5420 and Exynos5440 documentation is
          correct (Exynos4210 doesn't support FALL IRQs at all). ]
      
      * Use exynos_tmu_clear_irqs() in exynos_tmu_initialize() instead
        of open-coded code trying to clear IRQs according to predefined
        masks.  After this change exynos_tmu_initialize() just clears
        IRQs that are raised like it is already done in exynos_tmu_work().
      
        As a nice side-effect the code now uses the correct offset
        (16 instead of 12) for bits responsible for clearing FALL IRQs
        in INTCLEAR register on Exynos3250, Exynos4412 and Exynos5250.
      
      * Remove no longer needed intclr_rise_[mask,shift] and
        intclr_fall_[mask,shift] fields from struct exynos_tmu_registers.
      
      * Remove no longer needed defines.
      
      This patch has been tested on Exynos4412 and Exynos5420 SoCs.
      
      Cc: Amit Daniel Kachhap <amit.daniel@samsung.com>
      Cc: Lukasz Majewski <l.majewski@samsung.com>
      Cc: Eduardo Valentin <edubezval@gmail.com>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Acked-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      b835ced1
    • C
      thermal: exynos: Add support for many TRIMINFO_CTRL registers · 56c64da7
      Chanwoo Choi 提交于
      This patch support many TRIMINFO_CTRL registers if specific Exynos SoC
      has one more TRIMINFO_CTRL registers. Also this patch uses proper 'RELOAD'
      shift/mask bit operation to set RELOAD feature instead of static value.
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      Acked-by: NKyungmin Park <kyungmin.park@samsung.com>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: Eduardo Valentin <edubezval@gmail.com>
      Cc: Amit Daniel Kachhap <amit.daniel@samsung.com>
      Reviewed-by: NAmit Daniel Kachhap <amit.daniel@samsung.com>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      56c64da7