1. 01 Mar, 2016 1 commit
    • Tony Lindgren's avatar
      clk: ti: Add support for dm814x ADPLL · 21330497
      Tony Lindgren authored
      On dm814x we have 13 ADPLLs with 3 to 4 outputs on each. The
      ADPLLs have several dividers and muxes controlled by a shared
      control register for each PLL.
      
      Note that for the clocks to work as device drivers for booting on
      dm814x, this patch depends on "ARM: OMAP2+: Change core_initcall
      levels to postcore_initcall" that has already been merged.
      
      Also note that this patch does not implement clk_set_rate for the
      PLL, that will be posted later on when available.
      
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Acked-by: default avatarTero Kristo <t-kristo@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      21330497
  2. 16 Jul, 2015 1 commit
  3. 02 Jun, 2015 5 commits
  4. 03 Feb, 2015 1 commit
    • Arnd Bergmann's avatar
      clk: omap: compile legacy omap3 clocks conditionally · 6793a30a
      Arnd Bergmann authored
      The 'ARM: OMAP3: legacy clock data move under clk driver' patch series
      causes build errors when CONFIG_OMAP3 is not set:
      
      drivers/clk/ti/dpll.c: In function 'ti_clk_register_dpll':
      drivers/clk/ti/dpll.c:199:31: error: 'omap3_dpll_ck_ops' undeclared (first use in this function)
        const struct clk_ops *ops = &omap3_dpll_ck_ops;
                                     ^
      drivers/clk/ti/dpll.c:199:31: note: each undeclared identifier is reported only once for each function it appears in
      drivers/clk/ti/dpll.c:259:10: error: 'omap3_dpll_per_ck_ops' undeclared (first use in this function)
         ops = &omap3_dpll_per_ck_ops;
                ^
      
      drivers/built-in.o: In function `ti_clk_register_gate':
      drivers/clk/ti/gate.c:179: undefined reference to `clkhwops_omap3430es2_dss_usbhost_wait'
      drivers/clk/ti/gate.c:179: undefined reference to `clkhwops_am35xx_ipss_module_wait'
      -in.o: In function `ti_clk_register_interface':
      drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_hsotgusb_wait'
      drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_dss_usbhost_wait'
      drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_ssi_wait'
      drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_am35xx_ipss_wait'
      drivers/built-in.o: In function `ti_clk_register_composite':
      :(.text+0x3da768): undefined reference to `ti_clk_build_component_gate'
      
      In order to fix that problem, this patch makes the omap3 legacy code
      compiled only when both CONFIG_OMAP3 and CONFIG_ATAGS are set.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@linaro.org>
      6793a30a
  5. 30 Jan, 2015 1 commit
    • Tero Kristo's avatar
      clk: ti: add omap3 legacy clock data · 74807dff
      Tero Kristo authored
      Introduces omap3 legacy clock data under clock driver. The clock data
      is also in new format, which makes it possible to get rid of the
      clk-private.h header. This patch also introduces SoC specific init
      functions that shall be called from the low level init.
      
      The data format used in this file has two possible evolution paths;
      it can either be removed completely once no longer needed, or it will
      be possible to retain the format and modify the TI clock driver to be
      a loadable module at some point. The actual path to be followed
      will be decided later.
      Signed-off-by: default avatarTero Kristo <t-kristo@ti.com>
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@linaro.org>
      74807dff
  6. 20 Jan, 2015 2 commits
    • Tony Lindgren's avatar
      clk: ti: Initialize clocks for dm816x · 1a34275d
      Tony Lindgren authored
      The clocks on ti81xx are not compatible with omap3. On dm816x
      the clock source is a FAPLL (Flying Adder PLL), and on dm814x
      there seems to be an APLL (All Digital PLL).
      
      Let's fix up things for dm816x in preparation for adding the
      FAPLL support. As we already have a dummy ti81xx_dt_clk_init()
      in place, let's use that for now to avoid adding a dependency
      to the omap patches.
      
      Later on if somebody adds dm814x support we can split the
      ti81xx_dt_clk_init() clock init function as needed.
      
      Cc: Brian Hutchinson <b.hutchman@gmail.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@linaro.org>
      1a34275d
    • Tony Lindgren's avatar
      clk: ti: Add support for FAPLL on dm816x · 163152cb
      Tony Lindgren authored
      On dm816x the clocks are sourced from a FAPLL (Flying Adder PLL)
      that does not seem to be used on the other omap variants.
      
      There are four instances of the FAPLL on dm816x that each have three
      to seven child synthesizers.
      
      I've set up the FAPLL as a single fapll.c driver. Later on we could
      potentially have the PLL code generic. To do that, we would have to
      consider the following:
      
      1. Setting the PLL to bypass mode also sets the child synthesizers
         into bypass mode. As the bypass rate can also be generated by
         the PLL in regular mode, there's no way for the child synthesizers
         to detect the bypass mode based on the parent clock rate.
      
      2. The PLL registers control the power for each of the child
         syntheriser.
      
      Note that the clocks are currently still missing the set_rate
      implementation so things are still running based on the bootloader
      values. That's OK for now as most of the outputs have dividers and
      those can be set using the existing TI component clock code.
      
      I have verified that the extclk rates are correct for a few clocks,
      so adding the set_rate support should be fairly trivial later on.
      
      This code is partially based on the TI81XX-LINUX-PSP-04.04.00.02
      patches published at:
      
      http://downloads.ti.com/dsps/dsps_public_sw/psp/LinuxPSP/TI81XX_04_04/04_04_00_02/index_FDS.html
      
      Cc: Brian Hutchinson <b.hutchman@gmail.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@linaro.org>
      163152cb
  7. 28 May, 2014 2 commits
    • Peter Ujfalusi's avatar
      CLK: TI: Driver for DRA7 ATL (Audio Tracking Logic) · 9ac33b0c
      Peter Ujfalusi authored
      Audio Tracking Logic is designed to be used by HD Radio applications to
      synchronize the audio output clocks to the baseband clock. ATL can be also
      used to track errors between two reference clocks (BWS, AWS) and generate a modulated
      clock output which averages to some desired frequency.
      In essence ATL is generating a clock to be used by an audio codec and also
      to be used by the SoC as MCLK.
      
      To be able to integrate the ATL provided clocks to the clock tree we need
      two types of DT binding:
      - DT clock nodes to represent the ATL clocks towards the CCF
      - binding for the ATL IP itself which is going to handle the hw
        configuration
      
      The reason for this type of setup is that ATL itself is a separate device
      in the SoC, it has it's own address space and clock domain. Other IPs can
      use the ATL generated clock as their functional clock (McASPs for example)
      and external components like audio codecs can also use the very same clock
      as their MCLK.
      
      The ATL IP in DRA7 contains 4 ATL instences.
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: default avatarTero Kristo <t-kristo@ti.com>
      9ac33b0c
    • Tero Kristo's avatar
      CLK: TI: OMAP2: add clock init support · be67c3bf
      Tero Kristo authored
      Adds support for registering the alias clocks, boot time clock-enable list
      and disabling autoidle of clocks.
      Signed-off-by: default avatarTero Kristo <t-kristo@ti.com>
      be67c3bf
  8. 17 Jan, 2014 17 commits