1. Jul 13, 2019
    • Stephen Boyd's avatar
      Merge branches 'clk-bulk-optional', 'clk-kirkwood', 'clk-socfpga' and 'clk-docs' into clk-next · dfe1d3a2
      Stephen Boyd authored
       - Add a clk_bulk_get_optional() API (with devm too)
       - Support for Marvell 98DX1135 SoCs
      
      * clk-bulk-optional:
        clk: Document some devm_clk_bulk*() APIs
        clk: Add devm_clk_bulk_get_optional() function
        clk: Add clk_bulk_get_optional() function
      
      * clk-kirkwood:
        clk: kirkwood: Add support for MV98DX1135
        dt-bindings: clock: mvebu: Add compatible string for 98dx1135 core clock
      
      * clk-socfpga:
        clk: socfpga: stratix10: fix divider entry for the emac clocks
        clk: socfpga: stratix10: add additional clocks needed for the NAND IP
      
      * clk-docs:
        clk: Grammar missing "and", Spelling s/statisfied/satisfied/
      dfe1d3a2
    • Stephen Boyd's avatar
      Merge branches 'clk-ti', 'clk-samsung', 'clk-imx' and 'clk-allwinner' into clk-next · e02cb1f5
      Stephen Boyd authored
      * clk-ti:
        clk: ti: Use int to check return value from of_property_count_elems_of_size()
        firmware: ti_sci: extend clock identifiers from u8 to u32
        clk: keystone: sci-clk: extend clock IDs to 32 bits
        clk: keystone: sci-clk: probe clocks from DT instead of firmware
        clk: keystone: sci-clk: split out the fw clock parsing to own function
        clk: keystone: sci-clk: cut down the clock name length
      
      * clk-samsung:
        clk: samsung: Add bus clock for GPU/G3D on Exynos4412
        clk: samsung: add new clocks for DMC for Exynos5422 SoC
        clk: samsung: add BPLL rate table for Exynos 5422 SoC
        clk: samsung: add needed IDs for DMC clocks in Exynos5420
        clk: samsung: exynos5433: Use of_clk_get_parent_count()
      
      * clk-imx: (38 commits)
        clk: imx8mq: Keep uart clocks on during system boot
        clk: imx: Remove __init for imx_register_uart_clocks() API
        clk: imx6q: fix section mismatch warning
        clk: imx8mq: Use devm_platform_ioremap_resource() instead of of_iomap()
        clk: imx8mq: Use imx_check_clocks() API directly
        clk: imx: Remove __init for imx_check_clocks() API
        clk: imx6sll: Switch to clk_hw based API
        clk: imx7d: Switch to clk_hw based API
        clk: imx6ul: Switch to clk_hw based API
        clk: imx6sx: Switch to clk_hw based API
        clk: imx6q: Switch to clk_hw based API
        clk: imx6sl: Switch to clk_hw based API
        clk: imx: Switch wrappers to clk_hw based API
        clk: imx: clk-fixup-mux: Switch to clk_hw based API
        clk: imx: clk-fixup-div: Switch to clk_hw based API
        clk: imx: clk-gate-exclusive: Switch to clk_hw based API
        clk: imx: clk-pfd: Switch to clk_hw based API
        clk: imx: clk-pllv3: Switch to clk_hw based API
        clk: imx: clk-gate2: Switch to clk_hw based API
        clk: imx: clk-cpu: Switch to clk_hw based API
        ...
      
      * clk-allwinner: (29 commits)
        clk: Simplify debugfs printing and add a newline
        clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE
        clk: sunxi-ng: a80-usb: Use local parent references for SUNXI_CCU_GATE
        clk: sunxi-ng: gate: Add macros for referencing local clock parents
        clk: sunxi-ng: h6-r: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: h6: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a64: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: f1c100s: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: sun8i-r: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: v3s: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: r40: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: h3: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a33: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a23: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a31: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: sun5i: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a10: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: sun8i-r: Use local parent references for CLK_HW_INIT_*
        clk: sunxi-ng: switch to of_clk_hw_register() for registering clks
        clk: fixed-factor: Add CLK_FIXED_FACTOR_FW_NAME for DT clock-names parent
        ...
      e02cb1f5
    • Stephen Boyd's avatar
      Merge branches 'clk-qcom-gdsc-warn', 'clk-ingenic', 'clk-qcom-qcs404-reset',... · 1f5d580c
      Stephen Boyd authored
      Merge branches 'clk-qcom-gdsc-warn', 'clk-ingenic', 'clk-qcom-qcs404-reset', 'clk-xgene-limit' and 'clk-meson' into clk-next
      
      * clk-qcom-gdsc-warn:
        clk: qcom: gdsc: WARN when failing to toggle
      
      * clk-ingenic:
        MIPS: Remove dead code
        clk: ingenic: Remove unused functions
        MIPS: jz4740: PM: Let CGU driver suspend clocks and set sleep mode
        clk: ingenic: Handle setting the Low-Power Mode bit
        clk: ingenic: Add missing header in cgu.h
        clk: ingenic/jz4725b: Fix "pll half" divider not read/written properly
        clk: ingenic/jz4725b: Fix incorrect dividers for main clocks
        clk: ingenic/jz4770: Fix incorrect dividers for main clocks
        clk: ingenic/jz4740: Fix incorrect dividers for main clocks
        clk: ingenic: Add support for divider tables
      
      * clk-qcom-qcs404-reset:
        clk: gcc-qcs404: Add PCIe resets
      
      * clk-xgene-limit:
        clk: xgene: Don't build COMMON_CLK_XGENE by default
      
      * clk-meson:
        clk: meson: g12a: mark fclk_div3 as critical
        clk: meson: g12a: Add support for G12B CPUB clocks
        dt-bindings: clk: meson: add g12b periph clock controller bindings
        clk: meson-g12a: add temperature sensor clocks
        dt-bindings: clk: g12a-clkc: add Temperature Sensor clock IDs
        clk: meson: meson8b: add the cts_i958 clock
        clk: meson: meson8b: add the cts_mclk_i958 clocks
        clk: meson: meson8b: add the cts_amclk clocks
        dt-bindings: clock: meson8b: add the audio clocks
        clk: meson: g12a: add controller register init
        clk: meson: eeclk: add init regs
        clk: meson: g12a: add mpll register init sequences
        clk: meson: mpll: add init callback and regs
        clk: meson: axg: spread spectrum is on mpll2
        clk: meson: gxbb: no spread spectrum on mpll0
        clk: meson: mpll: properly handle spread spectrum
        clk: meson: meson8b: fix a typo in the VPU parent names array variable
        clk: meson: fix MPLL 50M binding id typo
      1f5d580c
    • Stephen Boyd's avatar
      Merge branches 'clk-pwm-duty', 'clk-bcm', 'clk-mtk', 'clk-qcom-msm8998-gpu'... · b6bb2bc2
      Stephen Boyd authored
      Merge branches 'clk-pwm-duty', 'clk-bcm', 'clk-mtk', 'clk-qcom-msm8998-gpu' and 'clk-renesas' into clk-next
      
       - Add support to get duty cycle of generic pwm clks
      
      * clk-pwm-duty:
        clk: pwm: implement the .get_duty_cycle callback
      
      * clk-bcm:
        clk: bcm: Allow CLK_BCM2835 for ARCH_BRCMSTB
        clk: bcm: Make BCM2835 clock drivers selectable
      
      * clk-mtk:
        clk: mediatek: Remove MT8183 unused clock
        clk: mediatek: add audsys clock driver for MT8516
        dt-bindings: mediatek: audsys: add support for MT8516
      
      * clk-qcom-msm8998-gpu:
        dt-bindings: clock: Document gpucc for msm8998
      
      * clk-renesas:
        clk: renesas: cpg-mssr: Use [] to denote a flexible array member
        clk: renesas: cpg-mssr: Combine driver-private and clock array allocation
        clk: renesas: mstp: Combine group-private and clock array allocation
        clk: renesas: div6: Combine clock-private and parent array allocation
        clk: renesas: cpg-mssr: Update kerneldoc for struct cpg_mssr_priv
        clk: renesas: r8a774a1: Add TMU clock
        clk: renesas: r8a77995: Add CMM clocks
        clk: renesas: r8a77990: Add CMM clocks
        clk: renesas: r8a77965: Add CMM clocks
        clk: renesas: r8a7795: Add CMM clocks
        clk: renesas: r9a06g032: Add clock domain support
        dt-bindings: clock: renesas: r9a06g032-sysctrl: Document power Domains
        clk: renesas: mstp: Remove error messages on out-of-memory conditions
        clk: renesas: cpg-mssr: Remove error messages on out-of-memory conditions
        clk: renesas: cpg-mssr: Use genpd of_node instead of local copy
        clk: renesas: r8a7796: Add CMM clocks
        clk: renesas: r8a779{5|6|65}: Add TPU clock
      b6bb2bc2
  2. Jun 26, 2019
  3. Jun 25, 2019
    • Stephen Boyd's avatar
      Merge tag 'imx-clk-5.3' of... · 76b77f1d
      Stephen Boyd authored
      Merge tag 'imx-clk-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into clk-imx
      
      Pull i.MX clk driver changes from Shawn Guo:
      
       - A series from Abel Vesa to switch i.MX6 and i.MX7 clock drivers to
         clk_hw based API
       - Add GPIO, SNVS and GIC clocks for i.MX8 drivers
       - Create a common function imx_mmdc_mask_handshake() for masking MMDC
         handshake
       - Drop __init for function imx_check_clocks() and imx_register_uart_clocks(),
         so that they can be used by i.MX8 clock drivers which use driver model
       - Use devm_platform_ioremap_resource() instead of of_iomap() for imx8mq
         clock driver
       - Mark imx6sx/ul/ull/sll MMDC_P1_IPG and imx8mm DRAM_APB as critical clock.
       - Correct imx7ulp nic1_bus_clk and imx8mm audio_pll2_clk clock setting
      
      * tag 'imx-clk-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (38 commits)
        clk: imx8mq: Keep uart clocks on during system boot
        clk: imx: Remove __init for imx_register_uart_clocks() API
        clk: imx6q: fix section mismatch warning
        clk: imx8mq: Use devm_platform_ioremap_resource() instead of of_iomap()
        clk: imx8mq: Use imx_check_clocks() API directly
        clk: imx: Remove __init for imx_check_clocks() API
        clk: imx6sll: Switch to clk_hw based API
        clk: imx7d: Switch to clk_hw based API
        clk: imx6ul: Switch to clk_hw based API
        clk: imx6sx: Switch to clk_hw based API
        clk: imx6q: Switch to clk_hw based API
        clk: imx6sl: Switch to clk_hw based API
        clk: imx: Switch wrappers to clk_hw based API
        clk: imx: clk-fixup-mux: Switch to clk_hw based API
        clk: imx: clk-fixup-div: Switch to clk_hw based API
        clk: imx: clk-gate-exclusive: Switch to clk_hw based API
        clk: imx: clk-pfd: Switch to clk_hw based API
        clk: imx: clk-pllv3: Switch to clk_hw based API
        clk: imx: clk-gate2: Switch to clk_hw based API
        clk: imx: clk-cpu: Switch to clk_hw based API
        ...
      76b77f1d
    • Stephen Boyd's avatar
      Merge tag 'clk-v5.3-samsung' of... · c0bc660c
      Stephen Boyd authored
      Merge tag 'clk-v5.3-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/snawrocki/clk into clk-samsung
      
      Pull Samsung clk driver updates from Sylwester Nawrocki:
      
       - Addition of clocks required for new Exynos5422 Dynamic Memory
         Controller driver
       - clock definition for Exynos4412 Mali
       - minor clean up of clk-exynos5433.c
      
      * tag 'clk-v5.3-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/snawrocki/clk:
        clk: samsung: Add bus clock for GPU/G3D on Exynos4412
        clk: samsung: add new clocks for DMC for Exynos5422 SoC
        clk: samsung: add BPLL rate table for Exynos 5422 SoC
        clk: samsung: add needed IDs for DMC clocks in Exynos5420
        clk: samsung: exynos5433: Use of_clk_get_parent_count()
      c0bc660c
    • Stephen Boyd's avatar
      Merge tag 'clk-renesas-for-v5.3-tag2' of... · 5b68f22c
      Stephen Boyd authored
      Merge tag 'clk-renesas-for-v5.3-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into clk-renesas
      
      Pull Renesas clk driver updates from Geert Uytterhoeven:
      
        - Add CMM (Color Management Module) clocks on R-Car H3, M3-N, E3, and D3
        - Add TPU (Timer Pulse Unit / PWM) clocks on RZ/G2M
        - Small cleanups and fixes
      
      * tag 'clk-renesas-for-v5.3-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers:
        clk: renesas: cpg-mssr: Use [] to denote a flexible array member
        clk: renesas: cpg-mssr: Combine driver-private and clock array allocation
        clk: renesas: mstp: Combine group-private and clock array allocation
        clk: renesas: div6: Combine clock-private and parent array allocation
        clk: renesas: cpg-mssr: Update kerneldoc for struct cpg_mssr_priv
        clk: renesas: r8a774a1: Add TMU clock
        clk: renesas: r8a77995: Add CMM clocks
        clk: renesas: r8a77990: Add CMM clocks
        clk: renesas: r8a77965: Add CMM clocks
        clk: renesas: r8a7795: Add CMM clocks
      5b68f22c
    • Stephen Boyd's avatar
      Merge tag 'sunxi-ng-parent-rewrite-part-1-take-2' of... · f925a054
      Stephen Boyd authored
      Merge tag 'sunxi-ng-parent-rewrite-part-1-take-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into clk-allwinner
      
      Pull Allwinner sunxi-ng clk driver parent relation rewrite part 1 - take 2
      from Chen-Yu Tsai:
      
      "The first part of ongoing work to convert the sunxi-ng clk driver from
      using global clock name strings to describe clk parenting, to having
      direct struct clk_hw pointers, or local names based on clock-names from
      the device tree binding.
      
      This is based on Stephen Boyd's recent work allowing clk drivers to
      specify clk parents using struct clk_hw * or parsing DT phandles in the
      clk node.
      
      This series can be split into a few major parts:
      
      1) The first patch is a small fix for clk debugfs representation.
      
      2) A bunch of CLK_HW_INIT_* helper macros are added. These cover the
         situations I encountered, or assume I will encounter, such as single
         internal (struct clk_hw *) parent, single DT (struct clk_parent_data
         .fw_name), multiple internal parents, and multiple mixed (internal +
         DT) parents. A special variant for just an internal single parent is
         added, CLK_HW_INIT_HWS, which lets the driver share the singular
         list, instead of having the compiler create a compound literal every
         time. It might even make sense to only keep this variant.
      
      3) A bunch of CLK_FIXED_FACTOR_* helper macros are added. The rationale
         is the same as the single parent CLK_HW_INIT_* helpers.
      
      4) Bulk conversion of CLK_FIXED_FACTOR to use local parent references,
         either struct clk_hw * or DT .fw_name types, whichever the hardware
         requires.
      
      5) The beginning of SUNXI_CCU_GATE conversion to local parent
         references. This part is not done. They are included as justification
         and examples for the shared list of clk parents case."
      
      * tag 'sunxi-ng-parent-rewrite-part-1-take-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (25 commits)
        clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE
        clk: sunxi-ng: a80-usb: Use local parent references for SUNXI_CCU_GATE
        clk: sunxi-ng: gate: Add macros for referencing local clock parents
        clk: sunxi-ng: h6-r: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: h6: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a64: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: f1c100s: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: sun8i-r: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: v3s: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: r40: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: h3: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a33: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a23: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a31: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: sun5i: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: a10: Use local parent references for CLK_FIXED_FACTOR
        clk: sunxi-ng: sun8i-r: Use local parent references for CLK_HW_INIT_*
        clk: sunxi-ng: switch to of_clk_hw_register() for registering clks
        clk: fixed-factor: Add CLK_FIXED_FACTOR_FW_NAME for DT clock-names parent
        clk: fixed-factor: Add CLK_FIXED_FACTOR_HWS which takes list of struct clk_hw *
        ...
      f925a054
    • Stephen Boyd's avatar
      Merge tag 'sunxi-clk-for-5.3-201906210814' of... · b2f874d2
      Stephen Boyd authored
      Merge tag 'sunxi-clk-for-5.3-201906210814' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into clk-allwinner
      
      Pull Allwinner clk driver updates from Maxime Ripard:
      
       - A few patches to fix two minor bugs
       - Introduce a schema for our device tree bindings
      
      * tag 'sunxi-clk-for-5.3-201906210814' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
        dt-bindings: clk: Convert Allwinner CCU to a schema
        clk: sunxi-ng: sun50i-h6-r: Fix incorrect W1 clock gate register
        clk-sunxi: fix a missing-check bug in sunxi_divs_clk_setup()
      b2f874d2
    • Stephen Boyd's avatar
      clk: ti: Use int to check return value from of_property_count_elems_of_size() · 0b88bc92
      Stephen Boyd authored
      
      
      This function can return a negative number when it fails, but res->sets
      is at most a u16 which can't hold that negative number. Let's store the
      result into an int, ret, and then assign that to res->sets when it works
      to avoid this logical impossibility.
      
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      0b88bc92
    • Stephen Boyd's avatar
      Merge tag 'keystone-clk-for-5.3-v2' of... · 0af69227
      Stephen Boyd authored
      Merge tag 'keystone-clk-for-5.3-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kristo/linux into clk-ti
      
      Pull TI Keystone clk driver changes from Tero Kristo:
      
       - Add support for 32 bit clock IDs for sci-clks, this is needed
         for the new J721e SoC which has a few devices that have more than
         255 clocks associated to them.
       - Clock probing done from DT by default instead of firmware side.
         Scanning clocks from DT is much faster than firmware, and also we
         can omit unnecessary clocks which saves even more time. This has been
         done in the interest of saving boot time.
       - Remove the device tree node path from the registered sci-clk names.
         This mainly makes the debugfs interface more readable.
       - Also contains a single drivers/firmware change which needs to go in
         via this pull-request; to support the 32bit clock IDs.
      
      * tag 'keystone-clk-for-5.3-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kristo/linux:
        firmware: ti_sci: extend clock identifiers from u8 to u32
        clk: keystone: sci-clk: extend clock IDs to 32 bits
        clk: keystone: sci-clk: probe clocks from DT instead of firmware
        clk: keystone: sci-clk: split out the fw clock parsing to own function
        clk: keystone: sci-clk: cut down the clock name length
      0af69227
    • Stephen Boyd's avatar
      Merge tag 'clk-meson-5.3-1' of https://github.com/BayLibre/clk-meson into clk-meson · afa88bdb
      Stephen Boyd authored
      Pull Amlogic clk driver updates from Jerome Brunet:
      
       - Fix mpll fractional part and spread sprectrum issues
       - Add meson8 audio clocks
       - Add g12a temperature sensors clocks
       - Add g12a and g12b cpu clocks
      
      * tag 'clk-meson-5.3-1' of https://github.com/BayLibre/clk-meson:
        clk: meson: g12a: mark fclk_div3 as critical
        clk: meson: g12a: Add support for G12B CPUB clocks
        dt-bindings: clk: meson: add g12b periph clock controller bindings
        clk: meson-g12a: add temperature sensor clocks
        dt-bindings: clk: g12a-clkc: add Temperature Sensor clock IDs
        clk: meson: meson8b: add the cts_i958 clock
        clk: meson: meson8b: add the cts_mclk_i958 clocks
        clk: meson: meson8b: add the cts_amclk clocks
        dt-bindings: clock: meson8b: add the audio clocks
        clk: meson: g12a: add controller register init
        clk: meson: eeclk: add init regs
        clk: meson: g12a: add mpll register init sequences
        clk: meson: mpll: add init callback and regs
        clk: meson: axg: spread spectrum is on mpll2
        clk: meson: gxbb: no spread spectrum on mpll0
        clk: meson: mpll: properly handle spread spectrum
        clk: meson: meson8b: fix a typo in the VPU parent names array variable
        clk: meson: fix MPLL 50M binding id typo
      afa88bdb
  4. Jun 24, 2019
  5. Jun 22, 2019
  6. Jun 20, 2019