Message ID | 1580357923-19783-1-git-send-email-tdas@codeaurora.org |
---|---|
Headers | show |
Series | Add modem Clock controller (MSS CC) driver for SC7180 | expand |
Quoting Taniya Das (2020-01-29 20:18:43) > Add support for the modem clock controller found on SC7180 > based devices. This would allow modem drivers to probe and > control their clocks. > > Signed-off-by: Taniya Das <tdas@codeaurora.org> > --- > drivers/clk/qcom/Kconfig | 9 +++ > drivers/clk/qcom/Makefile | 1 + > drivers/clk/qcom/gcc-sc7180.c | 70 +++++++++++++++++++++ > drivers/clk/qcom/mss-sc7180.c | 143 ++++++++++++++++++++++++++++++++++++++++++ Please split this patch into two, one for gcc and one for mss. > 4 files changed, 223 insertions(+) > create mode 100644 drivers/clk/qcom/mss-sc7180.c > > diff --git a/drivers/clk/qcom/mss-sc7180.c b/drivers/clk/qcom/mss-sc7180.c > new file mode 100644 > index 0000000..d82600e > --- /dev/null > +++ b/drivers/clk/qcom/mss-sc7180.c > @@ -0,0 +1,143 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Copyright (c) 2019, The Linux Foundation. All rights reserved. > + */ > + > +#include <linux/clk-provider.h> > +#include <linux/platform_device.h> > +#include <linux/module.h> > +#include <linux/of_address.h> > +#include <linux/pm_clock.h> > +#include <linux/pm_runtime.h> > +#include <linux/regmap.h> > + > +#include <dt-bindings/clock/qcom,mss-sc7180.h> > + > +#include "clk-regmap.h" > +#include "clk-branch.h" > +#include "common.h" > + [...] > + > +static struct regmap_config mss_regmap_config = { Can this be const? > + .reg_bits = 32, > + .reg_stride = 4, > + .val_bits = 32, > + .fast_io = true, > +}; > +
Hey Taniya, On 2020-01-30 09:48, Taniya Das wrote: > The Modem Subsystem clock provider have a bunch of generic properties > that are needed in a device tree. Add a YAML schemas for those. > > Signed-off-by: Taniya Das <tdas@codeaurora.org> > --- > .../devicetree/bindings/clock/qcom,mss.yaml | 58 > ++++++++++++++++++++++ > 1 file changed, 58 insertions(+) > create mode 100644 > Documentation/devicetree/bindings/clock/qcom,mss.yaml > > diff --git a/Documentation/devicetree/bindings/clock/qcom,mss.yaml > b/Documentation/devicetree/bindings/clock/qcom,mss.yaml > new file mode 100644 > index 0000000..ebb04e1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/qcom,mss.yaml > @@ -0,0 +1,58 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/bindings/clock/qcom,mss.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Modem Clock Controller Binding > + > +maintainers: > + - Taniya Das <tdas@codeaurora.org> > + > +description: | > + Qualcomm modem clock control module which supports the clocks. > + > +properties: > + compatible: > + enum: > + - qcom,sc7180-mss > + > + clocks: > + minItems: 1 > + maxItems: 3 > + items: > + - description: gcc_mss_mfab_axi clock from GCC > + - description: gcc_mss_nav_axi clock from GCC we don't seem to be referencing the mss_mfab_axi and mss_nav_axi in the mss clk driver though, do we really need them in bindings? If we dont can we drop the clock-names as well. > + - description: gcc_mss_cfg_ahb clock from GCC > + > + clock-names: > + items: > + - const: gcc_mss_mfab_axis_clk > + - const: gcc_mss_nav_axi_clk > + - const: cfg_clk > + > + '#clock-cells': > + const: 1 > + > + reg: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - clocks > + - '#clock-cells' > + > +additionalProperties: false > + > +examples: > + # Example of MSS with clock nodes properties for SC7180: > + - | > + clock-controller@41a8000 { > + compatible = "qcom,sc7180-mss"; > + reg = <0x041a8000 0x8000>; > + clocks = <&gcc 126>, <&gcc 127>, <&gcc 125>; > + clock-names = "gcc_mss_mfab_axis_clk", "gcc_mss_nav_axi_clk", > "cfg_clk"; > + #clock-cells = <1>; > + }; > +... > -- > Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc.is a > member > of the Code Aurora Forum, hosted by the Linux Foundation.
On 1/30/2020 11:38 PM, Stephen Boyd wrote: > Quoting Taniya Das (2020-01-29 20:18:43) >> Add support for the modem clock controller found on SC7180 >> based devices. This would allow modem drivers to probe and >> control their clocks. >> >> Signed-off-by: Taniya Das <tdas@codeaurora.org> >> --- >> drivers/clk/qcom/Kconfig | 9 +++ >> drivers/clk/qcom/Makefile | 1 + >> drivers/clk/qcom/gcc-sc7180.c | 70 +++++++++++++++++++++ >> drivers/clk/qcom/mss-sc7180.c | 143 ++++++++++++++++++++++++++++++++++++++++++ > > Please split this patch into two, one for gcc and one for mss. > Taken care in the next patch series. >> 4 files changed, 223 insertions(+) >> create mode 100644 drivers/clk/qcom/mss-sc7180.c >> >> diff --git a/drivers/clk/qcom/mss-sc7180.c b/drivers/clk/qcom/mss-sc7180.c >> new file mode 100644 >> index 0000000..d82600e >> --- /dev/null >> +++ b/drivers/clk/qcom/mss-sc7180.c >> @@ -0,0 +1,143 @@ >> +// SPDX-License-Identifier: GPL-2.0-only >> +/* >> + * Copyright (c) 2019, The Linux Foundation. All rights reserved. >> + */ >> + >> +#include <linux/clk-provider.h> >> +#include <linux/platform_device.h> >> +#include <linux/module.h> >> +#include <linux/of_address.h> >> +#include <linux/pm_clock.h> >> +#include <linux/pm_runtime.h> >> +#include <linux/regmap.h> >> + >> +#include <dt-bindings/clock/qcom,mss-sc7180.h> >> + >> +#include "clk-regmap.h" >> +#include "clk-branch.h" >> +#include "common.h" >> + > [...] >> + >> +static struct regmap_config mss_regmap_config = { > > Can this be const? > Yes, next series is updated with the above. >> + .reg_bits = 32, >> + .reg_stride = 4, >> + .val_bits = 32, >> + .fast_io = true, >> +}; >> +