[PATCH v1 00/20] ARM: imx: make Ethernet refclock configurable

Oleksij Rempel posted 20 patches 2 years, 8 months ago
There is a newer version of this series
arch/arm/boot/dts/imx6dl-alti6p.dts           |  12 +-
arch/arm/boot/dts/imx6dl-eckelmann-ci4x10.dts |  13 +-
arch/arm/boot/dts/imx6dl-lanmcu.dts           |  12 +-
arch/arm/boot/dts/imx6dl-plybas.dts           |  12 +-
arch/arm/boot/dts/imx6dl-plym2m.dts           |  12 +-
arch/arm/boot/dts/imx6dl-prtmvt.dts           |  11 +-
arch/arm/boot/dts/imx6dl-victgo.dts           |  12 +-
arch/arm/boot/dts/imx6q-prtwd2.dts            |  17 ++-
arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi       |  12 +-
arch/arm/boot/dts/imx6qdl.dtsi                |   4 +-
arch/arm/boot/dts/imx6ul-prti6g.dts           |  14 ++-
arch/arm/boot/dts/imx6ul.dtsi                 |  10 +-
arch/arm/mach-imx/mach-imx6q.c                |  12 +-
arch/arm/mach-imx/mach-imx6ul.c               |  20 ---
drivers/clk/imx/Makefile                      |   1 +
drivers/clk/imx/clk-gpr-mux.c                 | 119 ++++++++++++++++++
drivers/clk/imx/clk-imx6q.c                   |  13 ++
drivers/clk/imx/clk-imx6ul.c                  |  33 ++++-
drivers/clk/imx/clk.c                         |  14 +++
drivers/clk/imx/clk.h                         |   8 ++
include/dt-bindings/clock/imx6qdl-clock.h     |   4 +-
include/dt-bindings/clock/imx6ul-clock.h      |   7 +-
include/linux/mfd/syscon/imx6q-iomuxc-gpr.h   |   6 +-
23 files changed, 297 insertions(+), 81 deletions(-)
create mode 100644 drivers/clk/imx/clk-gpr-mux.c
[PATCH v1 00/20] ARM: imx: make Ethernet refclock configurable
Posted by Oleksij Rempel 2 years, 8 months ago
Most of i.MX SoC variants have configurable FEC/Ethernet reference clock
used by RMII specification. This functionality is located in the
general purpose registers (GRPx) and till now was not implemented as
part of SoC clock tree.

With this patch set, we move forward and add this missing functionality
to some of i.MX clk drivers. So, we will be able to configure clock topology
by using devicetree and be able to troubleshoot clock dependencies
by using clk_summary etc.

Currently implemented and tested i.MX6Q, i.MX6DL and i.MX6UL variants.

Oleksij Rempel (20):
  clk: imx: add clk-gpr-mux driver
  clk: imx6q: add ethernet refclock mux support
  ARM: imx6q: skip ethernet refclock reconfiguration if enet_clk_ref is
    present
  ARM: imx6q: use of_clk_get_by_name() instead of_clk_get() to get ptp
    clock
  ARM: dts: imx6qdl: use enet_clk_ref instead of enet_out for the FEC
    node
  ARM: dts: imx6dl-lanmcu: configure ethernet reference clock parent
  ARM: dts: imx6dl-alti6p: configure ethernet reference clock parent
  ARM: dts: imx6dl-plybas: configure ethernet reference clock parent
  ARM: dts: imx6dl-plym2m: configure ethernet reference clock parent
  ARM: dts: imx6dl-prtmvt: configure ethernet reference clock parent
  ARM: dts: imx6dl-victgo: configure ethernet reference clock parent
  ARM: dts: imx6q-prtwd2: configure ethernet reference clock parent
  ARM: dts: imx6qdl-skov-cpu: configure ethernet reference clock parent
  ARM: dts: imx6dl-eckelmann-ci4x10: configure ethernet reference clock
    parent
  clk: imx: add imx_obtain_fixed_of_clock()
  clk: imx6ul: fix enet1 gate configuration
  clk: imx6ul: add ethernet refclock mux support
  ARM: dts: imx6ul: set enet_clk_ref to CLK_ENETx_REF_SEL
  ARM: mach-imx: imx6ul: remove not optional ethernet refclock overwrite
  ARM: dts: imx6ul-prti6g: configure ethernet reference clock parent

 arch/arm/boot/dts/imx6dl-alti6p.dts           |  12 +-
 arch/arm/boot/dts/imx6dl-eckelmann-ci4x10.dts |  13 +-
 arch/arm/boot/dts/imx6dl-lanmcu.dts           |  12 +-
 arch/arm/boot/dts/imx6dl-plybas.dts           |  12 +-
 arch/arm/boot/dts/imx6dl-plym2m.dts           |  12 +-
 arch/arm/boot/dts/imx6dl-prtmvt.dts           |  11 +-
 arch/arm/boot/dts/imx6dl-victgo.dts           |  12 +-
 arch/arm/boot/dts/imx6q-prtwd2.dts            |  17 ++-
 arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi       |  12 +-
 arch/arm/boot/dts/imx6qdl.dtsi                |   4 +-
 arch/arm/boot/dts/imx6ul-prti6g.dts           |  14 ++-
 arch/arm/boot/dts/imx6ul.dtsi                 |  10 +-
 arch/arm/mach-imx/mach-imx6q.c                |  12 +-
 arch/arm/mach-imx/mach-imx6ul.c               |  20 ---
 drivers/clk/imx/Makefile                      |   1 +
 drivers/clk/imx/clk-gpr-mux.c                 | 119 ++++++++++++++++++
 drivers/clk/imx/clk-imx6q.c                   |  13 ++
 drivers/clk/imx/clk-imx6ul.c                  |  33 ++++-
 drivers/clk/imx/clk.c                         |  14 +++
 drivers/clk/imx/clk.h                         |   8 ++
 include/dt-bindings/clock/imx6qdl-clock.h     |   4 +-
 include/dt-bindings/clock/imx6ul-clock.h      |   7 +-
 include/linux/mfd/syscon/imx6q-iomuxc-gpr.h   |   6 +-
 23 files changed, 297 insertions(+), 81 deletions(-)
 create mode 100644 drivers/clk/imx/clk-gpr-mux.c

-- 
2.30.2