Skip to content
Permalink
Loic-Poulain/c…
Switch branches/tags

Commits on Dec 8, 2021

  1. dt-bindings: clock: Add qualcomm QCM2290 DISPCC bindings

    Add device tree bindings for display clock controller on QCM2290 SoCs.
    
    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
    Loic Poulain authored and intel-lab-lkp committed Dec 8, 2021
  2. clk: qcom: Add display clock controller driver for QCM2290

    Add support for the display clock controller found in QCM2290
    based devices. This clock controller feeds the Multimedia Display
    SubSystem (MDSS).
    
    It's a porting of dispcc-scuba GPL-2.0 driver from CAF msm-4.19 kernel:
    https://source.codeaurora.org/quic/la/kernel/msm-4.19/tree/drivers/clk/qcom/dispcc-scuba.c?h=LE.UM.4.4.1.r3
    Global clock name references (parent_names) have been replaced by
    parent_data and parent_hws.
    
    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
    Loic Poulain authored and intel-lab-lkp committed Dec 8, 2021
  3. Merge branch 'clk-renesas' into clk-next

    * clk-renesas: (24 commits)
      clk: renesas: r9a07g044: Add TSU clock and reset entry
      mmc: renesas_sdhi: Simplify an expression
      mmc: renesas_sdhi: Use devm_clk_get_optional() to obtain CD clock
      dt-bindings: clock: renesas,cpg-mssr: Document r8a779f0
      clk: renesas: cpg-mssr: propagate return value of_genpd_add_provider_simple()
      clk: renesas: cpg-mssr: Check return value of pm_genpd_init()
      clk: renesas: rzg2l: propagate return value of_genpd_add_provider_simple()
      clk: renesas: rzg2l: Check return value of pm_genpd_init()
      clk: renesas: r9a07g044: Add RSPI clock and reset entries
      clk: renesas: r9a07g044: Change core clock "I" from DEF_FIXED->DEF_DIV
      clk: renesas: rzg2l: Add CPG_PL1_DDIV macro
      mmc: renesas_sdhi: Parse DT for SDnH
      mmc: renesas_sdhi: Use dev_err_probe when getting clock fails
      clk: renesas: rcar-gen3: Remove outdated SD_SKIP_FIRST
      clk: renesas: rcar-gen3: Switch to new SD clock handling
      mmc: renesas_sdhi: Flag non-standard SDnH handling for V3M
      clk: renesas: r8a779a0: Add SDnH clock to V3U
      clk: renesas: rcar-gen3: Add SDnH clock
      clk: renesas: rcar-gen3: Add dummy SDnH clock
      clk: renesas: r9a07g044: Add OSTM clock and reset entries
      ...
    bebarino committed Dec 8, 2021
  4. Merge tag 'renesas-clk-for-v5.17-tag1' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/geert/renesas-drivers into clk-renesas
    
    Pull Renesas clk driver updates from Geert Uytterhoeven:
    
     - Add serial (SCI1), watchdog (WDT), timer (OSTM), SPI (RSPI), and
       thermal (TSU) clocks and resets on RZ/G2L
     - Rework SDHI clock handling in the R-Car Gen3 and RZ/G2 clock
       drivers, and in the Renesas SDHI driver
     - Make the Cortex-A55 (I) clock on RZ/G2L programmable,
     - Document support for the new R-Car S4-8 (R8A779F0) SoC
     - Miscellaneous fixes and improvements
    
    * tag 'renesas-clk-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers: (24 commits)
      clk: renesas: r9a07g044: Add TSU clock and reset entry
      mmc: renesas_sdhi: Simplify an expression
      mmc: renesas_sdhi: Use devm_clk_get_optional() to obtain CD clock
      dt-bindings: clock: renesas,cpg-mssr: Document r8a779f0
      clk: renesas: cpg-mssr: propagate return value of_genpd_add_provider_simple()
      clk: renesas: cpg-mssr: Check return value of pm_genpd_init()
      clk: renesas: rzg2l: propagate return value of_genpd_add_provider_simple()
      clk: renesas: rzg2l: Check return value of pm_genpd_init()
      clk: renesas: r9a07g044: Add RSPI clock and reset entries
      clk: renesas: r9a07g044: Change core clock "I" from DEF_FIXED->DEF_DIV
      clk: renesas: rzg2l: Add CPG_PL1_DDIV macro
      mmc: renesas_sdhi: Parse DT for SDnH
      mmc: renesas_sdhi: Use dev_err_probe when getting clock fails
      clk: renesas: rcar-gen3: Remove outdated SD_SKIP_FIRST
      clk: renesas: rcar-gen3: Switch to new SD clock handling
      mmc: renesas_sdhi: Flag non-standard SDnH handling for V3M
      clk: renesas: r8a779a0: Add SDnH clock to V3U
      clk: renesas: rcar-gen3: Add SDnH clock
      clk: renesas: rcar-gen3: Add dummy SDnH clock
      clk: renesas: r9a07g044: Add OSTM clock and reset entries
      ...
    bebarino committed Dec 8, 2021
  5. Merge branch 'clk-fixes' into clk-next

    * clk-fixes:
      clk: Don't parent clks until the parent is fully registered
      clk: versatile: clk-icst: use after free on error path
      clk: qcom: sm6125-gcc: Swap ops of ice and apps on sdcc1
    bebarino committed Dec 8, 2021
  6. clk: Don't parent clks until the parent is fully registered

    Before commit fc0c209 ("clk: Allow parents to be specified without
    string names") child clks couldn't find their parent until the parent
    clk was added to a list in __clk_core_init(). After that commit, child
    clks can reference their parent clks directly via a clk_hw pointer, or
    they can lookup that clk_hw pointer via DT if the parent clk is
    registered with an OF clk provider.
    
    The common clk framework treats hw->core being non-NULL as "the clk is
    registered" per the logic within clk_core_fill_parent_index():
    
    	parent = entry->hw->core;
    	/*
    	 * We have a direct reference but it isn't registered yet?
    	 * Orphan it and let clk_reparent() update the orphan status
    	 * when the parent is registered.
    	 */
    	if (!parent)
    
    Therefore we need to be extra careful to not set hw->core until the clk
    is fully registered with the clk framework. Otherwise we can get into a
    situation where a child finds a parent clk and we move the child clk off
    the orphan list when the parent isn't actually registered, wrecking our
    enable accounting and breaking critical clks.
    
    Consider the following scenario:
    
      CPU0                                     CPU1
      ----                                     ----
      struct clk_hw clkBad;
      struct clk_hw clkA;
    
      clkA.init.parent_hws = { &clkBad };
    
      clk_hw_register(&clkA)                   clk_hw_register(&clkBad)
       ...                                      __clk_register()
    					     hw->core = core
    					     ...
       __clk_register()
        __clk_core_init()
         clk_prepare_lock()
         __clk_init_parent()
          clk_core_get_parent_by_index()
           clk_core_fill_parent_index()
            if (entry->hw) {
    	 parent = entry->hw->core;
    
    At this point, 'parent' points to clkBad even though clkBad hasn't been
    fully registered yet. Ouch! A similar problem can happen if a clk
    controller registers orphan clks that are referenced in the DT node of
    another clk controller.
    
    Let's fix all this by only setting the hw->core pointer underneath the
    clk prepare lock in __clk_core_init(). This way we know that
    clk_core_fill_parent_index() can't see hw->core be non-NULL until the
    clk is fully registered.
    
    Fixes: fc0c209 ("clk: Allow parents to be specified without string names")
    Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
    Link: https://lore.kernel.org/r/20211109043438.4639-1-quic_mdtipton@quicinc.com
    [sboyd@kernel.org: Reword commit text, update comment]
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Mike Tipton authored and bebarino committed Dec 8, 2021

Commits on Dec 7, 2021

  1. clk: versatile: clk-icst: use after free on error path

    This frees "name" and then tries to display in as part of the error
    message on the next line.  Swap the order.
    
    Fixes: 1b2189f ("clk: versatile: clk-icst: Ensure clock names are unique")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Link: https://lore.kernel.org/r/20211117072604.GC5237@kili
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    error27 authored and bebarino committed Dec 7, 2021

Commits on Dec 6, 2021

  1. clk: qcom: sm6125-gcc: Swap ops of ice and apps on sdcc1

    Without this change eMMC runs at overclocked freq.
    Swap the ops to not OC the eMMC.
    
    Signed-off-by: Martin Botka <martin.botka@somainline.org>
    Link: https://lore.kernel.org/r/20211130212015.25232-1-martin.botka@somainline.org
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Fixes: 4b8d6ae ("clk: qcom: Add SM6125 (TRINKET) GCC driver")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Haxk20 authored and bebarino committed Dec 6, 2021

Commits on Dec 3, 2021

  1. Merge branch 'clk-fixes' into clk-next

    * clk-fixes:
      clk: imx: use module_platform_driver
      clk: qcom: clk-alpha-pll: Don't reconfigure running Trion
      clk: qcom: regmap-mux: fix parent clock lookup
    bebarino committed Dec 3, 2021
  2. clk: imx: use module_platform_driver

    Replace builtin_platform_driver_probe with module_platform_driver_probe
    because CONFIG_CLK_IMX8QXP can be set to =m (kernel module).
    
    Fixes: e0d0d4d ("clk: imx8qxp: Support building i.MX8QXP clock driver as module")
    Cc: Fabio Estevam <festevam@gmail.com>
    Cc: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Miles Chen <miles.chen@mediatek.com>
    Link: https://lore.kernel.org/r/20210904235418.2442-1-miles.chen@mediatek.com
    Reviewed-by: Fabio Estevam <festevam@gmail.com>
    Reviewed-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    milesdotchen authored and bebarino committed Dec 3, 2021
  3. Merge branch 'clk-doc' into clk-next

    * clk-doc:
      clk: Gemini: fix struct name in kernel-doc
      clk: zynq: pll: Fix kernel-doc warnings
      clk: imx: pllv1: fix kernel-doc notation for struct clk_pllv1
    bebarino committed Dec 3, 2021
  4. clk: Gemini: fix struct name in kernel-doc

    Fix a typo in the struct name in the kernel-doc notation so that
    kernel-doc won't complain about it.
    
    Fixes this warning:
    
    drivers/clk/clk-gemini.c:64: warning: expecting prototype for struct gemini_data_data. Prototype was for struct gemini_gate_data instead
    
    Fixes: 846423f ("clk: Add Gemini SoC clock controller")
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Reported-by: kernel test robot <lkp@intel.com>
    Cc: linux-clk@vger.kernel.org
    Link: https://lore.kernel.org/r/20211120062719.21395-1-rdunlap@infradead.org
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    rddunlap authored and bebarino committed Dec 3, 2021
  5. clk: zynq: pll: Fix kernel-doc warnings

    Fix the following kernel-doc warning
    
    drivers/clk/zynq/pll.c:15: warning: missing initial short description on line:
     * struct zynq_pll
    drivers/clk/zynq/pll.c:96: warning: No description found for return value of 'zynq_pll_is_enabled'
    drivers/clk/zynq/pll.c:116: warning: No description found for return value of 'zynq_pll_enable'
    drivers/clk/zynq/pll.c:187: warning: No description found for return value of 'clk_register_zynq_pll'
    
    Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
    Link: https://lore.kernel.org/r/9929a56462bfdd491c43c233abc4341fc14dac1d.1637139796.git.shubhrajyoti.datta@xilinx.com
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Shubhrajyoti Datta authored and bebarino committed Dec 3, 2021
  6. clk: imx: pllv1: fix kernel-doc notation for struct clk_pllv1

    Convert struct clk_pllv1 comments to kernel-doc notation and move them
    below the MFN_* macros.
    
    Fixes this kernel-doc warning:
    
    drivers/clk/imx/clk-pllv1.c:12: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
        * pll v1
    
    Fixes: 2af9e6d ("ARM i.MX: Add common clock support for pllv1")
    Fixes: a594790 ("ARM: imx: pllv1: Fix PLL calculation for i.MX27")
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Reported-by: kernel test robot <lkp@intel.com>
    Cc: Abel Vesa <abel.vesa@nxp.com>
    Cc: linux-clk@vger.kernel.org
    Cc: linux-imx@nxp.com
    Cc: Alexander Shiyan <shc_work@mail.ru>
    Cc: Shawn Guo <shawn.guo@linaro.org>
    Cc: Sascha Hauer <s.hauer@pengutronix.de>
    Link: https://lore.kernel.org/r/20211115032607.28970-1-rdunlap@infradead.org
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    rddunlap authored and bebarino committed Dec 3, 2021
  7. clk: qcom: clk-alpha-pll: Don't reconfigure running Trion

    In the event that the bootloader has configured the Trion PLL as source
    for the display clocks, e.g. for the continuous splashscreen, then there
    will also be RCGs that are clocked by this instance.
    
    Reconfiguring, and in particular disabling the output of, the PLL will
    cause issues for these downstream RCGs and has been shown to prevent
    them from being re-parented.
    
    Follow downstream and skip configuration if it's determined that the PLL
    is already running.
    
    Fixes: 59128c2 ("clk: qcom: clk-alpha-pll: Add support for controlling Lucid PLLs")
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Reviewed-by: Robert Foss <robert.foss@linaro.org>
    Reviewed-by: Vinod Koul <vkoul@kernel.org>
    Link: https://lore.kernel.org/r/20211123162508.153711-1-bjorn.andersson@linaro.org
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    andersson authored and bebarino committed Dec 3, 2021

Commits on Dec 2, 2021

  1. clk: qcom: regmap-mux: fix parent clock lookup

    The function mux_get_parent() uses qcom_find_src_index() to find the
    parent clock index, which is incorrect: qcom_find_src_index() uses src
    enum for the lookup, while mux_get_parent() should use cfg field (which
    corresponds to the register value). Add qcom_find_cfg_index() function
    doing this kind of lookup and use it for mux parent lookup.
    
    Fixes: df96401 ("clk: qcom: add parent map for regmap mux")
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://lore.kernel.org/r/20211115233407.1046179-1-dmitry.baryshkov@linaro.org
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    lumag authored and bebarino committed Dec 2, 2021

Commits on Nov 26, 2021

  1. clk: renesas: r9a07g044: Add TSU clock and reset entry

    Add TSU clock and reset entry to CPG driver.
    
    Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
    Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Link: https://lore.kernel.org/r/20211120180438.8351-1-biju.das.jz@bp.renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Biju Das authored and geertu committed Nov 26, 2021
  2. mmc: renesas_sdhi: Simplify an expression

    We already have 'quirks', no need to go via 'priv'.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
    Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Link: https://lore.kernel.org/r/20211117103850.28397-1-wsa+renesas@sang-engineering.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Wolfram Sang authored and geertu committed Nov 26, 2021
  3. mmc: renesas_sdhi: Use devm_clk_get_optional() to obtain CD clock

    Use the existing devm_clk_get_optional() helper to obtain the optional
    Card Detect clock, instead of open-coding the same operation.
    a side effect, real errors will now be handled correctly instead of
    being ignored.
    
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
    Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/540d803d31bf9aa1d0f78f431cae0ccd05387edc.1637069733.git.geert+renesas@glider.be
    geertu committed Nov 26, 2021

Commits on Nov 19, 2021

  1. dt-bindings: clock: renesas,cpg-mssr: Document r8a779f0

    Add binding documentation for the R-Car S4-8 (R8A779F0) Clock Pulse
    Generator.
    
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Link: https://lore.kernel.org/r/20211116074130.107554-7-yoshihiro.shimoda.uh@renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    shimoday authored and geertu committed Nov 19, 2021
  2. clk: renesas: cpg-mssr: propagate return value of_genpd_add_provider_…

    …simple()
    
    of_genpd_add_provider_simple() might fail, this patch makes sure we check
    the return value of of_genpd_add_provider_simple() by propagating the
    return value to the caller of cpg_mssr_add_clk_domain().
    
    Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Link: https://lore.kernel.org/r/20211117115101.28281-5-prabhakar.mahadev-lad.rj@bp.renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    prabhakarlad authored and geertu committed Nov 19, 2021
  3. clk: renesas: cpg-mssr: Check return value of pm_genpd_init()

    Make sure we check the return value of pm_genpd_init() which might fail.
    Also add a devres action to remove the power-domain in-case the probe
    callback fails further down in the code flow.
    
    Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Link: https://lore.kernel.org/r/20211117115101.28281-4-prabhakar.mahadev-lad.rj@bp.renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    prabhakarlad authored and geertu committed Nov 19, 2021
  4. clk: renesas: rzg2l: propagate return value of_genpd_add_provider_sim…

    …ple()
    
    of_genpd_add_provider_simple() might fail, this patch makes sure we check
    the return value of of_genpd_add_provider_simple() by propagating the
    return value to the caller of rzg2l_cpg_add_clk_domain().
    
    Fixes: ef3c613 ("clk: renesas: Add CPG core wrapper for RZ/G2L SoC")
    Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Link: https://lore.kernel.org/r/20211117115101.28281-3-prabhakar.mahadev-lad.rj@bp.renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    prabhakarlad authored and geertu committed Nov 19, 2021
  5. clk: renesas: rzg2l: Check return value of pm_genpd_init()

    Make sure we check the return value of pm_genpd_init() which might fail.
    Also add a devres action to remove the power-domain in-case the probe
    callback fails further down in the code flow.
    
    Fixes: ef3c613 ("clk: renesas: Add CPG core wrapper for RZ/G2L SoC")
    Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Link: https://lore.kernel.org/r/20211117115101.28281-2-prabhakar.mahadev-lad.rj@bp.renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    prabhakarlad authored and geertu committed Nov 19, 2021
  6. clk: renesas: r9a07g044: Add RSPI clock and reset entries

    Add RSPI{0,1,2} clock and reset entries to CPG driver.
    
    Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
    Link: https://lore.kernel.org/r/20211117002601.17971-1-prabhakar.mahadev-lad.rj@bp.renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    prabhakarlad authored and geertu committed Nov 19, 2021
  7. clk: renesas: r9a07g044: Change core clock "I" from DEF_FIXED->DEF_DIV

    Core clock "I" is sourced from CPG_PL1_DDIV divider as per HW manual
    Rev.1.00.
    
    This patch adds clock divider table "dtable_1_8" and switches to
    DEF_DIV for "I" clock.
    
    Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
    Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Link: https://lore.kernel.org/r/20211112081003.15453-3-biju.das.jz@bp.renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Biju Das authored and geertu committed Nov 19, 2021
  8. clk: renesas: rzg2l: Add CPG_PL1_DDIV macro

    Core clock "I" is sourced from  CPG_PL1_DDIV which controls CPU
    frequency. Define CPG_PL1_DDIV, so that we can register it as a
    clock divider in later patch.
    
    Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
    Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Link: https://lore.kernel.org/r/20211112081003.15453-2-biju.das.jz@bp.renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Biju Das authored and geertu committed Nov 19, 2021
  9. mmc: renesas_sdhi: Parse DT for SDnH

    If there is a SDnH clock provided in DT, let's use it instead of relying
    on the fallback.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
    Link: https://lore.kernel.org/r/20211110191610.5664-21-wsa+renesas@sang-engineering.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Wolfram Sang authored and geertu committed Nov 19, 2021
  10. mmc: renesas_sdhi: Use dev_err_probe when getting clock fails

    This is to improve deferred probe in this driver and to keep consistent
    with an up-to-date handling of a soon to be added second clock.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
    Link: https://lore.kernel.org/r/20211110191610.5664-20-wsa+renesas@sang-engineering.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Wolfram Sang authored and geertu committed Nov 19, 2021
  11. clk: renesas: rcar-gen3: Remove outdated SD_SKIP_FIRST

    We handle it differently meanwhile.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20211110191610.5664-7-wsa+renesas@sang-engineering.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Wolfram Sang authored and geertu committed Nov 19, 2021
  12. clk: renesas: rcar-gen3: Switch to new SD clock handling

    The old SD handling code was huge and could not handle all the details
    which showed up on R-Car Gen3 SoCs meanwhile. It is time to switch to
    another design. Have SDnH a separate clock, use the existing divider
    clocks and move the errata handling from the clock driver to the SDHI
    driver where it belongs.
    
    This patch removes the old SD handling code and switch to the new one.
    This updates the SDHI driver at the same time. Because the SDHI driver
    can only communicate with the clock driver via clk_set_rate(), I don't
    see an alternative to this flag-day-approach, so we cross subsystems
    here.
    
    The patch sadly looks messy for the CPG lib, but it is basically a huge
    chunk of code removed and smaller chunks added. It looks much better
    when you just view the resulting source file.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC
    Link: https://lore.kernel.org/r/20211110191610.5664-6-wsa+renesas@sang-engineering.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Wolfram Sang authored and geertu committed Nov 19, 2021
  13. mmc: renesas_sdhi: Flag non-standard SDnH handling for V3M

    V3M handles SDnH differently than other Gen3 SoCs, so let's add a
    separate entry for that. This will allow better SDnH handling in the
    future.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
    Link: https://lore.kernel.org/r/20211110191610.5664-5-wsa+renesas@sang-engineering.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Wolfram Sang authored and geertu committed Nov 19, 2021
  14. clk: renesas: r8a779a0: Add SDnH clock to V3U

    Currently a pass-through clock but we will make it a real divider clock
    in the next patches.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20211110191610.5664-4-wsa+renesas@sang-engineering.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Wolfram Sang authored and geertu committed Nov 19, 2021
  15. clk: renesas: rcar-gen3: Add SDnH clock

    Currently a pass-through clock but we will make it a real divider clock
    in the next patches.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20211110191610.5664-3-wsa+renesas@sang-engineering.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Wolfram Sang authored and geertu committed Nov 19, 2021
  16. clk: renesas: rcar-gen3: Add dummy SDnH clock

    Currently, SDnH is handled together with SDn. This caused lots of
    problems, so we want SDnH as a separate clock. Introduce a dummy SDnH
    type here which creates a fixed-factor clock with factor 1. That allows
    us to convert the per-SoC CPG drivers while keeping the old behaviour
    for now. A later patch then will add the proper functionality.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20211110191610.5664-2-wsa+renesas@sang-engineering.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Wolfram Sang authored and geertu committed Nov 19, 2021
Older