Re: [PATCH v7 2/6] clk: qcom: add support for SM8350 GPUCC
From: Vinod Koul
Date: Thu Jun 23 2022 - 01:11:32 EST
On 23-06-22, 01:28, Robert Foss wrote:
> The GPUCC manages the clocks for the Adreno GPU found on the
> sm8350 SoCs.
>
> Signed-off-by: Robert Foss <robert.foss@xxxxxxxxxx>
> Signed-off-by: Jonathan Marek <jonathan@xxxxxxxx>
> ---
>
> Changes since v1
> - Remove .name assignments for clk_parent_data - Dmitry
> - Use ARRAY_SIZE where possible - Dmitry
> - Remove commented out code - Dmitry
> - Set CLAMP_IO flag for gpu_gx_gdsc - Dmitry
> - Assign .parent_hws instead of .hw - Dmitry
>
> Changes since v2
> - Switch license to dual BSD/GPL - Bjorn
> - Add Jonathans SoB - Jonathan
> - Add Linaro to copyright statement - Bjorn
> - Make .hw.init assignment const - Bjorn
> - Extract & deduplicate bi_tcxo parent_data - Bjorn
> - Removed further .name assignment - Bjorn
> - Move of_device_id declaration - Bjorn
>
> Changes since v3
> - Change license to BSD/GPL - Rob/Bjorn
> - Switch from .fw_name to .index
>
> Changes since v4
> - Change year of copyright statement
> - Change to dual license for header file - Rob
>
> Changes since v5
> - Change hex to lower case - Konrad
>
> Changes since v6
> - Change hex to lower case - Konrad
> - Change license go GPL 2.0 only - Konrad
>
>
> drivers/clk/qcom/Kconfig | 8 +
> drivers/clk/qcom/Makefile | 1 +
> drivers/clk/qcom/gpucc-sm8350.c | 637 ++++++++++++++++++++++++++++++++
> 3 files changed, 646 insertions(+)
> create mode 100644 drivers/clk/qcom/gpucc-sm8350.c
>
> diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
> index bc4dcf356d82..b11235c21952 100644
> --- a/drivers/clk/qcom/Kconfig
> +++ b/drivers/clk/qcom/Kconfig
> @@ -712,6 +712,14 @@ config SM_GPUCC_8250
> Say Y if you want to support graphics controller devices and
> functionality such as 3D graphics.
>
> +config SM_GPUCC_8350
> + tristate "SM8350 Graphics Clock Controller"
> + select SM_GCC_8350
> + help
> + Support for the graphics clock controller on SM8350 devices.
> + Say Y if you want to support graphics controller devices and
> + functionality such as 3D graphics.
> +
> config SM_VIDEOCC_8150
> tristate "SM8150 Video Clock Controller"
> select SM_GCC_8150
> diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
> index 36789f5233ef..ef9c64824424 100644
> --- a/drivers/clk/qcom/Makefile
> +++ b/drivers/clk/qcom/Makefile
> @@ -101,6 +101,7 @@ obj-$(CONFIG_SM_GCC_8450) += gcc-sm8450.o
> obj-$(CONFIG_SM_GPUCC_6350) += gpucc-sm6350.o
> obj-$(CONFIG_SM_GPUCC_8150) += gpucc-sm8150.o
> obj-$(CONFIG_SM_GPUCC_8250) += gpucc-sm8250.o
> +obj-$(CONFIG_SM_GPUCC_8350) += gpucc-sm8350.o
> obj-$(CONFIG_SM_VIDEOCC_8150) += videocc-sm8150.o
> obj-$(CONFIG_SM_VIDEOCC_8250) += videocc-sm8250.o
> obj-$(CONFIG_SPMI_PMIC_CLKDIV) += clk-spmi-pmic-div.o
> diff --git a/drivers/clk/qcom/gpucc-sm8350.c b/drivers/clk/qcom/gpucc-sm8350.c
> new file mode 100644
> index 000000000000..d13fa813d190
> --- /dev/null
> +++ b/drivers/clk/qcom/gpucc-sm8350.c
> @@ -0,0 +1,637 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
> + * Copyright (c) 2022, Linaro Limited
> + */
> +
> +#include <linux/clk.h>
> +#include <linux/err.h>
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/of_device.h>
> +#include <linux/of.h>
> +#include <linux/regmap.h>
> +
> +#include <dt-bindings/clock/qcom,gpucc-sm8350.h>
> +
> +#include "clk-alpha-pll.h"
> +#include "clk-branch.h"
> +#include "clk-pll.h"
> +#include "clk-rcg.h"
> +#include "clk-regmap.h"
> +#include "common.h"
> +#include "clk-regmap-mux.h"
> +#include "clk-regmap-divider.h"
> +#include "gdsc.h"
> +#include "reset.h"
nit: this could be sorted alphabetically. Otherwise looks good to me
Reviewed-by: Vinod Koul <vkoul@xxxxxxxxxx>
--
~Vinod