1. 14 Dec, 2018 23 commits
    • Stephen Boyd's avatar
      Merge branch 'clk-qcom-8998-resets' into clk-next · 44a69517
      Stephen Boyd authored
        - Add resets and make Qualcomm MSM8998 GCC driver more functional
      
      * clk-qcom-8998-resets:
        clk: qcom: Drop unused 8998 clock
        clk: qcom: Leave mmss noc on for 8998
        clk: qcom: Add missing msm8998 resets
        clk: qcom: gcc-msm8998: Add clkref clocks
        clk: qcom: gcc-msm8998: Disable halt check of UFS clocks
        clk: qcom: gcc-msm8998: Drop hmss_dvm and lpass_at
        clk: qcom: Enumerate remaining msm8998 resets
        clk: qcom: Add xo dummy clk on msm8998
        clk: qcom: Fix MSM8998 resets
      44a69517
    • Jeffrey Hugo's avatar
      clk: qcom: Drop unused 8998 clock · 0f1c6ca8
      Jeffrey Hugo authored
      gcc_lpass_trig_clk is not used downstream, therefore there is no reason to
      expect it to be needed for clients.  Let's remove it because messing with
      the clock has been observed to cause Linux hangs when the qdss_clk is
      initialized by rpmcc.
      Signed-off-by: default avatarJeffrey Hugo <jhugo@codeaurora.org>
      Reviewed-by: default avatarMarc Gonzalez <marc.w.gonzalez@free.fr>
      Fixes: 4807c71c (arm64: dts: Add msm8998 SoC and MTP board support)
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      0f1c6ca8
    • Jeffrey Hugo's avatar
      clk: qcom: Leave mmss noc on for 8998 · 12eced09
      Jeffrey Hugo authored
      Similar to other qcom targets, gcc_mmss_noc_cfg_ahb_clk should not be
      disabled.  Any mmss access depends on this clock, and its been observed
      that enabling mmssnoc_axi_rpm_clk with rpmcc results in an implicit
      access to mmss and will crash the system if gcc_mmss_noc_cfg_ahb_clk is
      disabled.
      Signed-off-by: default avatarJeffrey Hugo <jhugo@codeaurora.org>
      Fixes: 4807c71c (arm64: dts: Add msm8998 SoC and MTP board support)
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      12eced09
    • Stephen Boyd's avatar
      Merge branches 'clk-imx7ulp', 'clk-imx6-fixes', 'clk-imx-fixes', 'clk-imx8qxp'... · 58c05c82
      Stephen Boyd authored
      Merge branches 'clk-imx7ulp', 'clk-imx6-fixes', 'clk-imx-fixes', 'clk-imx8qxp' and 'clk-imx8mq' into clk-next
      
       - NXP i.MX7ULP SoC clock support
       - Support for i.MX8QXP SoC clocks
       - Support for NXP i.MX8MQ clock controllers
      
      * clk-imx7ulp:
        clk: imx: add imx7ulp clk driver
        clk: imx: implement new clk_hw based APIs
        clk: imx: make mux parent strings const
        dt-bindings: clock: add imx7ulp clock binding doc
        clk: imx: add imx7ulp composite clk support
        clk: imx: add pfdv2 support
        clk: imx: add pllv4 support
        clk: fractional-divider: add CLK_FRAC_DIVIDER_ZERO_BASED flag support
        clk: imx: add gatable clock divider support
      
      * clk-imx6-fixes:
        clk: imx6q: handle ENET PLL bypass
        clk: imx6q: optionally get CCM inputs via standard clock handles
        clk: imx6q: reset exclusive gates on init
      
      * clk-imx-fixes:
        clk: imx6q: add DCICx clocks gate
        clk: imx6sl: ensure MMDC CH0 handshake is bypassed
        clk: imx7d: remove UART1 clock setting
      
      * clk-imx8qxp:
        clk: imx: add imx8qxp lpcg driver
        clk: imx: add lpcg clock support
        clk: imx: add imx8qxp clk driver
        clk: imx: add scu clock common part
        clk: imx: add configuration option for mmio clks
        dt-bindings: clock: add imx8qxp lpcg clock binding
        dt-bindings: clock: imx8qxp: add SCU clock IDs
        firmware: imx: add pm svc headfile
        dt-bindings: fsl: scu: update power domain binding
        firmware: imx: remove resource id enums
        dt-bindings: imx: add scu resource id headfile
      
      * clk-imx8mq:
        clk: imx: Make the i.MX8MQ CCM clock driver CLK_IMX8MQ dependant
        clk: imx: remove redundant initialization of ret to zero
        clk: imx: Add SCCG PLL type
        clk: imx: Add fractional PLL output clock
        clk: imx: Add clock driver for i.MX8MQ CCM
        clk: imx: Add imx composite clock
        dt-bindings: Add binding for i.MX8MQ CCM
      58c05c82
    • Stephen Boyd's avatar
      Merge branches 'clk-renesas', 'clk-allwinner', 'clk-tegra', 'clk-meson' and... · ffe05540
      Stephen Boyd authored
      Merge branches 'clk-renesas', 'clk-allwinner', 'clk-tegra', 'clk-meson' and 'clk-rockchip' into clk-next
      
      * clk-renesas:
        clk: renesas: rcar-gen3: Add HS400 quirk for SD clock
        clk: renesas: rcar-gen3: Add documentation for SD clocks
        clk: renesas: rcar-gen3: Set state when registering SD clocks
        clk: renesas: r8a77995: Simplify PLL3 multiplier/divider
        clk: renesas: r8a77995: Add missing CPEX clock
        clk: renesas: r8a77995: Remove non-existent SSP clocks
        clk: renesas: r8a77995: Remove non-existent VIN5-7 module clocks
        clk: renesas: r8a77995: Correct parent clock of DU
        clk: renesas: r8a77990: Correct parent clock of DU
        clk: renesas: r8a77970: Add CPEX clock
        clk: renesas: r8a77965: Add CPEX clock
        clk: renesas: r8a7796: Add CPEX clock
        clk: renesas: r8a7795: Add CPEX clock
        clk: renesas: r8a774a1: Add CPEX clock
        dt-bindings: clock: r8a7796: Remove CSIREF clock
        dt-bindings: clock: r8a7795: Remove CSIREF clock
        clk: renesas: Mark rza2_cpg_clk_register static
        clk: renesas: r7s9210: Add USB clocks
        clk: renesas: r8a77970: Add RPC clocks
        clk: renesas: r7s9210: Add SDHI clocks
      
      * clk-allwinner:
        clk: sunxi-ng: a64: Allow parent change for VE clock
        clk: sunxi-ng: a33: Set CLK_SET_RATE_PARENT for all audio module clocks
        clk: sunxi-ng: a33: Use sigma-delta modulation for audio PLL
        clk: sunxi-ng: h3: Allow parent change for ve clock
        clk: sunxi-ng: add support for suniv F1C100s SoC
        dt-bindings: clock: Add Allwinner suniv F1C100s CCU
        clk: sunxi-ng: h3/h5: Fix CSI_MCLK parent
        clk: sunxi-ng: r40: Force LOSC parent to RTC LOSC output
        clk: sunxi-ng: sun50i: a64: Use sigma-delta modulation for audio PLL
        clk: sunxi-ng: a64: Fix gate bit of DSI DPHY
        clk: sunxi-ng: Enable DE2_CCU for SUN8I and SUN50I
        clk: sunxi-ng: Add support for H6 DE3 clocks
        dt-bindings: clock: sun8i-de2: Add H6 DE3 clock description
        clk: sunxi-ng: h6: Set video PLLs limits
        clk: sunxi-ng: Use u64 for calculation of NM rate
        clk: sunxi-ng: Adjust MP clock parent rate when allowed
        clk: sunxi-ng: sun50i: h6: Fix MMC clock mux width
        clk: sunxi-ng: enable so-said LDOs for A64 SoC's pll-mipi clock
      
      * clk-tegra:
        clk: tegra: Return the exact clock rate from clk_round_rate
        clk: tegra30: Use Tegra CPU powergate helper function
        soc/tegra: pmc: Drop SMP dependency from CPU APIs
        clk: tegra: Fix maximum audio sync clock for Tegra124/210
        clk: tegra: get rid of duplicate defines
        clk: tegra20: Check whether direct PLLM sourcing is turned off for EMC
        clk: tegra20: Turn EMC clock gate into divider
      
      * clk-meson: (25 commits)
        clk: meson: axg-audio: use the clk input helper function
        clk: meson: add clk-input helper function
        clk: meson: Mark some things static
        clk: meson: meson8b: add the read-only video clock trees
        clk: meson: meson8b: add the fractional divider for vid_pll_dco
        clk: meson: meson8b: fix the offset of vid_pll_dco's N value
        clk: meson: Fix GXL HDMI PLL fractional bits width
        clk: meson: meson8b: add the CPU clock post divider clocks
        clk: meson: meson8b: rename cpu_div2/cpu_div3 to cpu_in_div2/cpu_in_div3
        clk: meson: clk-regmap: add read-only gate ops
        clk: meson: meson8b: allow changing the CPU clock tree
        clk: meson: meson8b: run from the XTAL when changing the CPU frequency
        clk: meson: meson8b: add support for more M/N values in sys_pll
        clk: meson: meson8b: mark the CPU clock as CLK_IS_CRITICAL
        clk: meson: meson8b: do not use cpu_div3 for cpu_scale_out_sel
        clk: meson: clk-pll: check if the clock is already enabled
        clk: meson: meson8b: fix the width of the cpu_scale_div clock
        clk: meson: meson8b: fix incorrect divider mapping in cpu_scale_table
        clk: meson: meson8b: use the HHI syscon if available
        dt-bindings: clock: meson8b: use the registers from the HHI syscon
        ...
      
      * clk-rockchip:
        clk: rockchip: add clock-id to gate of ACODEC for rk3328
        clk: rockchip: add clock ID of ACODEC for rk3328
        clk: rockchip: fix ID of 8ch clock of I2S1 for rk3328
        clk: rockchip: fix I2S1 clock gate register for rk3328
        clk: rockchip: make rk3188 hclk_vio_bus critical
        clk: rockchip: fix rk3188 sclk_mac_lbtest parameter ordering
        clk: rockchip: fix rk3188 sclk_smc gate data
        clk: rockchip: fix typo in rk3188 spdif_frac parent
      ffe05540
    • Stephen Boyd's avatar
      Merge branches 'clk-managed-registration', 'clk-spdx', 'clk-remove-basic' and... · 1a501c8d
      Stephen Boyd authored
      Merge branches 'clk-managed-registration', 'clk-spdx', 'clk-remove-basic' and 'clk-ops-const' into clk-next
      
       - Make devm_of_clk_add_hw_provider() use parent dt node if necessary
       - Various SPDX taggings
       - Mark clk_ops const when possible
      
      * clk-managed-registration:
        clk: bd718x7: Initial support for ROHM bd71837/bd71847 PMIC clock
        clk: apcs-msm8916: simplify probe cleanup by using devm
        clk: clk-twl6040: Free of_provider at remove
        clk: rk808: use managed version of of_provider registration
        clk: clk-hi655x: Free of_provider at remove
        clk: of-provider: look at parent if registered device has no provider info
        clk: Add kerneldoc to managed of-provider interfaces
      
      * clk-spdx:
        clk: Tag basic clk types with SPDX
        clk: Tag clk core files with SPDX
        clk: bcm2835: Switch to SPDX identifier
      
      * clk-remove-basic:
        clk: Loongson1: Remove usage of CLK_IS_BASIC
        clk: samsung: s3c2410: Remove usage of CLK_IS_BASIC
        clk: versatile: sp810: Remove usage of CLK_IS_BASIC
        clk: hisilicon: Remove usage of CLK_IS_BASIC
        clk: h8300: Remove usage of CLK_IS_BASIC
        clk: axm5516: Remove usage of CLK_IS_BASIC
        clk: st: Remove usage of CLK_IS_BASIC
        clk: renesas: Remove usage of CLK_IS_BASIC
      
      * clk-ops-const:
        clk: s2mps11: constify clk_ops structure
        clk: pxa: constify clk_ops structures
        clk: pistachio: constify clk_ops structures
        clk: palmas: constify clk_ops structure
        clk: max77686: constify clk_ops structure
      1a501c8d
    • Robert Yang's avatar
      clk: tegra: Return the exact clock rate from clk_round_rate · 08441a96
      Robert Yang authored
      The current behavior is that clk_round_rate would return the same clock
      rate passed to it for valid PLL configurations. This change will return
      the exact rate the PLL will provide in accordance with clk API.
      Signed-off-by: default avatarRobert Yang <decatf@gmail.com>
      Reviewed-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Tested-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      08441a96
    • Jon Hunter's avatar
      clk: tegra30: Use Tegra CPU powergate helper function · b158aeea
      Jon Hunter authored
      Rather than using the tegra_powergate_is_powered() function for
      determining if a CPU is powered, use the tegra_pmc_cpu_is_powered()
      instead which was created to get the CPU power status. Internally
      tegra_pmc_cpu_is_powered() calls tegra_powergate_is_powered() and so
      is equivalent.
      
      The Tegra30 clock driver is the only public user of
      tegra_powergate_is_powered() and so by updating the Tegra30 clock
      driver to use tegra_pmc_cpu_is_powered(), we can then make
      tegra_powergate_is_powered() a non-public function.
      Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      b158aeea
    • Jon Hunter's avatar
      soc/tegra: pmc: Drop SMP dependency from CPU APIs · f9c380ef
      Jon Hunter authored
      When CONFIG_SMP is disabled, the tegra clk driver now fails to build:
      
      drivers/clk/tegra/clk-tegra30.c: In function ‘tegra30_cpu_rail_off_ready’:
      drivers/clk/tegra/clk-tegra30.c:1151:2: error: implicit declaration of function ‘tegra_pmc_cpu_is_powered’ [-Werror=implicit-function-declaration]
        cpu_pwr_status = tegra_pmc_cpu_is_powered(1) ||
          ^
      Fix the above error by removing the CONFIG_SMP ifdef around the
      declaration around the PMC CPU APIs because although these are not
      needed for non-SMP configurations, there is no harm in including these
      for non-SMP builds either.
      
      Fixes: 61866523ed6e ("clk: tegra30: Use Tegra CPU powergate helper function")
      Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      f9c380ef
    • Jon Hunter's avatar
      clk: tegra: Fix maximum audio sync clock for Tegra124/210 · 845d782d
      Jon Hunter authored
      The maximum frequency supported for I2S on Tegra124 and Tegra210 is
      24.576MHz (as stated in the Tegra TK1 data sheet for Tegra124 and the
      Jetson TX1 module data sheet for Tegra210). However, the maximum I2S
      frequency is limited to 24MHz because that is the maximum frequency of
      the audio sync clock. Increase the maximum audio sync clock frequency
      to 24.576MHz for Tegra124 and Tegra210 in order to support 24.576MHz
      for I2S.
      
      Update the tegra_clk_register_sync_source() function so that it does
      not set the initial rate for the sync clocks and use the clock init
      tables to set the initial rate instead.
      Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      845d782d
    • Marcel Ziswiler's avatar
      clk: tegra: get rid of duplicate defines · 7514557c
      Marcel Ziswiler authored
      Get rid of 3 duplicate defines.
      Signed-off-by: default avatarMarcel Ziswiler <marcel.ziswiler@toradex.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      7514557c
    • Stephen Boyd's avatar
      Merge branch 'clk-qcom-sdm845-lpass' into clk-next · 3315fe5f
      Stephen Boyd authored
       - Qualcomm SDM845 audio subsystem clks
      
      * clk-qcom-sdm845-lpass:
        clk: qcom: Add lpass clock controller driver for SDM845
        dt-bindings: clock: Introduce QCOM LPASS clock bindings
        dt-bindings: clock: Update GCC bindings for protected-clocks
      3315fe5f
    • Stephen Boyd's avatar
      Merge branches 'clk-qcom-kconfig', 'clk-qcom-gpucc', 'clk-qcom-qcs404-rpm',... · f4ad7fba
      Stephen Boyd authored
      Merge branches 'clk-qcom-kconfig', 'clk-qcom-gpucc', 'clk-qcom-qcs404-rpm', 'clk-qcom-spi' and 'clk-qcom-videocc-binding' into clk-next
      
       - Qualcomm SDM845 GPU clock controllers
       - Qualcomm QCS404 RPM clk support
      
      * clk-qcom-kconfig:
        clk: qcom: Move to menuconfig and reduce lines
      
      * clk-qcom-gpucc:
        dt-bindings: clock: qcom: Fix the xo parent in gpucc example
        clk: qcom: gpu_cc_gmu_clk_src has 5 parents, not 6
        clk: qcom: Add a dummy enable function for GX gdsc
        clk: qcom: gdsc: Don't override existing gdsc pd functions
        clk: qcom: Add graphics clock controller driver for SDM845
        dt-bindings: clock: Introduce QCOM Graphics clock bindings
      
      * clk-qcom-qcs404-rpm:
        clk: qcom: smd: Add support for QCS404 rpm clocks
      
      * clk-qcom-spi:
        clk: qcom: msm8916: Additional clock rates for spi
      
      * clk-qcom-videocc-binding:
        dt-bindings: clock: Require #reset-cells in sdm845-videocc
      f4ad7fba
    • Stephen Boyd's avatar
      Merge branches 'clk-qoriq-t1023', 'clk-protected-binding',... · aab184d2
      Stephen Boyd authored
      Merge branches 'clk-qoriq-t1023', 'clk-protected-binding', 'clk-define-show-macro' and 'clk-static' into clk-next
      
       - NXP QorIQ T1023 SoC support
       - Introduce a 'protected-clocks' binding for firmware protected clks
       - Shrink code some with DEFINE_SHOW_ATTRIBUTE()
      
      * clk-qoriq-t1023:
        clk: qoriq: add more chips support
      
      * clk-protected-binding:
        clk: qcom: Support 'protected-clocks' property
        dt-bindings: clk: Introduce 'protected-clocks' property
      
      * clk-define-show-macro:
        clk: tegra: Change to use DEFINE_SHOW_ATTRIBUTE macro
        clk: nomadik: Change to use DEFINE_SHOW_ATTRIBUTE macro
      
      * clk-static:
        clk: stm32mp1: drop pointless static qualifier in stm32_register_hw_clk()
      aab184d2
    • Stephen Boyd's avatar
      Merge branches 'clk-bcm-module-license', 'clk-boston-leak' and 'clk-mtk-mt7629' into clk-next · d7d458cb
      Stephen Boyd authored
       - Mediatek MT7629 SoC clk controllers
      
      * clk-bcm-module-license:
        clk: bcm2835: make license text and module license match
      
      * clk-boston-leak:
        clk: boston: unregister clks on failure in clk_boston_setup()
        clk: boston: fix possible memory leak in clk_boston_setup()
      
      * clk-mtk-mt7629:
        clk: mediatek: fix the PCIe MAC clock parent
        clk: mediatek: Drop more __init markings for driver probe
        clk: mediatek: Drop __init from mtk_clk_register_cpumuxes()
        dt-bindings: arm: mediatek: document clk bindings for MT7629
        clk: mediatek: add clock support for MT7629 SoC
      d7d458cb
    • Aisheng Dong's avatar
      clk: imx: add imx8qxp lpcg driver · 1e3121bf
      Aisheng Dong authored
      Add imx8qxp lpcg driver support
      
      Cc: Stephen Boyd <sboyd@kernel.org>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Signed-off-by: default avatarDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      1e3121bf
    • Aisheng Dong's avatar
      clk: imx: add lpcg clock support · 2f77296d
      Aisheng Dong authored
      The Low-Power Clock Gate (LPCG) modules contain a local programming
      model to control the clock gates for the peripherals. An LPCG module
      is used to locally gate the clocks for the associated peripheral.
      And they're bedind the SCU clock.
      
      Cc: Stephen Boyd <sboyd@kernel.org>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Signed-off-by: default avatarDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      2f77296d
    • Aisheng Dong's avatar
      clk: imx: add imx8qxp clk driver · c2cccb6d
      Aisheng Dong authored
      Add imx8qxp clk driver which is based on SCU firmware clock service.
      
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Stephen Boyd <sboyd@kernel.org>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Signed-off-by: default avatarDong Aisheng <aisheng.dong@nxp.com>
      [sboyd@kernel.org: Move the makefile rule higher in the file]
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      c2cccb6d
    • Abel Vesa's avatar
      clk: imx: Make the i.MX8MQ CCM clock driver CLK_IMX8MQ dependant · d360b130
      Abel Vesa authored
      Remove the dependency between the i.MX8MQ CCM clock driver
      and the CONFIG_SOC_IMX8MQ and use CONFIG_CLK_IMX8MQ instead.
      CONFIG_CLK_IMX8MQ depends on ARCH_MXC && ARM64.
      Signed-off-by: default avatarAbel Vesa <abel.vesa@nxp.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      d360b130
    • Aisheng Dong's avatar
      clk: imx: add scu clock common part · fe37b482
      Aisheng Dong authored
      Add SCU clock common part which will be used by client clock drivers.
      SCU clocks are totally different from the legacy clocks (No much
      legacy things can be reused), it's using a firmware interface now based
      on SCU protocol. So a new configuration option CONFIG_MXC_CLK_SCU is added.
      
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Stephen Boyd <sboyd@kernel.org>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Signed-off-by: default avatarDong Aisheng <aisheng.dong@nxp.com>
      [sboyd@kernel.org: Mark ccm_ipc_handle static]
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      fe37b482
    • Aisheng Dong's avatar
      clk: imx: add configuration option for mmio clks · 3a48d918
      Aisheng Dong authored
      The patch introduces CONFIG_MXC_CLK option for legacy MMIO clocks,
      this is required to compile legacy MMIO clock conditionally when adding
      SCU based clocks for MX8 platforms later.
      
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Stephen Boyd <sboyd@kernel.org>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Signed-off-by: default avatarDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      3a48d918
    • Aisheng Dong's avatar
      dt-bindings: clock: add imx8qxp lpcg clock binding · 0f5ab411
      Aisheng Dong authored
      The Low-Power Clock Gate (LPCG) modules contain a local programming
      model to control the clock gates for the peripherals. An LPCG module
      is used to locally gate the clocks for the associated peripheral.
      
      Note:
      This level of clock gating is provided after the clocks are generated
      by the SCU resources and clock controls. Thus even if the clock is
      enabled by these control bits, it might still not be running based
      on the base resource.
      
      Cc: Stephen Boyd <sboyd@kernel.org>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: devicetree@vger.kernel.org
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      0f5ab411
    • Aisheng Dong's avatar
      dt-bindings: clock: imx8qxp: add SCU clock IDs · 8cecda91
      Aisheng Dong authored
      Add IMX8QXP SCU clock IDs.
      
      Cc: Stephen Boyd <sboyd@kernel.org>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: devicetree@vger.kernel.org
      Cc: linux-clk@vger.kernel.org
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      8cecda91
  2. 13 Dec, 2018 2 commits
    • Stephen Boyd's avatar
      Merge tag 'v4.21-rockchip-clk-1' of... · 5b5bb7c7
      Stephen Boyd authored
      Merge tag 'v4.21-rockchip-clk-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-rockchip
      
      Pull rockchip clk driver updates from Heiko Stuebner:
      
       - register fixes for rk3188 and rk3328
       - one new critical clock for rk3188 and a fixed clock id (double used number)
       - new clock id for rk3328
      
      * tag 'v4.21-rockchip-clk-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
        clk: rockchip: add clock-id to gate of ACODEC for rk3328
        clk: rockchip: add clock ID of ACODEC for rk3328
        clk: rockchip: fix ID of 8ch clock of I2S1 for rk3328
        clk: rockchip: fix I2S1 clock gate register for rk3328
        clk: rockchip: make rk3188 hclk_vio_bus critical
        clk: rockchip: fix rk3188 sclk_mac_lbtest parameter ordering
        clk: rockchip: fix rk3188 sclk_smc gate data
        clk: rockchip: fix typo in rk3188 spdif_frac parent
      5b5bb7c7
    • Stephen Boyd's avatar
      Merge tag 'meson-clk-4.21-2' of https://github.com/BayLibre/clk-meson into clk-meson · e74581b7
      Stephen Boyd authored
      Pull more meson clk driver updates from Neil Armstrong:
      
       - Fix GXL HDMI Pll fractional bits (from first round)
       - Add the Meson8/Meson8b video clocks
       - Add clk-input helper and use it for axg-audio clock driver
      
      * tag 'meson-clk-4.21-2' of https://github.com/BayLibre/clk-meson:
        clk: meson: axg-audio: use the clk input helper function
        clk: meson: add clk-input helper function
        clk: meson: meson8b: add the read-only video clock trees
        clk: meson: meson8b: add the fractional divider for vid_pll_dco
        clk: meson: meson8b: fix the offset of vid_pll_dco's N value
        clk: meson: Fix GXL HDMI PLL fractional bits width
      e74581b7
  3. 11 Dec, 2018 4 commits
  4. 10 Dec, 2018 11 commits
    • Stephen Boyd's avatar
      clk: Loongson1: Remove usage of CLK_IS_BASIC · 0f51659a
      Stephen Boyd authored
      This flag doesn't look to be used by any code, just set in the clk init
      structure and then never tested again. Remove it from this driver as it
      doesn't provide any benefit. Also remove parenthesis nearby that are not
      needed and include clk.h to fix a sparse warning about static function
      definition.
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      0f51659a
    • Stephen Boyd's avatar
      clk: samsung: s3c2410: Remove usage of CLK_IS_BASIC · f246affc
      Stephen Boyd authored
      This flag doesn't look to be used by any code, just set in the clk init
      structure and then never tested again. Remove it from this drivers as it
      doesn't provide any benefit.
      
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
      Acked-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      f246affc
    • Stephen Boyd's avatar
      clk: versatile: sp810: Remove usage of CLK_IS_BASIC · 354e1210
      Stephen Boyd authored
      This flag doesn't look to be used by any code, just set in the clk init
      structure and then never tested again. Remove it from this driver as it
      doesn't provide any benefit.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      354e1210
    • Stephen Boyd's avatar
      clk: hisilicon: Remove usage of CLK_IS_BASIC · 5a727ff6
      Stephen Boyd authored
      This flag doesn't look to be used by any code, just set in various clk
      init structures and then never tested again. Remove it from these
      drivers as it doesn't provide any benefit.
      
      Cc: Jiancheng Xue <xuejiancheng@hisilicon.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Jianguo Sun <sunjianguo1@huawei.com>
      Cc: Wei Yongjun <weiyongjun1@huawei.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      5a727ff6
    • Stephen Boyd's avatar
      clk: h8300: Remove usage of CLK_IS_BASIC · c0156e55
      Stephen Boyd authored
      This flag doesn't look to be used by any code, just set in various clk
      init structures and then never tested again. Remove it from these
      drivers as it doesn't provide any benefit.
      
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: <uclinux-h8-devel@lists.sourceforge.jp>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      c0156e55
    • Stephen Boyd's avatar
      clk: axm5516: Remove usage of CLK_IS_BASIC · 2239fe59
      Stephen Boyd authored
      This flag doesn't look to be used by any code, just set in various clk
      init structures and then never tested again. Remove it from these
      drivers as it doesn't provide any benefit.
      
      Cc: Anders Berg <anders.berg@lsi.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      2239fe59
    • Stephen Boyd's avatar
      clk: st: Remove usage of CLK_IS_BASIC · c179c21e
      Stephen Boyd authored
      This flag doesn't look to be used by any code, just set in various clk
      init structures and then never tested again. Remove it from these
      drivers as it doesn't provide any benefit.
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      c179c21e
    • Stephen Boyd's avatar
      clk: renesas: Remove usage of CLK_IS_BASIC · ddbae665
      Stephen Boyd authored
      This flag doesn't look to be used by any code, just set in various clk
      init structures and then never tested again. Remove it from these
      drivers as it doesn't provide any benefit.
      
      Cc: Geert Uytterhoeven <geert+renesas@glider.be>
      Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Cc: <linux-renesas-soc@vger.kernel.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      ddbae665
    • Matti Vaittinen's avatar
      clk: bd718x7: Initial support for ROHM bd71837/bd71847 PMIC clock · 2e62246b
      Matti Vaittinen authored
      ROHM bd71837 and bd71847 contain 32768Hz clock gate. Support the clock
      using generic clock framework. Note, only bd71837 is tested but bd71847
      should be identical what comes to clk parts.
      Signed-off-by: default avatarMatti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      2e62246b
    • Stephen Boyd's avatar
      clk: qcom: Move to menuconfig and reduce lines · f071bceb
      Stephen Boyd authored
      We duplicate the 'depends on' in almost every Kconfig here, and it's
      getting out of hand now that we have tens of options for various SoC
      drivers here. Let's clean it up a little by making a menuconfig for a
      submenu and adding an if wrapper around the driver section.
      
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Taniya Das <tdas@codeaurora.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      f071bceb
    • Lucas Stach's avatar
      clk: imx6q: handle ENET PLL bypass · 3cc48976
      Lucas Stach authored
      The ENET PLL is different from the other i.MX6 PLLs, as it has
      multiple outputs with different post-dividers, which are all
      bypassed if the single bypass bit is activated. The hardware setup
      looks something like this:
                                      _
      refclk-o---PLL---o----DIV1-----| \
             |         |             |M |----OUT1
             o-----------------------|_/
             |         |              _
             |         o----DIV2-----| \
             |         |             |M |----OUT2
             o-----------------------|_/
             |         |              _
             |         `----DIV3-----| \
             |                       |M |----OUT3
             `-----------------------|_/
      
      The bypass bit not only bypasses the PLL, but also the attached
      post-dividers. This would be reasonbly straight forward to model
      with a single output, or with different bypass bits for each output,
      but sadly the HW guys decided that it would be good to actuate all
      3 muxes with a single bit.
      
      So the need to have the PLL bypassed for one of the outputs always
      affects 2 other (in our model) independent branches of the clock
      tree.
      
      This means the decision to bypass this PLL is a system wide design
      choice and should not be changed on-the-fly, so we can treat any
      bapass configuration as static. As such we can just register the
      post-dividiers with a ratio that reflects the bypass status, which
      allows us to bypass the PLL without breaking our abstraction model
      and with it DT stability.
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      3cc48976