mbox series

[V10,0/7] clk: imx: add imx8qxp clock support

Message ID 1544540867-6342-1-git-send-email-aisheng.dong@nxp.com
Headers show
Series clk: imx: add imx8qxp clock support | expand

Message

Aisheng Dong Dec. 11, 2018, 3:13 p.m. UTC
This patch series adds i.MX8QXP clock support which is based
on the clock service provided by SCU firmware.

Note: It depends on SCU driver which has already been merged by Shawn.
So this patch series could go through Shawn's tree as well.

ChangeLog:
v9->v10:
 * a small clean up of PATCH 2
   remove ccm_ipc_handle from headfile as no other users need it now
   and move imx_clk_scu_init() implementation into driver accordingly.
 * a typo fix of Patch 10
v8->v9:
 * add __le32 and __le16 for SCU message structure members as it's little endian
 * use readl_relaxed() as it does not need insert barrier
 * a small code logic improvement suggested by Stephen
v7->v8:
 * add more kernel doc for lpcg and scu clock structures
 * remove one unneccessry reg checking
v6->v7:
 * use struct_size()
 * remove MODULE_ macros
 * add more kernel docs/code comments
 * other small improvements
 * update reviewed-by tags
 * add the missing PATCH 1 in V6
v5->v6:
 * simply the driver a lot by re-orgnizing the driver into a few clock types:
   scu clock (merge scu divider/gate/mux) and scu gpr lock which accessing is
   through SCU protocol and LPCG clock which is directly accessible by CPU.
 * LPCG clock is separate from SCU clock, gpr clock is still not used
   and will be added later.
 * remove old year license as the code is totally rewritten
 * scu mux support will be added later as it's also still not used.
v4->v5:
 Address all Stephen and Sascha's review comments, see details in each patch
v3->v4:
 * scu headfile path update
 * no functionality change
v2->v3:
 * structures/enums name update with imx_sc prefix
 * no functionality change
v1->v2:
 * structure and enums name update
 * api usage update due to api change
 * no functionality change

Dong Aisheng (7):
  clk: imx: add configuration option for mmio clks
  clk: imx: add scu clock common part
  dt-bindings: clock: imx8qxp: add SCU clock IDs
  clk: imx: add imx8qxp clk driver
  dt-bindings: clock: add imx8qxp lpcg clock binding
  clk: imx: add lpcg clock support
  clk: imx: add imx8qxp lpcg driver

 .../devicetree/bindings/clock/imx8qxp-lpcg.txt     |  51 ++++
 arch/arm/mach-imx/Kconfig                          |  11 +
 drivers/clk/Kconfig                                |   1 +
 drivers/clk/imx/Kconfig                            |   9 +
 drivers/clk/imx/Makefile                           |   8 +-
 drivers/clk/imx/clk-imx8qxp-lpcg.c                 | 216 +++++++++++++++
 drivers/clk/imx/clk-imx8qxp-lpcg.h                 | 102 ++++++++
 drivers/clk/imx/clk-imx8qxp.c                      | 153 +++++++++++
 drivers/clk/imx/clk-lpcg-scu.c                     | 114 ++++++++
 drivers/clk/imx/clk-scu.c                          | 270 +++++++++++++++++++
 drivers/clk/imx/clk-scu.h                          |  18 ++
 include/dt-bindings/clock/imx8qxp-clock.h          | 289 +++++++++++++++++++++
 12 files changed, 1241 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/clock/imx8qxp-lpcg.txt
 create mode 100644 drivers/clk/imx/Kconfig
 create mode 100644 drivers/clk/imx/clk-imx8qxp-lpcg.c
 create mode 100644 drivers/clk/imx/clk-imx8qxp-lpcg.h
 create mode 100644 drivers/clk/imx/clk-imx8qxp.c
 create mode 100644 drivers/clk/imx/clk-lpcg-scu.c
 create mode 100644 drivers/clk/imx/clk-scu.c
 create mode 100644 drivers/clk/imx/clk-scu.h
 create mode 100644 include/dt-bindings/clock/imx8qxp-clock.h

Comments

Aisheng Dong Dec. 11, 2018, 3:21 p.m. UTC | #1
Hi Stephen,

This series is made against clk-next.
Due to newly added clk-imx7ulp and clk-imx8mq in clk-next,
you may meet apply failure if apply against clk-master branch.

So If you need me to re-generate a patch series against clk-master,
Please let me know. But that may still get an error when merger the
Series Into clk-next, I guess.

Regards
Dong Aisheng

