ipq806x: refresh patches for kernel 5.4
Refresh patches and minor changes for new kernel support Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
This commit is contained in:
parent
68b526e0a4
commit
71eb7b057b
28 changed files with 118 additions and 112 deletions
|
@ -26,7 +26,7 @@ Signed-off-by: Thomas Pedersen <twp@codeaurora.org>
|
||||||
|
|
||||||
--- a/drivers/dma/qcom/Kconfig
|
--- a/drivers/dma/qcom/Kconfig
|
||||||
+++ b/drivers/dma/qcom/Kconfig
|
+++ b/drivers/dma/qcom/Kconfig
|
||||||
@@ -27,3 +27,13 @@ config QCOM_HIDMA
|
@@ -28,3 +28,13 @@ config QCOM_HIDMA
|
||||||
(user to kernel, kernel to kernel, etc.). It only supports
|
(user to kernel, kernel to kernel, etc.). It only supports
|
||||||
memcpy interface. The core is not intended for general
|
memcpy interface. The core is not intended for general
|
||||||
purpose slave DMA.
|
purpose slave DMA.
|
||||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
|
||||||
--- a/drivers/clk/qcom/gcc-ipq806x.c
|
--- a/drivers/clk/qcom/gcc-ipq806x.c
|
||||||
+++ b/drivers/clk/qcom/gcc-ipq806x.c
|
+++ b/drivers/clk/qcom/gcc-ipq806x.c
|
||||||
@@ -294,7 +294,7 @@ static struct clk_rcg gsbi1_uart_src = {
|
@@ -365,7 +365,7 @@ static struct clk_rcg gsbi1_uart_src = {
|
||||||
.parent_names = gcc_pxo_pll8,
|
.parent_names = gcc_pxo_pll8,
|
||||||
.num_parents = 2,
|
.num_parents = 2,
|
||||||
.ops = &clk_rcg_ops,
|
.ops = &clk_rcg_ops,
|
||||||
|
@ -21,7 +21,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -312,7 +312,7 @@ static struct clk_branch gsbi1_uart_clk
|
@@ -383,7 +383,7 @@ static struct clk_branch gsbi1_uart_clk
|
||||||
},
|
},
|
||||||
.num_parents = 1,
|
.num_parents = 1,
|
||||||
.ops = &clk_branch_ops,
|
.ops = &clk_branch_ops,
|
||||||
|
@ -30,7 +30,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -890,6 +890,7 @@ static struct clk_branch gsbi1_h_clk = {
|
@@ -961,6 +961,7 @@ static struct clk_branch gsbi1_h_clk = {
|
||||||
.hw.init = &(struct clk_init_data){
|
.hw.init = &(struct clk_init_data){
|
||||||
.name = "gsbi1_h_clk",
|
.name = "gsbi1_h_clk",
|
||||||
.ops = &clk_branch_ops,
|
.ops = &clk_branch_ops,
|
||||||
|
|
|
@ -10,17 +10,17 @@ SMEM and use it to register an MTD layout according to its content.
|
||||||
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
||||||
Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
|
Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
|
||||||
---
|
---
|
||||||
drivers/mtd/Kconfig | 7 ++
|
drivers/mtd/parsers/Kconfig | 7 ++
|
||||||
drivers/mtd/Makefile | 1 +
|
drivers/mtd/parsers/Makefile | 1 +
|
||||||
drivers/mtd/qcom_smem_part.c | 228 +++++++++++++++++++++++++++++++++++++++++++
|
drivers/mtd/parsers/qcom_smem_part.c | 228 +++++++++++++++++++++++++++++++++++++++++++
|
||||||
3 files changed, 236 insertions(+)
|
3 files changed, 236 insertions(+)
|
||||||
create mode 100644 drivers/mtd/qcom_smem_part.c
|
create mode 100644 drivers/mtd/parsers/qcom_smem_part.c
|
||||||
|
|
||||||
--- a/drivers/mtd/Kconfig
|
--- a/drivers/mtd/parsers/Kconfig
|
||||||
+++ b/drivers/mtd/Kconfig
|
+++ b/drivers/mtd/parsers/Kconfig
|
||||||
@@ -193,6 +193,13 @@ config MTD_MYLOADER_PARTS
|
@@ -20,6 +20,13 @@ config MTD_BCM63XX_PARTS
|
||||||
You will still need the parsing functions to be called by the driver
|
This provides partition parsing for BCM63xx devices with CFE
|
||||||
for your particular device. It won't happen automatically.
|
bootloaders.
|
||||||
|
|
||||||
+config MTD_QCOM_SMEM_PARTS
|
+config MTD_QCOM_SMEM_PARTS
|
||||||
+ tristate "QCOM SMEM partitioning support"
|
+ tristate "QCOM SMEM partitioning support"
|
||||||
|
@ -29,11 +29,11 @@ Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
|
||||||
+ This provides partitions parser for QCOM devices using SMEM
|
+ This provides partitions parser for QCOM devices using SMEM
|
||||||
+ such as IPQ806x.
|
+ such as IPQ806x.
|
||||||
+
|
+
|
||||||
comment "User Modules And Translation Layers"
|
config MTD_CMDLINE_PARTS
|
||||||
|
tristate "Command line partition table parsing"
|
||||||
#
|
depends on MTD
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/mtd/qcom_smem_part.c
|
+++ b/drivers/mtd/parsers/qcom_smem_part.c
|
||||||
@@ -0,0 +1,235 @@
|
@@ -0,0 +1,235 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2015, The Linux Foundation. All rights reserved.
|
+ * Copyright (c) 2015, The Linux Foundation. All rights reserved.
|
||||||
|
@ -149,7 +149,7 @@ Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static int of_dev_node_match(struct device *dev, void *data)
|
+static int of_dev_node_match(struct device *dev, const void *data)
|
||||||
+{
|
+{
|
||||||
+ return dev->of_node == data;
|
+ return dev->of_node == data;
|
||||||
+}
|
+}
|
||||||
|
@ -270,13 +270,13 @@ Signed-off-by: Ram Chandra Jangir <rjangi@codeaurora.org>
|
||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
+MODULE_AUTHOR("Mathieu Olivari <mathieu@codeaurora.org>");
|
+MODULE_AUTHOR("Mathieu Olivari <mathieu@codeaurora.org>");
|
||||||
+MODULE_DESCRIPTION("Parsing code for SMEM based partition tables");
|
+MODULE_DESCRIPTION("Parsing code for SMEM based partition tables");
|
||||||
--- a/drivers/mtd/Makefile
|
--- a/drivers/mtd/parsers/Makefile
|
||||||
+++ b/drivers/mtd/Makefile
|
+++ b/drivers/mtd/parsers/Makefile
|
||||||
@@ -17,6 +17,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
|
@@ -3,6 +3,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.
|
||||||
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
|
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o
|
||||||
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o
|
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
|
||||||
obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o
|
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
|
||||||
+obj-$(CONFIG_MTD_QCOM_SMEM_PARTS) += qcom_smem_part.o
|
+obj-$(CONFIG_MTD_QCOM_SMEM_PARTS) += qcom_smem_part.o
|
||||||
obj-y += parsers/
|
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
|
||||||
|
obj-$(CONFIG_MTD_PARSER_IMAGETAG) += parser_imagetag.o
|
||||||
# 'Users' - code which presents functionality to userspace.
|
obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
|
||||||
|
|
|
@ -8,7 +8,7 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
|
||||||
|
|
||||||
--- a/drivers/phy/qualcomm/Kconfig
|
--- a/drivers/phy/qualcomm/Kconfig
|
||||||
+++ b/drivers/phy/qualcomm/Kconfig
|
+++ b/drivers/phy/qualcomm/Kconfig
|
||||||
@@ -65,3 +65,15 @@ config PHY_QCOM_USB_HSIC
|
@@ -91,3 +91,15 @@ config PHY_QCOM_USB_HSIC
|
||||||
select GENERIC_PHY
|
select GENERIC_PHY
|
||||||
help
|
help
|
||||||
Support for the USB HSIC ULPI compliant PHY on QCOM chipsets.
|
Support for the USB HSIC ULPI compliant PHY on QCOM chipsets.
|
||||||
|
@ -26,8 +26,8 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
|
||||||
+
|
+
|
||||||
--- a/drivers/phy/qualcomm/Makefile
|
--- a/drivers/phy/qualcomm/Makefile
|
||||||
+++ b/drivers/phy/qualcomm/Makefile
|
+++ b/drivers/phy/qualcomm/Makefile
|
||||||
@@ -9,3 +9,4 @@ obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-
|
@@ -10,3 +10,4 @@ obj-$(CONFIG_PHY_QCOM_UFS_14NM) += phy-
|
||||||
obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs-qmp-20nm.o
|
obj-$(CONFIG_PHY_QCOM_UFS_20NM) += phy-qcom-ufs-qmp-20nm.o
|
||||||
obj-$(CONFIG_PHY_QCOM_USB_HS) += phy-qcom-usb-hs.o
|
obj-$(CONFIG_PHY_QCOM_USB_HS) += phy-qcom-usb-hs.o
|
||||||
obj-$(CONFIG_PHY_QCOM_USB_HSIC) += phy-qcom-usb-hsic.o
|
obj-$(CONFIG_PHY_QCOM_USB_HSIC) += phy-qcom-usb-hsic.o
|
||||||
+obj-$(CONFIG_PHY_QCOM_DWC3) += phy-qcom-dwc3.o
|
+obj-$(CONFIG_PHY_QCOM_DWC3) += phy-qcom-dwc3.o
|
||||||
|
|
|
@ -19,7 +19,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
||||||
|
|
||||||
--- a/arch/arm/mach-qcom/Kconfig
|
--- a/arch/arm/mach-qcom/Kconfig
|
||||||
+++ b/arch/arm/mach-qcom/Kconfig
|
+++ b/arch/arm/mach-qcom/Kconfig
|
||||||
@@ -6,6 +6,7 @@ menuconfig ARCH_QCOM
|
@@ -7,6 +7,7 @@ menuconfig ARCH_QCOM
|
||||||
select ARM_AMBA
|
select ARM_AMBA
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
select QCOM_SCM if SMP
|
select QCOM_SCM if SMP
|
||||||
|
|
|
@ -39,7 +39,7 @@ Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||||
|
|
||||||
--- a/drivers/opp/core.c
|
--- a/drivers/opp/core.c
|
||||||
+++ b/drivers/opp/core.c
|
+++ b/drivers/opp/core.c
|
||||||
@@ -1623,6 +1623,75 @@ put_table:
|
@@ -2103,6 +2103,75 @@ put_table:
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,7 +117,7 @@ Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||||
* @freq: OPP frequency to enable
|
* @freq: OPP frequency to enable
|
||||||
--- a/include/linux/pm_opp.h
|
--- a/include/linux/pm_opp.h
|
||||||
+++ b/include/linux/pm_opp.h
|
+++ b/include/linux/pm_opp.h
|
||||||
@@ -25,6 +25,7 @@ struct opp_table;
|
@@ -22,6 +22,7 @@ struct opp_table;
|
||||||
|
|
||||||
enum dev_pm_opp_event {
|
enum dev_pm_opp_event {
|
||||||
OPP_EVENT_ADD, OPP_EVENT_REMOVE, OPP_EVENT_ENABLE, OPP_EVENT_DISABLE,
|
OPP_EVENT_ADD, OPP_EVENT_REMOVE, OPP_EVENT_ENABLE, OPP_EVENT_DISABLE,
|
||||||
|
@ -125,9 +125,9 @@ Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -108,6 +109,10 @@ int dev_pm_opp_add(struct device *dev, u
|
@@ -113,6 +114,10 @@ int dev_pm_opp_add(struct device *dev, u
|
||||||
unsigned long u_volt);
|
|
||||||
void dev_pm_opp_remove(struct device *dev, unsigned long freq);
|
void dev_pm_opp_remove(struct device *dev, unsigned long freq);
|
||||||
|
void dev_pm_opp_remove_all_dynamic(struct device *dev);
|
||||||
|
|
||||||
+int dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq,
|
+int dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq,
|
||||||
+ unsigned long u_volt, unsigned long u_volt_min,
|
+ unsigned long u_volt, unsigned long u_volt_min,
|
||||||
|
@ -136,7 +136,7 @@ Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||||
int dev_pm_opp_enable(struct device *dev, unsigned long freq);
|
int dev_pm_opp_enable(struct device *dev, unsigned long freq);
|
||||||
|
|
||||||
int dev_pm_opp_disable(struct device *dev, unsigned long freq);
|
int dev_pm_opp_disable(struct device *dev, unsigned long freq);
|
||||||
@@ -208,6 +213,14 @@ static inline void dev_pm_opp_remove(str
|
@@ -242,6 +247,14 @@ static inline void dev_pm_opp_remove_all
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
|
|
||||||
--- a/drivers/opp/core.c
|
--- a/drivers/opp/core.c
|
||||||
+++ b/drivers/opp/core.c
|
+++ b/drivers/opp/core.c
|
||||||
@@ -125,6 +125,27 @@ unsigned long dev_pm_opp_get_freq(struct
|
@@ -127,6 +127,27 @@ unsigned long dev_pm_opp_get_freq(struct
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(dev_pm_opp_get_freq);
|
EXPORT_SYMBOL_GPL(dev_pm_opp_get_freq);
|
||||||
|
|
||||||
|
@ -38,15 +38,15 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
+EXPORT_SYMBOL_GPL(dev_pm_opp_get_regulator);
|
+EXPORT_SYMBOL_GPL(dev_pm_opp_get_regulator);
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* dev_pm_opp_is_turbo() - Returns if opp is turbo OPP or not
|
* dev_pm_opp_get_level() - Gets the level corresponding to an available opp
|
||||||
* @opp: opp for which turbo mode is being verified
|
* @opp: opp for which level value has to be returned for
|
||||||
--- a/include/linux/pm_opp.h
|
--- a/include/linux/pm_opp.h
|
||||||
+++ b/include/linux/pm_opp.h
|
+++ b/include/linux/pm_opp.h
|
||||||
@@ -85,6 +85,7 @@ void dev_pm_opp_put_opp_table(struct opp
|
@@ -83,6 +83,7 @@ void dev_pm_opp_put_opp_table(struct opp
|
||||||
unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp);
|
unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp);
|
||||||
|
|
||||||
unsigned long dev_pm_opp_get_freq(struct dev_pm_opp *opp);
|
unsigned long dev_pm_opp_get_freq(struct dev_pm_opp *opp);
|
||||||
+struct regulator *dev_pm_opp_get_regulator(struct device *dev);
|
+struct regulator *dev_pm_opp_get_regulator(struct device *dev);
|
||||||
|
|
||||||
bool dev_pm_opp_is_turbo(struct dev_pm_opp *opp);
|
unsigned int dev_pm_opp_get_level(struct dev_pm_opp *opp);
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
|
|
||||||
--- a/drivers/opp/core.c
|
--- a/drivers/opp/core.c
|
||||||
+++ b/drivers/opp/core.c
|
+++ b/drivers/opp/core.c
|
||||||
@@ -1663,6 +1663,7 @@ int dev_pm_opp_adjust_voltage(struct dev
|
@@ -2143,6 +2143,7 @@ int dev_pm_opp_adjust_voltage(struct dev
|
||||||
struct opp_table *opp_table;
|
struct opp_table *opp_table;
|
||||||
struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV);
|
struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV);
|
||||||
int r = 0;
|
int r = 0;
|
||||||
|
@ -25,7 +25,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
|
|
||||||
/* Find the opp_table */
|
/* Find the opp_table */
|
||||||
opp_table = _find_opp_table(dev);
|
opp_table = _find_opp_table(dev);
|
||||||
@@ -1692,8 +1693,17 @@ int dev_pm_opp_adjust_voltage(struct dev
|
@@ -2172,8 +2173,17 @@ int dev_pm_opp_adjust_voltage(struct dev
|
||||||
goto adjust_unlock;
|
goto adjust_unlock;
|
||||||
|
|
||||||
opp->supplies->u_volt = u_volt;
|
opp->supplies->u_volt = u_volt;
|
||||||
|
|
|
@ -31,7 +31,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||||
|
|
||||||
--- a/drivers/regulator/qcom_rpm-regulator.c
|
--- a/drivers/regulator/qcom_rpm-regulator.c
|
||||||
+++ b/drivers/regulator/qcom_rpm-regulator.c
|
+++ b/drivers/regulator/qcom_rpm-regulator.c
|
||||||
@@ -933,12 +933,21 @@ static const struct rpm_regulator_data r
|
@@ -925,12 +925,21 @@ static const struct rpm_regulator_data r
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -25,9 +25,9 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
|
|
||||||
--- a/drivers/cpufreq/cpufreq-dt.c
|
--- a/drivers/cpufreq/cpufreq-dt.c
|
||||||
+++ b/drivers/cpufreq/cpufreq-dt.c
|
+++ b/drivers/cpufreq/cpufreq-dt.c
|
||||||
@@ -32,6 +32,9 @@ struct private_data {
|
@@ -27,6 +27,9 @@ struct private_data {
|
||||||
|
struct opp_table *opp_table;
|
||||||
struct device *cpu_dev;
|
struct device *cpu_dev;
|
||||||
struct thermal_cooling_device *cdev;
|
|
||||||
const char *reg_name;
|
const char *reg_name;
|
||||||
+ struct notifier_block opp_nb;
|
+ struct notifier_block opp_nb;
|
||||||
+ struct mutex lock;
|
+ struct mutex lock;
|
||||||
|
@ -35,7 +35,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
bool have_static_opps;
|
bool have_static_opps;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -47,12 +50,15 @@ static int set_target(struct cpufreq_pol
|
@@ -42,12 +45,15 @@ static int set_target(struct cpufreq_pol
|
||||||
unsigned long freq = policy->freq_table[index].frequency;
|
unsigned long freq = policy->freq_table[index].frequency;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -95,6 +101,39 @@ node_put:
|
@@ -90,6 +96,39 @@ node_put:
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
static int resources_available(void)
|
static int resources_available(void)
|
||||||
{
|
{
|
||||||
struct device *cpu_dev;
|
struct device *cpu_dev;
|
||||||
@@ -251,10 +290,14 @@ static int cpufreq_init(struct cpufreq_p
|
@@ -246,10 +285,14 @@ static int cpufreq_init(struct cpufreq_p
|
||||||
__func__, ret);
|
__func__, ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
}
|
}
|
||||||
|
|
||||||
priv->cpu_dev = cpu_dev;
|
priv->cpu_dev = cpu_dev;
|
||||||
@@ -284,6 +327,8 @@ static int cpufreq_init(struct cpufreq_p
|
@@ -281,6 +324,8 @@ static int cpufreq_init(struct cpufreq_p
|
||||||
|
|
||||||
out_free_cpufreq_table:
|
out_free_cpufreq_table:
|
||||||
dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table);
|
dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table);
|
||||||
|
|
|
@ -10,7 +10,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||||
|
|
||||||
--- a/drivers/cpufreq/cpufreq-dt.c
|
--- a/drivers/cpufreq/cpufreq-dt.c
|
||||||
+++ b/drivers/cpufreq/cpufreq-dt.c
|
+++ b/drivers/cpufreq/cpufreq-dt.c
|
||||||
@@ -173,8 +173,10 @@ static int opp_notifier(struct notifier_
|
@@ -178,8 +178,10 @@ static int opp_notifier(struct notifier_
|
||||||
ret = PTR_ERR(cpu_reg);
|
ret = PTR_ERR(cpu_reg);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,8 +109,7 @@
|
||||||
+ drv_data->cpu_freq_threshold = 1000000000;
|
+ drv_data->cpu_freq_threshold = 1000000000;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ drv_data->apps_fab_clk = devm_clk_get(&pdev->dev, "apps-fab-clk");
|
+ apps_fab_clk = devm_clk_get(&pdev->dev, "apps-fab-clk");
|
||||||
+ apps_fab_clk = drv_data->apps_fab_clk;
|
|
||||||
+ ret = PTR_ERR_OR_ZERO(apps_fab_clk);
|
+ ret = PTR_ERR_OR_ZERO(apps_fab_clk);
|
||||||
+ if (ret) {
|
+ if (ret) {
|
||||||
+ /*
|
+ /*
|
||||||
|
@ -124,11 +123,11 @@
|
||||||
+ goto err;
|
+ goto err;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ clk_set_rate(apps_fab_clk, drv_data->fab_freq_high);
|
|
||||||
+ clk_prepare_enable(apps_fab_clk);
|
+ clk_prepare_enable(apps_fab_clk);
|
||||||
|
+ clk_set_rate(apps_fab_clk, drv_data->fab_freq_high);
|
||||||
|
+ drv_data->apps_fab_clk = apps_fab_clk;
|
||||||
+
|
+
|
||||||
+ drv_data->ddr_fab_clk = devm_clk_get(&pdev->dev, "ddr-fab-clk");
|
+ ddr_fab_clk = devm_clk_get(&pdev->dev, "ddr-fab-clk");
|
||||||
+ ddr_fab_clk = drv_data->ddr_fab_clk;
|
|
||||||
+ ret = PTR_ERR_OR_ZERO(ddr_fab_clk);
|
+ ret = PTR_ERR_OR_ZERO(ddr_fab_clk);
|
||||||
+ if (ret) {
|
+ if (ret) {
|
||||||
+ /*
|
+ /*
|
||||||
|
@ -143,8 +142,9 @@
|
||||||
+ goto err;
|
+ goto err;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ clk_set_rate(ddr_fab_clk, drv_data->fab_freq_high);
|
|
||||||
+ clk_prepare_enable(ddr_fab_clk);
|
+ clk_prepare_enable(ddr_fab_clk);
|
||||||
|
+ clk_set_rate(ddr_fab_clk, drv_data->fab_freq_high);
|
||||||
|
+ drv_data->ddr_fab_clk = ddr_fab_clk;
|
||||||
+
|
+
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+err:
|
+err:
|
||||||
|
@ -219,7 +219,7 @@
|
||||||
+#endif
|
+#endif
|
||||||
--- a/drivers/cpufreq/cpufreq-dt.c
|
--- a/drivers/cpufreq/cpufreq-dt.c
|
||||||
+++ b/drivers/cpufreq/cpufreq-dt.c
|
+++ b/drivers/cpufreq/cpufreq-dt.c
|
||||||
@@ -24,6 +24,7 @@
|
@@ -20,6 +20,7 @@
|
||||||
#include <linux/regulator/consumer.h>
|
#include <linux/regulator/consumer.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/thermal.h>
|
#include <linux/thermal.h>
|
||||||
|
@ -227,7 +227,7 @@
|
||||||
|
|
||||||
#include "cpufreq-dt.h"
|
#include "cpufreq-dt.h"
|
||||||
|
|
||||||
@@ -106,6 +107,13 @@ static int set_target(struct cpufreq_pol
|
@@ -111,6 +112,13 @@ static int set_target(struct cpufreq_pol
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
|
||||||
|
|
||||||
--- a/drivers/cpuidle/Kconfig.arm
|
--- a/drivers/cpuidle/Kconfig.arm
|
||||||
+++ b/drivers/cpuidle/Kconfig.arm
|
+++ b/drivers/cpuidle/Kconfig.arm
|
||||||
@@ -75,3 +75,10 @@ config ARM_MVEBU_V7_CPUIDLE
|
@@ -86,3 +86,10 @@ config ARM_MVEBU_V7_CPUIDLE
|
||||||
depends on ARCH_MVEBU && !ARM64
|
depends on ARCH_MVEBU && !ARM64
|
||||||
help
|
help
|
||||||
Select this to enable cpuidle on Armada 370, 38x and XP processors.
|
Select this to enable cpuidle on Armada 370, 38x and XP processors.
|
||||||
|
|
|
@ -33,7 +33,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
||||||
|
|
||||||
--- a/arch/arm/Kconfig
|
--- a/arch/arm/Kconfig
|
||||||
+++ b/arch/arm/Kconfig
|
+++ b/arch/arm/Kconfig
|
||||||
@@ -331,7 +331,7 @@ config ARCH_MULTIPLATFORM
|
@@ -318,7 +318,7 @@ config ARCH_MULTIPLATFORM
|
||||||
depends on MMU
|
depends on MMU
|
||||||
select ARM_HAS_SG_CHAIN
|
select ARM_HAS_SG_CHAIN
|
||||||
select ARM_PATCH_PHYS_VIRT
|
select ARM_PATCH_PHYS_VIRT
|
||||||
|
@ -44,7 +44,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
||||||
select GENERIC_CLOCKEVENTS
|
select GENERIC_CLOCKEVENTS
|
||||||
--- a/arch/arm/Makefile
|
--- a/arch/arm/Makefile
|
||||||
+++ b/arch/arm/Makefile
|
+++ b/arch/arm/Makefile
|
||||||
@@ -255,9 +255,11 @@ MACHINE := arch/arm/mach-$(word 1,$(mac
|
@@ -258,9 +258,11 @@ MACHINE := arch/arm/mach-$(word 1,$(mac
|
||||||
else
|
else
|
||||||
MACHINE :=
|
MACHINE :=
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -5,11 +5,11 @@ Subject: [PATCH 61/69] mtd: "rootfs" conflicts with OpenWrt auto mounting
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
---
|
---
|
||||||
drivers/mtd/qcom_smem_part.c | 4 ++++
|
drivers/mtd/parsers/qcom_smem_part.c | 4 ++++
|
||||||
1 file changed, 4 insertions(+)
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
--- a/drivers/mtd/qcom_smem_part.c
|
--- a/drivers/mtd/parsers/qcom_smem_part.c
|
||||||
+++ b/drivers/mtd/qcom_smem_part.c
|
+++ b/drivers/mtd/parsers/qcom_smem_part.c
|
||||||
@@ -189,6 +189,10 @@ static int parse_qcom_smem_partitions(st
|
@@ -189,6 +189,10 @@ static int parse_qcom_smem_partitions(st
|
||||||
m_part->size = le32_to_cpu(s_part->size) * (*smem_blksz);
|
m_part->size = le32_to_cpu(s_part->size) * (*smem_blksz);
|
||||||
m_part->offset = le32_to_cpu(s_part->start) * (*smem_blksz);
|
m_part->offset = le32_to_cpu(s_part->start) * (*smem_blksz);
|
||||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
|
||||||
|
|
||||||
--- a/drivers/clk/qcom/gcc-ipq806x.c
|
--- a/drivers/clk/qcom/gcc-ipq806x.c
|
||||||
+++ b/drivers/clk/qcom/gcc-ipq806x.c
|
+++ b/drivers/clk/qcom/gcc-ipq806x.c
|
||||||
@@ -1233,6 +1233,8 @@ static struct clk_rcg prng_src = {
|
@@ -1225,6 +1225,8 @@ static struct clk_rcg prng_src = {
|
||||||
.parent_map = gcc_pxo_pll8_map,
|
.parent_map = gcc_pxo_pll8_map,
|
||||||
},
|
},
|
||||||
.clkr = {
|
.clkr = {
|
||||||
|
|
|
@ -17,12 +17,12 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
"qcom,rpmcc-apq8064", "qcom,rpmcc"
|
"qcom,rpmcc-apq8064", "qcom,rpmcc"
|
||||||
"qcom,rpmcc-msm8996", "qcom,rpmcc"
|
"qcom,rpmcc-msm8996", "qcom,rpmcc"
|
||||||
+ "qcom,rpmcc-ipq806x", "qcom,rpmcc"
|
+ "qcom,rpmcc-ipq806x", "qcom,rpmcc"
|
||||||
|
"qcom,rpmcc-msm8998", "qcom,rpmcc"
|
||||||
- #clock-cells : shall contain 1
|
"qcom,rpmcc-qcs404", "qcom,rpmcc"
|
||||||
|
|
||||||
--- a/include/dt-bindings/clock/qcom,rpmcc.h
|
--- a/include/dt-bindings/clock/qcom,rpmcc.h
|
||||||
+++ b/include/dt-bindings/clock/qcom,rpmcc.h
|
+++ b/include/dt-bindings/clock/qcom,rpmcc.h
|
||||||
@@ -45,6 +45,10 @@
|
@@ -37,6 +37,10 @@
|
||||||
#define RPM_XO_A0 27
|
#define RPM_XO_A0 27
|
||||||
#define RPM_XO_A1 28
|
#define RPM_XO_A1 28
|
||||||
#define RPM_XO_A2 29
|
#define RPM_XO_A2 29
|
||||||
|
@ -35,7 +35,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
#define RPM_SMD_XO_CLK_SRC 0
|
#define RPM_SMD_XO_CLK_SRC 0
|
||||||
--- a/drivers/clk/qcom/clk-rpm.c
|
--- a/drivers/clk/qcom/clk-rpm.c
|
||||||
+++ b/drivers/clk/qcom/clk-rpm.c
|
+++ b/drivers/clk/qcom/clk-rpm.c
|
||||||
@@ -520,6 +520,16 @@ DEFINE_CLK_RPM_XO_BUFFER(apq8064, xo_a0_
|
@@ -512,6 +512,16 @@ DEFINE_CLK_RPM_XO_BUFFER(apq8064, xo_a0_
|
||||||
DEFINE_CLK_RPM_XO_BUFFER(apq8064, xo_a1_clk, xo_a1_a_clk, 24);
|
DEFINE_CLK_RPM_XO_BUFFER(apq8064, xo_a1_clk, xo_a1_a_clk, 24);
|
||||||
DEFINE_CLK_RPM_XO_BUFFER(apq8064, xo_a2_clk, xo_a2_a_clk, 28);
|
DEFINE_CLK_RPM_XO_BUFFER(apq8064, xo_a2_clk, xo_a2_a_clk, 28);
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
static struct clk_rpm *apq8064_clks[] = {
|
static struct clk_rpm *apq8064_clks[] = {
|
||||||
[RPM_APPS_FABRIC_CLK] = &apq8064_afab_clk,
|
[RPM_APPS_FABRIC_CLK] = &apq8064_afab_clk,
|
||||||
[RPM_APPS_FABRIC_A_CLK] = &apq8064_afab_a_clk,
|
[RPM_APPS_FABRIC_A_CLK] = &apq8064_afab_a_clk,
|
||||||
@@ -546,15 +556,40 @@ static struct clk_rpm *apq8064_clks[] =
|
@@ -538,15 +548,40 @@ static struct clk_rpm *apq8064_clks[] =
|
||||||
[RPM_XO_A2] = &apq8064_xo_a2_clk,
|
[RPM_XO_A2] = &apq8064_xo_a2_clk,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
|
||||||
--- a/arch/arm/Makefile
|
--- a/arch/arm/Makefile
|
||||||
+++ b/arch/arm/Makefile
|
+++ b/arch/arm/Makefile
|
||||||
@@ -64,7 +64,7 @@ KBUILD_CFLAGS += $(call cc-option,-fno-i
|
@@ -67,7 +67,7 @@ KBUILD_CFLAGS += $(call cc-option,-fno-i
|
||||||
# macro, but instead defines a whole series of macros which makes
|
# macro, but instead defines a whole series of macros which makes
|
||||||
# testing for a specific architecture or later rather impossible.
|
# testing for a specific architecture or later rather impossible.
|
||||||
arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
|
arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
|
||||||
|
|
|
@ -22,7 +22,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||||
|
|
||||||
--- a/arch/arm/Kconfig
|
--- a/arch/arm/Kconfig
|
||||||
+++ b/arch/arm/Kconfig
|
+++ b/arch/arm/Kconfig
|
||||||
@@ -1926,6 +1926,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
|
@@ -1825,6 +1825,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
|
||||||
The command-line arguments provided by the boot loader will be
|
The command-line arguments provided by the boot loader will be
|
||||||
appended to the the device tree bootargs property.
|
appended to the the device tree bootargs property.
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||||
}
|
}
|
||||||
*ptr = '\0';
|
*ptr = '\0';
|
||||||
|
|
||||||
@@ -148,7 +212,9 @@ int atags_to_fdt(void *atag_list, void *
|
@@ -166,7 +230,9 @@ int atags_to_fdt(void *atag_list, void *
|
||||||
else
|
else
|
||||||
setprop_string(fdt, "/chosen", "bootargs",
|
setprop_string(fdt, "/chosen", "bootargs",
|
||||||
atag->u.cmdline.cmdline);
|
atag->u.cmdline.cmdline);
|
||||||
|
@ -144,7 +144,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||||
if (memcount >= sizeof(mem_reg_property)/4)
|
if (memcount >= sizeof(mem_reg_property)/4)
|
||||||
continue;
|
continue;
|
||||||
if (!atag->u.mem.size)
|
if (!atag->u.mem.size)
|
||||||
@@ -187,6 +253,10 @@ int atags_to_fdt(void *atag_list, void *
|
@@ -210,6 +276,10 @@ int atags_to_fdt(void *atag_list, void *
|
||||||
setprop(fdt, "/memory", "reg", mem_reg_property,
|
setprop(fdt, "/memory", "reg", mem_reg_property,
|
||||||
4 * memcount * memsize);
|
4 * memcount * memsize);
|
||||||
}
|
}
|
||||||
|
@ -157,7 +157,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||||
}
|
}
|
||||||
--- a/init/main.c
|
--- a/init/main.c
|
||||||
+++ b/init/main.c
|
+++ b/init/main.c
|
||||||
@@ -102,6 +102,10 @@
|
@@ -103,6 +103,10 @@
|
||||||
#define CREATE_TRACE_POINTS
|
#define CREATE_TRACE_POINTS
|
||||||
#include <trace/events/initcall.h>
|
#include <trace/events/initcall.h>
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||||
static int kernel_init(void *);
|
static int kernel_init(void *);
|
||||||
|
|
||||||
extern void init_IRQ(void);
|
extern void init_IRQ(void);
|
||||||
@@ -593,6 +597,18 @@ asmlinkage __visible void __init start_k
|
@@ -632,6 +636,18 @@ asmlinkage __visible void __init start_k
|
||||||
pr_notice("Kernel command line: %s\n", boot_command_line);
|
pr_notice("Kernel command line: %s\n", boot_command_line);
|
||||||
/* parameters may set static keys */
|
/* parameters may set static keys */
|
||||||
jump_label_init();
|
jump_label_init();
|
||||||
|
|
|
@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -791,6 +791,18 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
@@ -843,6 +843,18 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||||
qcom-ipq4019-ap.dk07.1-c1.dtb \
|
qcom-ipq4019-ap.dk07.1-c1.dtb \
|
||||||
qcom-ipq4019-ap.dk07.1-c2.dtb \
|
qcom-ipq4019-ap.dk07.1-c2.dtb \
|
||||||
qcom-ipq8064-ap148.dtb \
|
qcom-ipq8064-ap148.dtb \
|
||||||
|
|
|
@ -4,9 +4,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
--- a/drivers/soc/qcom/spm.c
|
--- a/drivers/soc/qcom/spm.c
|
||||||
+++ b/drivers/soc/qcom/spm.c
|
+++ b/drivers/soc/qcom/spm.c
|
||||||
@@ -219,6 +219,9 @@ static int __init qcom_cpuidle_init(stru
|
@@ -214,6 +214,9 @@ static int __init qcom_cpuidle_init(stru
|
||||||
cpumask_t mask;
|
if (!qcom_scm_is_available())
|
||||||
bool use_scm_power_down = false;
|
return -EPROBE_DEFER;
|
||||||
|
|
||||||
+ if (!qcom_scm_is_available())
|
+ if (!qcom_scm_is_available())
|
||||||
+ return -EPROBE_DEFER;
|
+ return -EPROBE_DEFER;
|
||||||
|
|
|
@ -38,7 +38,7 @@ Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
|
||||||
|
|
||||||
|
|
||||||
/* Set the Max TLP size to 2K, instead of using default of 4K */
|
/* Set the Max TLP size to 2K, instead of using default of 4K */
|
||||||
@@ -1367,6 +1375,8 @@ static int qcom_pcie_probe(struct platfo
|
@@ -1340,6 +1348,8 @@ static int qcom_pcie_probe(struct platfo
|
||||||
struct dw_pcie *pci;
|
struct dw_pcie *pci;
|
||||||
struct qcom_pcie *pcie;
|
struct qcom_pcie *pcie;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -47,7 +47,7 @@ Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
|
||||||
|
|
||||||
pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
|
pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
|
||||||
if (!pcie)
|
if (!pcie)
|
||||||
@@ -1397,6 +1407,9 @@ static int qcom_pcie_probe(struct platfo
|
@@ -1370,6 +1380,9 @@ static int qcom_pcie_probe(struct platfo
|
||||||
goto err_pm_runtime_put;
|
goto err_pm_runtime_put;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ Signed-off-by: Gokul Sriram Palanisamy <gpalan@codeaurora.org>
|
||||||
#define QCOM_PCIE_2_1_0_MAX_SUPPLY 3
|
#define QCOM_PCIE_2_1_0_MAX_SUPPLY 3
|
||||||
struct qcom_pcie_resources_2_1_0 {
|
struct qcom_pcie_resources_2_1_0 {
|
||||||
struct clk *iface_clk;
|
struct clk *iface_clk;
|
||||||
@@ -1475,6 +1483,35 @@ err_pm_runtime_put:
|
@@ -1448,6 +1456,35 @@ err_pm_runtime_put:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
--- a/drivers/firmware/qcom_scm.c
|
--- a/drivers/firmware/qcom_scm.c
|
||||||
+++ b/drivers/firmware/qcom_scm.c
|
+++ b/drivers/firmware/qcom_scm.c
|
||||||
@@ -609,6 +609,9 @@ static const struct of_device_id qcom_sc
|
@@ -601,6 +601,7 @@ static const struct of_device_id qcom_sc
|
||||||
{ .compatible = "qcom,scm-ipq4019",
|
SCM_HAS_BUS_CLK)
|
||||||
.data = NULL, /* no clocks */
|
|
||||||
},
|
},
|
||||||
+ { .compatible = "qcom,scm-ipq806x",
|
{ .compatible = "qcom,scm-ipq4019" },
|
||||||
+ .data = NULL, /* no clocks */
|
+ { .compatible = "qcom,scm-ipq806x" },
|
||||||
+ },
|
{ .compatible = "qcom,scm-msm8660", .data = (void *) SCM_HAS_CORE_CLK },
|
||||||
{ .compatible = "qcom,scm",
|
{ .compatible = "qcom,scm-msm8960", .data = (void *) SCM_HAS_CORE_CLK },
|
||||||
.data = (void *)(SCM_HAS_CORE_CLK
|
{ .compatible = "qcom,scm-msm8916", .data = (void *)(SCM_HAS_CORE_CLK |
|
||||||
| SCM_HAS_IFACE_CLK
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Ajay Kishore <akisho@codeaurora.org>
|
||||||
|
|
||||||
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
|
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
|
||||||
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
|
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
|
||||||
@@ -30,7 +30,8 @@
|
@@ -22,7 +22,8 @@
|
||||||
#include <linux/reboot.h>
|
#include <linux/reboot.h>
|
||||||
#include <linux/pm.h>
|
#include <linux/pm.h>
|
||||||
#include <linux/log2.h>
|
#include <linux/log2.h>
|
||||||
|
@ -24,7 +24,7 @@ Signed-off-by: Ajay Kishore <akisho@codeaurora.org>
|
||||||
#include "../core.h"
|
#include "../core.h"
|
||||||
#include "../pinconf.h"
|
#include "../pinconf.h"
|
||||||
#include "pinctrl-msm.h"
|
#include "pinctrl-msm.h"
|
||||||
@@ -628,6 +629,9 @@ static void msm_gpio_irq_mask(struct irq
|
@@ -706,6 +707,9 @@ static void msm_gpio_irq_mask(struct irq
|
||||||
const struct msm_pingroup *g;
|
const struct msm_pingroup *g;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
u32 val;
|
u32 val;
|
||||||
|
@ -34,22 +34,30 @@ Signed-off-by: Ajay Kishore <akisho@codeaurora.org>
|
||||||
|
|
||||||
g = &pctrl->soc->groups[d->hwirq];
|
g = &pctrl->soc->groups[d->hwirq];
|
||||||
|
|
||||||
@@ -732,11 +736,30 @@ static int msm_gpio_irq_set_type(struct
|
@@ -819,6 +823,7 @@ static int msm_gpio_irq_set_type(struct
|
||||||
|
const struct msm_pingroup *g;
|
||||||
|
unsigned long flags;
|
||||||
|
u32 val;
|
||||||
|
+ int ret;
|
||||||
|
|
||||||
|
g = &pctrl->soc->groups[d->hwirq];
|
||||||
|
|
||||||
|
@@ -832,11 +837,30 @@ static int msm_gpio_irq_set_type(struct
|
||||||
else
|
else
|
||||||
clear_bit(d->hwirq, pctrl->dual_edge_irqs);
|
clear_bit(d->hwirq, pctrl->dual_edge_irqs);
|
||||||
|
|
||||||
+ int ret = of_device_is_compatible(pctrl->dev->of_node,
|
+ ret = of_device_is_compatible(pctrl->dev->of_node,
|
||||||
+ "qcom,ipq8064-pinctrl");
|
+ "qcom,ipq8064-pinctrl");
|
||||||
/* Route interrupts to application cpu */
|
/* Route interrupts to application cpu */
|
||||||
- val = readl(pctrl->regs + g->intr_target_reg);
|
- val = msm_readl_intr_target(pctrl, g);
|
||||||
- val &= ~(7 << g->intr_target_bit);
|
- val &= ~(7 << g->intr_target_bit);
|
||||||
- val |= g->intr_target_kpss_val << g->intr_target_bit;
|
- val |= g->intr_target_kpss_val << g->intr_target_bit;
|
||||||
- writel(val, pctrl->regs + g->intr_target_reg);
|
- msm_writel_intr_target(val, pctrl, g);
|
||||||
+ if (!ret) {
|
+ if (!ret) {
|
||||||
+ val = readl(pctrl->regs + g->intr_target_reg);
|
+ val = msm_readl_intr_target(pctrl, g);
|
||||||
+ val &= ~(7 << g->intr_target_bit);
|
+ val &= ~(7 << g->intr_target_bit);
|
||||||
+ val |= g->intr_target_kpss_val << g->intr_target_bit;
|
+ val |= g->intr_target_kpss_val << g->intr_target_bit;
|
||||||
+ writel(val, pctrl->regs + g->intr_target_reg);
|
+ msm_writel_intr_target(val, pctrl, g);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ const __be32 *reg = of_get_property(pctrl->dev->of_node, "reg", NULL);
|
+ const __be32 *reg = of_get_property(pctrl->dev->of_node, "reg", NULL);
|
||||||
+ if (reg) {
|
+ if (reg) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
|
||||||
|
|
||||||
--- a/drivers/pinctrl/qcom/pinctrl-ipq8064.c
|
--- a/drivers/pinctrl/qcom/pinctrl-ipq8064.c
|
||||||
+++ b/drivers/pinctrl/qcom/pinctrl-ipq8064.c
|
+++ b/drivers/pinctrl/qcom/pinctrl-ipq8064.c
|
||||||
@@ -308,7 +308,7 @@ static const char * const gpio_groups[]
|
@@ -299,7 +299,7 @@ static const char * const gpio_groups[]
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const mdio_groups[] = {
|
static const char * const mdio_groups[] = {
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const mi2s_groups[] = {
|
static const char * const mi2s_groups[] = {
|
||||||
@@ -412,8 +412,8 @@ static const char * const usb2_hsic_grou
|
@@ -403,8 +403,8 @@ static const char * const usb2_hsic_grou
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const rgmii2_groups[] = {
|
static const char * const rgmii2_groups[] = {
|
||||||
|
@ -30,7 +30,7 @@ Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const sata_groups[] = {
|
static const char * const sata_groups[] = {
|
||||||
@@ -548,7 +548,7 @@ static const struct msm_function ipq8064
|
@@ -539,7 +539,7 @@ static const struct msm_function ipq8064
|
||||||
static const struct msm_pingroup ipq8064_groups[] = {
|
static const struct msm_pingroup ipq8064_groups[] = {
|
||||||
PINGROUP(0, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
PINGROUP(0, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||||
PINGROUP(1, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
PINGROUP(1, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||||
|
@ -39,7 +39,7 @@ Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
|
||||||
PINGROUP(3, pcie1_rst, pcie1_prsnt, pdm, NA, NA, NA, NA, NA, NA, NA),
|
PINGROUP(3, pcie1_rst, pcie1_prsnt, pdm, NA, NA, NA, NA, NA, NA, NA),
|
||||||
PINGROUP(4, pcie1_pwren_n, pcie1_pwren, NA, NA, NA, NA, NA, NA, NA, NA),
|
PINGROUP(4, pcie1_pwren_n, pcie1_pwren, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||||
PINGROUP(5, pcie1_clk_req, pcie1_pwrflt, NA, NA, NA, NA, NA, NA, NA, NA),
|
PINGROUP(5, pcie1_clk_req, pcie1_pwrflt, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||||
@@ -612,7 +612,7 @@ static const struct msm_pingroup ipq8064
|
@@ -603,7 +603,7 @@ static const struct msm_pingroup ipq8064
|
||||||
PINGROUP(63, pcie3_rst, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
PINGROUP(63, pcie3_rst, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||||
PINGROUP(64, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
PINGROUP(64, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||||
PINGROUP(65, pcie3_clk_req, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
PINGROUP(65, pcie3_clk_req, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||||
|
|
|
@ -60,7 +60,7 @@ will be executed twice with the same parameters for the same pinctrl.
|
||||||
|
|
||||||
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||||
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||||
@@ -668,6 +668,7 @@
|
@@ -671,6 +671,7 @@
|
||||||
reg = <0x800000 0x4000>;
|
reg = <0x800000 0x4000>;
|
||||||
|
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
|
|
|
@ -2,9 +2,9 @@ From: Christian Lamparter <chunkeey@googlemail.com>
|
||||||
Subject: SoC: add qualcomm syscon
|
Subject: SoC: add qualcomm syscon
|
||||||
--- a/drivers/soc/qcom/Makefile
|
--- a/drivers/soc/qcom/Makefile
|
||||||
+++ b/drivers/soc/qcom/Makefile
|
+++ b/drivers/soc/qcom/Makefile
|
||||||
@@ -18,6 +18,7 @@ obj-$(CONFIG_QCOM_SMEM_STATE) += smem_st
|
@@ -20,6 +20,7 @@ obj-$(CONFIG_QCOM_SMP2P) += smp2p.o
|
||||||
obj-$(CONFIG_QCOM_SMP2P) += smp2p.o
|
|
||||||
obj-$(CONFIG_QCOM_SMSM) += smsm.o
|
obj-$(CONFIG_QCOM_SMSM) += smsm.o
|
||||||
|
obj-$(CONFIG_QCOM_SOCINFO) += socinfo.o
|
||||||
obj-$(CONFIG_QCOM_WCNSS_CTRL) += wcnss_ctrl.o
|
obj-$(CONFIG_QCOM_WCNSS_CTRL) += wcnss_ctrl.o
|
||||||
+obj-$(CONFIG_QCOM_TCSR) += qcom_tcsr.o
|
+obj-$(CONFIG_QCOM_TCSR) += qcom_tcsr.o
|
||||||
obj-$(CONFIG_QCOM_APR) += apr.o
|
obj-$(CONFIG_QCOM_APR) += apr.o
|
||||||
|
@ -12,9 +12,9 @@ Subject: SoC: add qualcomm syscon
|
||||||
obj-$(CONFIG_QCOM_SDM845_LLCC) += llcc-sdm845.o
|
obj-$(CONFIG_QCOM_SDM845_LLCC) += llcc-sdm845.o
|
||||||
--- a/drivers/soc/qcom/Kconfig
|
--- a/drivers/soc/qcom/Kconfig
|
||||||
+++ b/drivers/soc/qcom/Kconfig
|
+++ b/drivers/soc/qcom/Kconfig
|
||||||
@@ -146,6 +146,13 @@ config QCOM_SMSM
|
@@ -183,6 +183,13 @@ config QCOM_SOCINFO
|
||||||
Say yes here to support the Qualcomm Shared Memory State Machine.
|
Say yes here to support the Qualcomm socinfo driver, providing
|
||||||
The state machine is represented by bits in shared memory.
|
information about the SoC to user space.
|
||||||
|
|
||||||
+config QCOM_TCSR
|
+config QCOM_TCSR
|
||||||
+ tristate "QCOM Top Control and Status Registers"
|
+ tristate "QCOM Top Control and Status Registers"
|
||||||
|
@ -25,7 +25,7 @@ Subject: SoC: add qualcomm syscon
|
||||||
+
|
+
|
||||||
config QCOM_WCNSS_CTRL
|
config QCOM_WCNSS_CTRL
|
||||||
tristate "Qualcomm WCNSS control driver"
|
tristate "Qualcomm WCNSS control driver"
|
||||||
depends on ARCH_QCOM
|
depends on ARCH_QCOM || COMPILE_TEST
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/soc/qcom/qcom_tcsr.c
|
+++ b/drivers/soc/qcom/qcom_tcsr.c
|
||||||
@@ -0,0 +1,64 @@
|
@@ -0,0 +1,64 @@
|
||||||
|
|
Loading…
Reference in a new issue