1. 24 3月, 2015 4 次提交
    • G
      clk: qcom: Introduce parent_map tables · 293d2e97
      Georgi Djakov 提交于
      In the current parent mapping code, we can get duplicate or inconsistent
      indexes, which leads to discrepancy between the number of elements in the
      array and the number of parents. Until now, this was solved with some
      reordering but this is not always possible.
      
      This patch introduces index tables that are used to define the relations
      between the PLL source and the hardware mux configuration value.
      To accomplish this, here we do the following:
       - Define a parent_map struct to map the relations between PLL source index
       and register configuration value.
       - Add a qcom_find_src_index() function for finding the index of a clock
       matching the specific PLL configuration.
       - Update the {set,get}_parent RCG functions use the newly introduced
       parent_map struct.
       - Convert all existing drivers to the new parent_map tables.
      Signed-off-by: NGeorgi Djakov <georgi.djakov@linaro.org>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      293d2e97
    • G
      clk: qcom: Do some error handling in configure_bank() · fae507af
      Georgi Djakov 提交于
      Currently configure_bank() returns void. Add some error
      checking on the regmap calls and propagate if there is
      any error.
      Signed-off-by: NGeorgi Djakov <georgi.djakov@linaro.org>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      fae507af
    • G
      clk: qcom: Fix clk_get_parent function return value · 7f218978
      Georgi Djakov 提交于
      According to the common clock framework API, the clk_get_parent() function
      should return u8. Currently we are returning negative values on error. Fix
      this and use the default parent in case of an error.
      Signed-off-by: NGeorgi Djakov <georgi.djakov@linaro.org>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      7f218978
    • A
      clk: qcom: fix RCG M/N counter configuration · 0b21503d
      Archit Taneja 提交于
      Currently, a RCG's M/N counter (used for fraction division) is
      set to either 'bypass' (counter disabled) or 'dual edge' (counter
      enabled) based on whether the corresponding rcg struct has a mnd
      field specified and a non-zero N.
      
      In the case where M and N are the same value, the M/N counter is
      still enabled by code even though no division takes place.
      Leaving the RCG in such a state can result in improper behavior.
      This was observed with the DSI pixel clock RCG when M and N were
      both set to 1.
      
      Add an additional check (M != N) to enable the M/N counter only
      when it's needed for fraction division.
      Signed-off-by: NArchit Taneja <architt@codeaurora.org>
      Fixes: bcd61c0f (clk: qcom: Add support for root clock
      generators (RCGs))
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      0b21503d
  2. 13 3月, 2015 2 次提交
  3. 26 2月, 2015 5 次提交
  4. 03 2月, 2015 1 次提交
  5. 28 1月, 2015 4 次提交
  6. 04 12月, 2014 1 次提交
  7. 18 11月, 2014 1 次提交
  8. 20 10月, 2014 1 次提交
  9. 26 9月, 2014 1 次提交
  10. 23 9月, 2014 4 次提交
  11. 03 9月, 2014 1 次提交
    • S
      clk: qcom: Fix sdc 144kHz frequency entry · d8210e28
      Stephen Boyd 提交于
      The pre-divider for the sdc clocks only has 2 bits in it, so we
      can't possibly divide by anything larger than 4 here.
      Furthermore, we program the value of ~(n - m) and the n value is
      larger than 8 bits (max of 256). Replace this entry with 200kHz
      which is close enough to 144kHz to be usable.
      
      Cc: Kumar Gala <galak@codeaurora.org>
      Cc: Andy Gross <agross@codeaurora.org>
      Fixes: 24d8fba4 "clk: qcom: Add support for IPQ8064's global clock controller (GCC)"
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NMike Turquette <mturquette@linaro.org>
      d8210e28
  12. 16 7月, 2014 8 次提交
  13. 12 7月, 2014 4 次提交
  14. 03 7月, 2014 1 次提交
  15. 30 5月, 2014 2 次提交