Commit 738e7891 authored by Stephen Boyd's avatar Stephen Boyd
Browse files

Merge tag 'clk-imx-5.18' of...

Merge tag 'clk-imx-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/abelvesa/linux into clk-imx

Pull i.MX clk driver updates from Abel Vesa:

 - Add i.MXRT1050 clock driver and bindings
 - Add i.MX8DXL clock driver and bindings
 - Add i.MX93 clock driver and bindings
 - Remove SYS PLL 1/2 clock gates for i.MX8M*
 - Remove AUDIO MCLK ROOT from i.MX7D
 - Add fracn gppll clock type used by i.MX93
 - Add new composite clock for i.MX93
 - Add missing media mipi phy ref clock for i.MX8MP
 - Fix off by one in imx_lpcg_parse_clks_from_dt
 - Rework for the pll14xx

* tag 'clk-imx-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/abelvesa/linux: (24 commits)
  clk: imx: pll14xx: Support dynamic rates
  clk: imx: pll14xx: Add pr_fmt
  clk: imx: pll14xx: explicitly return lowest rate
  clk: imx: pll14xx: name variables after usage
  clk: imx: pll14xx: consolidate rate calculation
  clk: imx: pll14xx: Use FIELD_GET/FIELD_PREP
  clk: imx: pll14xx: Drop wrong shifting
  clk: imx: pll14xx: Use register defines consistently
  clk: imx8mp: remove SYS PLL 1/2 clock gates
  clk: imx8mn: remove SYS PLL 1/2 clock gates
  clk: imx8mm: remove SYS PLL 1/2 clock gates
  clk: imx: add i.MX93 clk
  clk: imx: support fracn gppll
  clk: imx: add i.MX93 composite clk
  dt-bindings: clock: add i.MX93 clock definition
  dt-bindings: clock: Add imx93 clock support
  clk: imx: off by one in imx_lpcg_parse_clks_from_dt()
  dt-bindings: fsl: scu: add imx8dxl scu clock support
  clk: imx7d: Remove audio_mclk_root_clk
  clk: imx8mp: Add missing IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT clock
  ...
parents e783362e b09c68dc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ This binding uses the common clock binding[1].

Required properties:
- compatible:		Should be one of:
			  "fsl,imx8dxl-clk"
			  "fsl,imx8qm-clk"
			  "fsl,imx8qxp-clk"
			followed by "fsl,scu-clk"
+62 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/imx93-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP i.MX93 Clock Control Module Binding

maintainers:
  - Peng Fan <peng.fan@nxp.com>

description: |
  i.MX93 clock control module is an integrated clock controller, which
  includes clock generator, clock gate and supplies to all modules.

properties:
  compatible:
    enum:
      - fsl,imx93-ccm

  reg:
    maxItems: 1

  clocks:
    description:
      specify the external clocks used by the CCM module.
    items:
      - description: 32k osc
      - description: 24m osc
      - description: ext1 clock input

  clock-names:
    description:
      specify the external clocks names used by the CCM module.
    items:
      - const: osc_32k
      - const: osc_24m
      - const: clk_ext1

  '#clock-cells':
    const: 1
    description:
      See include/dt-bindings/clock/imx93-clock.h for the full list of
      i.MX93 clock IDs.

required:
  - compatible
  - reg
  - '#clock-cells'

additionalProperties: false

examples:
  # Clock Control Module node:
  - |
    clock-controller@44450000 {
        compatible = "fsl,imx93-ccm";
        reg = <0x44450000 0x10000>;
        #clock-cells = <1>;
    };

...
+67 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/imxrt1050-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Clock bindings for Freescale i.MXRT

maintainers:
  - Giulio Benetti <giulio.benetti@benettiengineering.com>
  - Jesse Taube <Mr.Bossman075@gmail.com>

description: |
  The clock consumer should specify the desired clock by having the clock
  ID in its "clocks" phandle cell. See include/dt-bindings/clock/imxrt*-clock.h
  for the full list of i.MXRT clock IDs.

properties:
  compatible:
    const: fsl,imxrt1050-ccm

  reg:
    maxItems: 1

  interrupts:
    maxItems: 2

  clocks:
    description: 24m osc
    maxItems: 1

  clock-names:
    const: osc

  '#clock-cells':
    const: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - '#clock-cells'

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imxrt1050-clock.h>

    clks: clock-controller@400fc000 {
        compatible = "fsl,imxrt1050-ccm";
        reg = <0x400fc000 0x4000>;
        interrupts = <95>, <96>;
        clocks = <&osc>;
        clock-names = "osc";
        #clock-cells = <1>;
    };

    lpuart1: serial@40184000 {
        compatible = "fsl,imxrt1050-lpuart";
        reg = <0x40184000 0x4000>;
        interrupts = <20>;
        clocks = <&clks IMXRT1050_CLK_LPUART1>;
        clock-names = "ipg";
    };
+13 −0
Original line number Diff line number Diff line
@@ -105,3 +105,16 @@ config CLK_IMX8ULP
	select MXC_CLK
	help
	    Build the driver for i.MX8ULP CCM Clock Driver

config CLK_IMX93
	tristate "IMX93 CCM Clock Driver"
	depends on ARCH_MXC || COMPILE_TEST
	help
	    Build the driver for i.MX93 CCM Clock Driver

config CLK_IMXRT1050
	tristate "IMXRT1050 CCM Clock Driver"
	depends on SOC_IMXRT
	select MXC_CLK
	help
	    Build the driver for i.MXRT1050 CCM Clock Driver
+7 −1
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@ mxc-clk-objs += clk.o
mxc-clk-objs += clk-busy.o
mxc-clk-objs += clk-composite-7ulp.o
mxc-clk-objs += clk-composite-8m.o
mxc-clk-objs += clk-composite-93.o
mxc-clk-objs += clk-fracn-gppll.o
mxc-clk-objs += clk-cpu.o
mxc-clk-objs += clk-divider-gate.o
mxc-clk-objs += clk-fixup-div.o
@@ -26,9 +28,12 @@ obj-$(CONFIG_CLK_IMX8MN) += clk-imx8mn.o
obj-$(CONFIG_CLK_IMX8MP) += clk-imx8mp.o
obj-$(CONFIG_CLK_IMX8MQ) += clk-imx8mq.o

obj-$(CONFIG_CLK_IMX93) += clk-imx93.o

obj-$(CONFIG_MXC_CLK_SCU) += clk-imx-scu.o clk-imx-lpcg-scu.o
clk-imx-scu-$(CONFIG_CLK_IMX8QXP) += clk-scu.o clk-imx8qxp.o \
				     clk-imx8qxp-rsrc.o clk-imx8qm-rsrc.o
				     clk-imx8qxp-rsrc.o clk-imx8qm-rsrc.o \
				     clk-imx8dxl-rsrc.o
clk-imx-lpcg-scu-$(CONFIG_CLK_IMX8QXP) += clk-lpcg-scu.o clk-imx8qxp-lpcg.o

obj-$(CONFIG_CLK_IMX8ULP) += clk-imx8ulp.o
@@ -46,4 +51,5 @@ obj-$(CONFIG_CLK_IMX6SX) += clk-imx6sx.o
obj-$(CONFIG_CLK_IMX6UL) += clk-imx6ul.o
obj-$(CONFIG_CLK_IMX7D)  += clk-imx7d.o
obj-$(CONFIG_CLK_IMX7ULP) += clk-imx7ulp.o
obj-$(CONFIG_CLK_IMXRT1050)  += clk-imxrt1050.o
obj-$(CONFIG_CLK_VF610)  += clk-vf610.o
Loading