> -----Original Message-----
> From: Aisheng Dong
> Sent: Tuesday, December 11, 2018 11:13 PM
> To: linux-clk@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org; sboyd@kernel.org;
> mturquette@baylibre.com; shawnguo@kernel.org; Fabio Estevam
> <fabio.estevam@nxp.com>; dl-linux-imx <linux-imx@nxp.com>;
> kernel@pengutronix.de; Aisheng Dong <aisheng.dong@nxp.com>
> Subject: [PATCH V10 0/7] clk: imx: add imx8qxp clock support
> 
> This patch series adds i.MX8QXP clock support which is based on the clock
> service provided by SCU firmware.
> 
> Note: It depends on SCU driver which has already been merged by Shawn.
> So this patch series could go through Shawn's tree as well.
> 
> ChangeLog:
> v9->v10:
>  * a small clean up of PATCH 2
>    remove ccm_ipc_handle from headfile as no other users need it now
>    and move imx_clk_scu_init() implementation into driver accordingly.
>  * a typo fix of Patch 10
> v8->v9:
>  * add __le32 and __le16 for SCU message structure members as it's little
> endian
>  * use readl_relaxed() as it does not need insert barrier
>  * a small code logic improvement suggested by Stephen
> v7->v8:
>  * add more kernel doc for lpcg and scu clock structures
>  * remove one unneccessry reg checking
> v6->v7:
>  * use struct_size()
>  * remove MODULE_ macros
>  * add more kernel docs/code comments
>  * other small improvements
>  * update reviewed-by tags
>  * add the missing PATCH 1 in V6
> v5->v6:
>  * simply the driver a lot by re-orgnizing the driver into a few clock types:
>    scu clock (merge scu divider/gate/mux) and scu gpr lock which accessing is
>    through SCU protocol and LPCG clock which is directly accessible by CPU.
>  * LPCG clock is separate from SCU clock, gpr clock is still not used
>    and will be added later.
>  * remove old year license as the code is totally rewritten
>  * scu mux support will be added later as it's also still not used.
> v4->v5:
>  Address all Stephen and Sascha's review comments, see details in each patch
> v3->v4:
>  * scu headfile path update
>  * no functionality change
> v2->v3:
>  * structures/enums name update with imx_sc prefix
>  * no functionality change
> v1->v2:
>  * structure and enums name update
>  * api usage update due to api change
>  * no functionality change
> 
> Dong Aisheng (7):
>   clk: imx: add configuration option for mmio clks
>   clk: imx: add scu clock common part
>   dt-bindings: clock: imx8qxp: add SCU clock IDs
>   clk: imx: add imx8qxp clk driver
>   dt-bindings: clock: add imx8qxp lpcg clock binding
>   clk: imx: add lpcg clock support
>   clk: imx: add imx8qxp lpcg driver
> 
>  .../devicetree/bindings/clock/imx8qxp-lpcg.txt     |  51 ++++
>  arch/arm/mach-imx/Kconfig                          |  11 +
>  drivers/clk/Kconfig                                |   1 +
>  drivers/clk/imx/Kconfig                            |   9 +
>  drivers/clk/imx/Makefile                           |   8 +-
>  drivers/clk/imx/clk-imx8qxp-lpcg.c                 | 216
> +++++++++++++++
>  drivers/clk/imx/clk-imx8qxp-lpcg.h                 | 102 ++++++++
>  drivers/clk/imx/clk-imx8qxp.c                      | 153 +++++++++++
>  drivers/clk/imx/clk-lpcg-scu.c                     | 114 ++++++++
>  drivers/clk/imx/clk-scu.c                          | 270
> +++++++++++++++++++
>  drivers/clk/imx/clk-scu.h                          |  18 ++
>  include/dt-bindings/clock/imx8qxp-clock.h          | 289
> +++++++++++++++++++++
>  12 files changed, 1241 insertions(+), 1 deletion(-)  create mode 100644
> Documentation/devicetree/bindings/clock/imx8qxp-lpcg.txt
>  create mode 100644 drivers/clk/imx/Kconfig  create mode 100644
> drivers/clk/imx/clk-imx8qxp-lpcg.c
>  create mode 100644 drivers/clk/imx/clk-imx8qxp-lpcg.h
>  create mode 100644 drivers/clk/imx/clk-imx8qxp.c  create mode 100644
> drivers/clk/imx/clk-lpcg-scu.c  create mode 100644 drivers/clk/imx/clk-scu.c
> create mode 100644 drivers/clk/imx/clk-scu.h  create mode 100644
> include/dt-bindings/clock/imx8qxp-clock.h
> 
> --
> 2.7.4