On Tue, Mar 3, 2020 at 5:18 AM Odelu Kukatla <okukatla@xxxxxxxxxxxxxx> wrote: > > Add driver for the Qualcomm interconnect buses found in SC7180 based > platforms. The topology consists of several NoCs that are controlled by > a remote processor that collects the aggregated bandwidth for each > master-slave pairs. > > Signed-off-by: Odelu Kukatla <okukatla@xxxxxxxxxxxxxx> > --- > drivers/interconnect/qcom/Kconfig | 10 + > drivers/interconnect/qcom/Makefile | 2 + > drivers/interconnect/qcom/sc7180.c | 641 +++++++++++++++++++++++++++++++++++++ > drivers/interconnect/qcom/sc7180.h | 149 +++++++++ > 4 files changed, 802 insertions(+) > create mode 100644 drivers/interconnect/qcom/sc7180.c > create mode 100644 drivers/interconnect/qcom/sc7180.h > > diff --git a/drivers/interconnect/qcom/Kconfig b/drivers/interconnect/qcom/Kconfig > index f6418a6..482c5be 100644 > --- a/drivers/interconnect/qcom/Kconfig > +++ b/drivers/interconnect/qcom/Kconfig > @@ -42,6 +42,16 @@ config INTERCONNECT_QCOM_RPMH > depends on INTERCONNECT_QCOM || COMPILE_TEST > depends on QCOM_COMMAND_DB > > +config INTERCONNECT_QCOM_SC7180 > + tristate "Qualcomm SC7180 interconnect driver" > + depends on INTERCONNECT_QCOM > + depends on (QCOM_RPMH && QCOM_COMMAND_DB && OF) || COMPILE_TEST > + select INTERCONNECT_QCOM_RPMH > + select INTERCONNECT_QCOM_BCM_VOTER > + help > + This is a driver for the Qualcomm Network-on-Chip on sc7180-based > + platforms. > + > config INTERCONNECT_QCOM_SDM845 > tristate "Qualcomm SDM845 interconnect driver" > depends on INTERCONNECT_QCOM > diff --git a/drivers/interconnect/qcom/Makefile b/drivers/interconnect/qcom/Makefile > index d591bb5..5325558 100644 > --- a/drivers/interconnect/qcom/Makefile > +++ b/drivers/interconnect/qcom/Makefile > @@ -5,6 +5,7 @@ qnoc-msm8916-objs := msm8916.o > qnoc-msm8974-objs := msm8974.o > qnoc-qcs404-objs := qcs404.o > icc-rpmh-obj := icc-rpmh.o > +qnoc-sc7180-objs := sc7180.o > qnoc-sdm845-objs := sdm845.o > icc-smd-rpm-objs := smd-rpm.o > > @@ -13,5 +14,6 @@ obj-$(CONFIG_INTERCONNECT_QCOM_MSM8916) += qnoc-msm8916.o > obj-$(CONFIG_INTERCONNECT_QCOM_MSM8974) += qnoc-msm8974.o > obj-$(CONFIG_INTERCONNECT_QCOM_QCS404) += qnoc-qcs404.o > obj-$(CONFIG_INTERCONNECT_QCOM_RPMH) += icc-rpmh.o > +obj-$(CONFIG_INTERCONNECT_QCOM_SC7180) += qnoc-sc7180.o > obj-$(CONFIG_INTERCONNECT_QCOM_SDM845) += qnoc-sdm845.o > obj-$(CONFIG_INTERCONNECT_QCOM_SMD_RPM) += icc-smd-rpm.o > diff --git a/drivers/interconnect/qcom/sc7180.c b/drivers/interconnect/qcom/sc7180.c > new file mode 100644 > index 0000000..dcf493d > --- /dev/null > +++ b/drivers/interconnect/qcom/sc7180.c > @@ -0,0 +1,641 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (c) 2020, The Linux Foundation. All rights reserved. > + * > + */ > + > +#include <linux/device.h> > +#include <linux/interconnect.h> > +#include <linux/interconnect-provider.h> > +#include <linux/module.h> > +#include <linux/of_platform.h> Nit: As Georgi mentioned in the previous review, you can remove this an replace it with of_device.h. No need to spin for just that, though. Reviewed-by: Evan Green <evgreen@xxxxxxxxxxxx>