Add support for PDC Global on SDM845 SoCs
Subsystems (4)
v3 cover Add support for PDC Global on SDM845 SoCs
This patch series add support for PDC Global (Power Domain Controller) on SDM845 SoCs and adds pdc reset lines assert/deassert to remoteproc Q6v5 modem-pil. The first two patches adds PDC Global reset driver to control reset signals of Modem, Compute, Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS. The last four patches (cleans up)/adds pdc reset lines to q6v5 bindings and asserts/deasserts in modem start/stop path.
V3:
refactored pdc reset driver to remove unused layer of indirection as suggested by Matthias
Other minor fixes suggested by Matthias/Bjorn
V2:
Incorporated Philipp/Bjorn/Rob suggestions Renamed reset binding to pdc-global.txt replaced offset with #define of register name replaced with devm_reset_control_get_exclusive() Separted dt binding from the drivers
Sibi Sankar (6):
dt-bindings: reset: Add PDC Global binding for SDM845 SoCs
reset: qcom: PDC Global (Power Domain Controller) reset controller
dt-bindings: remoteproc: qcom: Remove additional definition tag
dt-bindings: remoteproc: Add PDC reset binding for Q6V5 PIL
remoteproc: qcom: q6v5-pil: Explicitly get mss_restart line
remoteproc: qcom: q6v5-pil: Add PDC reset for modem on SDM845 SoCs
.../bindings/remoteproc/qcom,q6v5.txt | 8 +- .../bindings/reset/qcom,pdc-global.txt | 52 ++++++++ drivers/remoteproc/qcom_q6v5_pil.c | 31 ++++- drivers/reset/Kconfig | 9 ++ drivers/reset/Makefile | 1 + drivers/reset/reset-qcom-pdc.c | 124 ++++++++++++++++++ include/dt-bindings/reset/qcom,sdm845-pdc.h | 20 +++ 7 files changed, 237 insertions(+), 8 deletions(-) create mode 100644 Documentation/devicetree/bindings/reset/qcom,pdc-global.txt create mode 100644 drivers/reset/reset-qcom-pdc.c create mode 100644 include/dt-bindings/reset/qcom,sdm845-pdc.h
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH v3 1/6 dt-bindings: reset: Add PDC Global binding for SDM845 SoCs
Add PDC Global (Power Domain Controller) binding for SDM845 SoCs.
--- .../bindings/reset/qcom,pdc-global.txt | 52 +++++++++++++++++++ include/dt-bindings/reset/qcom,sdm845-pdc.h | 20 +++++++ 2 files changed, 72 insertions(+) create mode 100644 Documentation/devicetree/bindings/reset/qcom,pdc-global.txt create mode 100644 include/dt-bindings/reset/qcom,sdm845-pdc.h
Documentation/devicetree/bindings/reset/qcom,pdc-global.txt new file +52 -0
@@ -0,0 +1,52 @@ +PDC Global +====================================== + +This binding describes a reset-controller found on PDC-Global (Power Domain +Controller) block for Qualcomm Technologies Inc SDM845 SoCs. + +Required properties: +- compatible: + Usage: required + Value type: <string> + Definition: must be: + "qcom,sdm845-pdc-global" + +- reg: + Usage: required + Value type: <prop-encoded-array> + Definition: must specify the base address and size of the register + space. + +- #reset-cells: + Usage: required + Value type: <uint> + Definition: must be 1; cell entry represents the reset index. + +Example: + +pdc_reset: reset-controller@b2e0000 { + compatible = "qcom,sdm845-pdc-global"; + reg = <0xb2e0000 0x20000>; + #reset-cells = <1>; +}; + +PDC reset clients +====================================== + +Device nodes that need access to reset lines should +specify them as a reset phandle in their corresponding node as +specified in reset.txt. + +For a list of all valid reset indices see +<dt-bindings/reset/qcom,sdm845-pdc.h> + +Example: + +modem-pil@4080000 { + ... + + resets = <&pdc_reset PDC_MODEM_SYNC_RESET>; + reset-names = "pdc_reset"; + + ... +};
include/dt-bindings/reset/qcom,sdm845-pdc.h new file +20 -0
@@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* +* Copyright (C) 2018 The Linux Foundation. All rights reserved. +*/ + +#ifndef _DT_BINDINGS_RESET_PDC_SDM_845_H +#define _DT_BINDINGS_RESET_PDC_SDM_845_H + +#define PDC_APPS_SYNC_RESET 0 +#define PDC_SP_SYNC_RESET 1 +#define PDC_AUDIO_SYNC_RESET 2 +#define PDC_SENSORS_SYNC_RESET 3 +#define PDC_AOP_SYNC_RESET 4 +#define PDC_DEBUG_SYNC_RESET 5 +#define PDC_GPU_SYNC_RESET 6 +#define PDC_DISPLAY_SYNC_RESET 7 +#define PDC_COMPUTE_SYNC_RESET 8 +#define PDC_MODEM_SYNC_RESET 9 + +#endif
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH v3 2/6 reset: qcom: PDC Global (Power Domain Controller) reset controller
In reply to Sibi SankarAdd reset controller for SDM845 SoCs to control reset signals provided by PDC Global for Modem, Compute, Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS
--- drivers/reset/Kconfig | 9 +++ drivers/reset/Makefile | 1 + drivers/reset/reset-qcom-pdc.c | 124 +++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 drivers/reset/reset-qcom-pdc.c
drivers/reset/Kconfig +9 -0
@@ -98,6 +98,15 @@ config RESET_QCOM_AOSS reset signals provided by AOSS for Modem, Venus, ADSP, GPU, Camera, Wireless, Display subsystem. Otherwise, say N. +config RESET_QCOM_PDC + tristate "Qualcomm PDC Reset Driver" + depends on ARCH_QCOM || COMPILE_TEST + help + This enables the PDC (Power Domain Controller) reset driver + for Qualcomm Technologies Inc SDM845 SoCs. Say Y if you want + to control reset signals provided by PDC for Modem, Compute, + Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS. + config RESET_SIMPLE bool "Simple Reset Controller Driver" if COMPILE_TEST default ARCH_SOCFPGA || ARCH_STM32 || ARCH_STRATIX10 || ARCH_SUNXI || ARCH_ZX || ARCH_ASPEED
drivers/reset/Makefile +1 -0
@@ -16,6 +16,7 @@ obj-$(CONFIG_RESET_MESON_AUDIO_ARB) += reset-meson-audio-arb.o obj-$(CONFIG_RESET_OXNAS) += reset-oxnas.o obj-$(CONFIG_RESET_PISTACHIO) += reset-pistachio.o obj-$(CONFIG_RESET_QCOM_AOSS) += reset-qcom-aoss.o +obj-$(CONFIG_RESET_QCOM_PDC) += reset-qcom-pdc.o obj-$(CONFIG_RESET_SIMPLE) += reset-simple.o obj-$(CONFIG_RESET_STM32MP157) += reset-stm32mp1.o obj-$(CONFIG_RESET_SUNXI) += reset-sunxi.o
drivers/reset/reset-qcom-pdc.c new file +124 -0
124 lines not on this page · raw message
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Re: [PATCH v3 2/6] reset: qcom: PDC Global (Power Domain Controller) reset controller
Quoted 5 lines · Sibi Sankar
Add reset controller for SDM845 SoCs to control reset signals provided by PDC Global for Modem, Compute, Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS
Signed-off-by Sibi Sankar <[email protected]>
Regards,
Bjorn
Quoted 173 lines
--- drivers/reset/Kconfig | 9 +++ drivers/reset/Makefile | 1 + drivers/reset/reset-qcom-pdc.c | 124 +++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 drivers/reset/reset-qcom-pdc.cdrivers/reset/Kconfig +9
-0@@ -98,6 +98,15 @@ config RESET_QCOM_AOSS reset signals provided by AOSS for Modem, Venus, ADSP, GPU, Camera, Wireless, Display subsystem. Otherwise, say N. +config RESET_QCOM_PDC + tristate "Qualcomm PDC Reset Driver" + depends on ARCH_QCOM || COMPILE_TEST + help + This enables the PDC (Power Domain Controller) reset driver + for Qualcomm Technologies Inc SDM845 SoCs. Say Y if you want + to control reset signals provided by PDC for Modem, Compute, + Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS. + config RESET_SIMPLE bool "Simple Reset Controller Driver" if COMPILE_TEST default ARCH_SOCFPGA || ARCH_STM32 || ARCH_STRATIX10 || ARCH_SUNXI || ARCH_ZX || ARCH_ASPEEDdrivers/reset/Makefile +1
-0@@ -16,6 +16,7 @@ obj-$(CONFIG_RESET_MESON_AUDIO_ARB) += reset-meson-audio-arb.o obj-$(CONFIG_RESET_OXNAS) += reset-oxnas.o obj-$(CONFIG_RESET_PISTACHIO) += reset-pistachio.o obj-$(CONFIG_RESET_QCOM_AOSS) += reset-qcom-aoss.o +obj-$(CONFIG_RESET_QCOM_PDC) += reset-qcom-pdc.o obj-$(CONFIG_RESET_SIMPLE) += reset-simple.o obj-$(CONFIG_RESET_STM32MP157) += reset-stm32mp1.o obj-$(CONFIG_RESET_SUNXI) += reset-sunxi.odrivers/reset/reset-qcom-pdc.c new file +124
-0@@ -0,0 +1,124 @@ +// SPDX-License-Identifier: GPL-2.0 +/* +* Copyright (C) 2018 The Linux Foundation. All rights reserved. +*/ + +#include <linux/module.h> +#include <linux/of_device.h> +#include <linux/platform_device.h> +#include <linux/regmap.h> +#include <linux/reset-controller.h> + +#include <dt-bindings/reset/qcom,sdm845-pdc.h> + +#define RPMH_PDC_SYNC_RESET 0x100 + +struct qcom_pdc_reset_map { +u8 bit; +}; + +struct qcom_pdc_reset_data { +struct reset_controller_dev rcdev; +struct regmap *regmap; +}; + +static const struct regmap_config sdm845_pdc_regmap_config = { + .name ="pdc-reset" , + .reg_bits =32 , + .reg_stride =4 , + .val_bits =32 , + .max_register =0x20000 , + .fast_io = true, +}; + +static const struct qcom_pdc_reset_map sdm845_pdc_resets[] = { + [PDC_APPS_SYNC_RESET ] = {0 }, + [PDC_SP_SYNC_RESET ] = {1 }, + [PDC_AUDIO_SYNC_RESET ] = {2 }, + [PDC_SENSORS_SYNC_RESET ] = {3 }, + [PDC_AOP_SYNC_RESET ] = {4 }, + [PDC_DEBUG_SYNC_RESET ] = {5 }, + [PDC_GPU_SYNC_RESET ] = {6 }, + [PDC_DISPLAY_SYNC_RESET ] = {7 }, + [PDC_COMPUTE_SYNC_RESET ] = {8 }, + [PDC_MODEM_SYNC_RESET ] = {9 }, +}; + +static inline struct qcom_pdc_reset_data *to_qcom_pdc_reset_data ( +struct reset_controller_dev *rcdev) +{ + return container_of(rcdev, struct qcom_pdc_reset_data, rcdev); +} + +static int qcom_pdc_control_assert (struct reset_controller_dev *rcdev, +unsigned long idx) +{ +struct qcom_pdc_reset_data *data =to_qcom_pdc_reset_data (rcdev); + +return regmap_update_bits (data->regmap,RPMH_PDC_SYNC_RESET , +BIT (sdm845_pdc_resets[idx].bit), +BIT (sdm845_pdc_resets[idx].bit)); +} + +static int qcom_pdc_control_deassert (struct reset_controller_dev *rcdev, +unsigned long idx) +{ +struct qcom_pdc_reset_data *data =to_qcom_pdc_reset_data (rcdev); + +return regmap_update_bits (data->regmap,RPMH_PDC_SYNC_RESET , +BIT (sdm845_pdc_resets[idx].bit),0 ); +} + +static const struct reset_control_ops qcom_pdc_reset_ops = { + .assert = qcom_pdc_control_assert, + .deassert = qcom_pdc_control_deassert, +}; + +static int qcom_pdc_reset_probe (struct platform_device *pdev) +{ +struct qcom_pdc_reset_data *data; +struct device *dev = &pdev->dev; +void __iomem *base; +struct resource *res; + + data =devm_kzalloc (dev,sizeof (*data),GFP_KERNEL ); +if (!data) +return -ENOMEM ; + + res =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); + base =devm_ioremap_resource (dev, res); +if (IS_ERR (base)) +return PTR_ERR (base); + + data->regmap =devm_regmap_init_mmio (dev, base, + &sdm845_pdc_regmap_config); +if (IS_ERR (data->regmap)) { +dev_err (dev,"Unable to initialize regmap\n" ); +return PTR_ERR (data->regmap); + } + + data->rcdev.owner =THIS_MODULE ; + data->rcdev.ops = &qcom_pdc_reset_ops; + data->rcdev.nr_resets =ARRAY_SIZE (sdm845_pdc_resets); + data->rcdev.of_node = dev->of_node; + +return devm_reset_controller_register (dev, &data->rcdev); +} + +static const struct of_device_id qcom_pdc_reset_of_match[] = { + { .compatible ="qcom,sdm845-pdc-global" }, + {} +}; +MODULE_DEVICE_TABLE (of, qcom_pdc_reset_of_match); + +static struct platform_driver qcom_pdc_reset_driver = { + .probe = qcom_pdc_reset_probe, + .driver = { + .name ="qcom_pdc_reset" , + .of_match_table = qcom_pdc_reset_of_match, + }, +}; +module_platform_driver (qcom_pdc_reset_driver); + +MODULE_DESCRIPTION ("Qualcomm PDC Reset Driver" ); +MODULE_LICENSE ("GPL v2" );Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH v3 3/6 dt-bindings: remoteproc: qcom: Remove additional definition tag
In reply to Sibi SankarRemove the additional definition tag declared for WCSS sub-system under reset-names.
--- Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +2 -2
@@ -58,8 +58,8 @@ on the Qualcomm Hexagon core. Usage: required Value type: <stringlist> Definition: must be "mss_restart" for the modem sub-system - Definition: must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset" - for the wcss syb-system + must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset" + for the wcss sub-system - cx-supply: - mss-supply:
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Re: [PATCH v3 3/6] dt-bindings: remoteproc: qcom: Remove additional definition tag
Quoted 5 lines · Sibi Sankar
Remove the additional definition tag declared for WCSS sub-system under reset-names.
Reviewed-by Matthias Kaehlcke <[email protected]>Signed-off-by Sibi Sankar <[email protected]>
Regards,
Bjorn
Quoted 23 lines
--- Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +2
-2@@ -58,8 +58,8 @@ on the Qualcomm Hexagon core. Usage: required Value type: <stringlist> Definition: must be "mss_restart" for the modem sub-system - Definition: must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset" - for the wcss syb-system + must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset" + for the wcss sub-system - cx-supply: - mss-supply:Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Re: [PATCH v3 3/6] dt-bindings: remoteproc: qcom: Remove additional definition tag
In reply to Sibi SankarQuoted 9 lines · Sibi Sankar
Remove the additional definition tag declared for WCSS sub-system under reset-names.
Reviewed-by Matthias Kaehlcke <[email protected]>Signed-off-by Sibi Sankar <[email protected]>--- Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
PATCH v3 4/6 dt-bindings: remoteproc: Add PDC reset binding for Q6V5 PIL
In reply to Sibi SankarAdd additional pdc_reset binding required for Q6V5 Modem PIL on SDM845 SoCs.
--- Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt | 4 ++++ 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +4 -0
@@ -53,6 +53,8 @@ on the Qualcomm Hexagon core. Definition: reference to the reset-controller for the modem sub-system reference to the list of 3 reset-controllers for the wcss sub-system + reference to the list of 2 reset-controllers for the modem + sub-system on SDM845 SoCs - reset-names: Usage: required
@@ -60,6 +62,8 @@ on the Qualcomm Hexagon core. Definition: must be "mss_restart" for the modem sub-system must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset" for the wcss sub-system + must be "mss_restart", "pdc_reset" for the modem + sub-system on SDM845 SoCs - cx-supply: - mss-supply:
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH v3 5/6 remoteproc: qcom: q6v5-pil: Explicitly get mss_restart line
In reply to Sibi SankarExplicitly get mss_restart to facilitate adding PDC reset line for modem on SDM845 SoCs
--- drivers/remoteproc/qcom_q6v5_pil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/remoteproc/qcom_q6v5_pil.c +1 -1
@@ -1177,7 +1177,7 @@ static int q6v5_init_clocks(struct device *dev, struct clk **clks,static int q6v5_init_reset (struct q6v5 *qproc) { qproc->mss_restart =devm_reset_control_get_exclusive (qproc->dev, -NULL ); +"mss_restart" );if (IS_ERR (qproc->mss_restart)) {dev_err (qproc->dev,"failed to acquire mss restart\n" );return PTR_ERR (qproc->mss_restart);
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH v3 6/6 remoteproc: qcom: q6v5-pil: Add PDC reset for modem on SDM845 SoCs
In reply to Sibi SankarIn the presence of a PDC block working with subsystem RSC, assert/deassert PDC reset in modem start/stop path.
--- drivers/remoteproc/qcom_q6v5_pil.c | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-)
drivers/remoteproc/qcom_q6v5_pil.c +24 -5
@@ -149,6 +149,7 @@ struct q6v5 {u32 halt_nc;struct reset_control *mss_restart; +struct reset_control *pdc_reset;struct qcom_q6v5 q6v5;
@@ -349,10 +350,17 @@ static int q6v5_load(struct rproc *rproc, const struct firmware *fw)static int q6v5_reset_assert (struct q6v5 *qproc) { -if (qproc->has_alt_reset) -return reset_control_reset (qproc->mss_restart); -else -return reset_control_assert (qproc->mss_restart); +int ret; + +if (qproc->has_alt_reset) { +reset_control_assert (qproc->pdc_reset); + ret =reset_control_reset (qproc->mss_restart); +reset_control_deassert (qproc->pdc_reset); + }else { + ret =reset_control_assert (qproc->mss_restart); + } + +return ret; }static int q6v5_reset_deassert (struct q6v5 *qproc)
@@ -360,9 +368,11 @@ static int q6v5_reset_deassert(struct q6v5 *qproc)int ret;if (qproc->has_alt_reset) { +reset_control_assert (qproc->pdc_reset);writel (1 , qproc->rmb_base +RMB_MBA_ALT_RESET ); ret =reset_control_reset (qproc->mss_restart);writel (0 , qproc->rmb_base +RMB_MBA_ALT_RESET ); +reset_control_deassert (qproc->pdc_reset); }else { ret =reset_control_deassert (qproc->mss_restart); }
@@ -1183,6 +1193,15 @@ static int q6v5_init_reset(struct q6v5 *qproc)return PTR_ERR (qproc->mss_restart); } +if (qproc->has_alt_reset) { + qproc->pdc_reset =devm_reset_control_get_exclusive (qproc->dev, +"pdc_reset" ); +if (IS_ERR (qproc->pdc_reset)) { +dev_err (qproc->dev,"failed to acquire pdc reset\n" ); +return PTR_ERR (qproc->pdc_reset); + } + } +return 0 ; }
@@ -1303,12 +1322,12 @@ static int q6v5_probe(struct platform_device *pdev) } qproc->active_reg_count = ret; + qproc->has_alt_reset = desc->has_alt_reset; ret =q6v5_init_reset (qproc);if (ret) goto free_rproc; qproc->version = desc->version; - qproc->has_alt_reset = desc->has_alt_reset; qproc->need_mem_protection = desc->need_mem_protection; ret = qcom_q6v5_init(&qproc->q6v5, pdev, rproc, MPSS_CRASH_REASON_SMEM,
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Quoted 20 lines · Sibi Sankar
This patch series add support for PDC Global (Power Domain Controller) on SDM845 SoCs and adds pdc reset lines assert/deassert to remoteproc Q6v5 modem-pil. The first two patches adds PDC Global reset driver to control reset signals of Modem, Compute, Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS. The last four patches (cleans up)/adds pdc reset lines to q6v5 bindings and asserts/deasserts in modem start/stop path.
V3:
refactored pdc reset driver to remove unused layer of indirection as suggested by Matthias
Other minor fixes suggested by Matthias/BjornV2:
Incorporated Philipp/Bjorn/Rob suggestions Renamed reset binding to pdc-global.txt replaced offset with #define of register name replaced withdevm_reset_control_get_exclusive()Separted dt binding from the drivers
Quoted 3 lines
Sibi Sankar (6):
dt-bindings: reset: Add PDC Global binding for SDM845 SoCs
reset: qcom: PDC Global (Power Domain Controller) reset controller
Philipp, there's no compile time dependencies between the PDC and remoteproc patches in this series. Will you take these two through your tree and I'll take the remaining four through the remoteproc tree?
Regards,
Bjorn
Quoted 21 lines
dt-bindings: remoteproc: qcom: Remove additional definition tag
dt-bindings: remoteproc: Add PDC reset binding for Q6V5 PIL
remoteproc: qcom: q6v5-pil: Explicitly getmss_restartline
remoteproc: qcom: q6v5-pil: Add PDC reset for modem on SDM845 SoCs.../bindings/remoteproc/qcom,q6v5.txt | 8 +- .../bindings/reset/qcom,pdc-global.txt | 52 ++++++++ drivers/remoteproc/qcom_q6v5_pil.c | 31 ++++- drivers/reset/Kconfig | 9 ++ drivers/reset/Makefile | 1 + drivers/reset/reset-qcom-pdc.c | 124 ++++++++++++++++++ include/dt-bindings/reset/qcom,sdm845-pdc.h | 20 +++ 7 files changed, 237 insertions(+), 8 deletions(-) create mode 100644 Documentation/devicetree/bindings/reset/qcom,pdc-global.txt create mode 100644 drivers/reset/reset-qcom-pdc.c create mode 100644 include/dt-bindings/reset/qcom,sdm845-pdc.hSignature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Hey Phillip,
Will the PDC driver make the cut for reset/next this time for the 4.20rc?
Quoted 55 lines · Bjorn Andersson
Quoted 20 lines · Sibi Sankar
This patch series add support for PDC Global (Power Domain Controller) on SDM845 SoCs and adds pdc reset lines assert/deassert to remoteproc Q6v5 modem-pil. The first two patches adds PDC Global reset driver to control reset signals of Modem, Compute, Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS. The last four patches (cleans up)/adds pdc reset lines to q6v5 bindings and asserts/deasserts in modem start/stop path.
V3:
refactored pdc reset driver to remove unused layer of indirection as suggested by Matthias
Other minor fixes suggested by Matthias/BjornV2:
Incorporated Philipp/Bjorn/Rob suggestions Renamed reset binding to pdc-global.txt replaced offset with #define of register name replaced withdevm_reset_control_get_exclusive()Separted dt binding from the driversQuoted 3 lines
Sibi Sankar (6):
dt-bindings: reset: Add PDC Global binding for SDM845 SoCs
reset: qcom: PDC Global (Power Domain Controller) reset controllerPhilipp, there's no compile time dependencies between the PDC and remoteproc patches in this series. Will you take these two through your tree and I'll take the remaining four through the remoteproc tree?
Regards,
BjornQuoted 21 lines
dt-bindings: remoteproc: qcom: Remove additional definition tag
dt-bindings: remoteproc: Add PDC reset binding for Q6V5 PIL
remoteproc: qcom: q6v5-pil: Explicitly getmss_restartline
remoteproc: qcom: q6v5-pil: Add PDC reset for modem on SDM845 SoCs.../bindings/remoteproc/qcom,q6v5.txt | 8 +- .../bindings/reset/qcom,pdc-global.txt | 52 ++++++++ drivers/remoteproc/qcom_q6v5_pil.c | 31 ++++- drivers/reset/Kconfig | 9 ++ drivers/reset/Makefile | 1 + drivers/reset/reset-qcom-pdc.c | 124 ++++++++++++++++++ include/dt-bindings/reset/qcom,sdm845-pdc.h | 20 +++ 7 files changed, 237 insertions(+), 8 deletions(-)create mode 100644
Documentation/devicetree/bindings/reset/qcom,pdc-global.txtcreate mode 100644drivers/reset/reset-qcom-pdc.c
create mode 100644include/dt-bindings/reset/qcom,sdm845-pdc.hSignature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Signature · 3 lines
Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc, is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
Philipp Zabel
maintainerHi Sibi, Bjorn,
Quoted 1 line · Sibi Sankar
On 09/04/2018 01:06 AM, Bjorn Andersson wrote:
[...]
Quoted 11 lines
Quoted 6 lines
Philipp, there's no compile time dependencies between the PDC and remoteproc patches in this series. Will you take these two through your tree and I'll take the remaining four through the remoteproc tree?
Regards,
BjornHey Phillip,
Will the PDC driver make the cut for reset/next this time for the 4.20rc?
I have applied patches 1 and 2 to reset/next. I'll send a pull request early next week.
regards
Philipp
Quoted 12 lines · Philipp Zabel
Hi Sibi, Bjorn,
Quoted 1 line · Sibi Sankar
On 09/04/2018 01:06 AM, Bjorn Andersson wrote:
[...]
Quoted 7 lines
Quoted 6 lines
Philipp, there's no compile time dependencies between the PDC and remoteproc patches in this series. Will you take these two through your tree and I'll take the remaining four through the remoteproc tree?
Regards,
Bjorn
Quoted 8 lines
Quoted 4 lines
Hey Phillip,
Will the PDC driver make the cut for reset/next this time for the 4.20rc?I have applied patches 1 and 2 to reset/next. I'll send a pull request early next week.
Thanks Philipp, I picked patch 3 through 6 in the rproc-next branch.
Regards,
Bjorn