* [v5,0/3] introduce TI reset controller for MT8192 SoC
@ 2020-09-29 13:46 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: srv_heupstream, linux-mediatek, linux-arm-kernel, linux-kernel,
devicetree, s-anna, seiya.wang, stanley.chu, yingjoe.chen,
fan.chen, yong.liang
v5:
1. revert ti-syscon-reset.txt, and add a new mediatek reset binding.
2. split the patch [v4, 3/4] with the change to force write and the
change to integrate assert and deassert together.
3. separate the dts patch from this patch sets
v4:
fix typos on v3 commit message.
v3:
1. revert v2 changes.
2. add 'reset-duration-us' property to declare a minimum delay,
which needs to be waited between assert and deassert.
3. add 'mediatek,infra-reset' to compatible.
v2 changes:
https://patchwork.kernel.org/patch/11697371/
1. add 'assert-deassert-together' property to introduce a new reset handler,
which allows device to do serialized assert and deassert operations in a single
step by 'reset' method.
2. add 'update-force' property to introduce force-update method, which forces
the write operation in case the read already happens to return the correct value.
3. add 'generic-reset' to compatible
v1 changes:
https://patchwork.kernel.org/patch/11690523/
https://patchwork.kernel.org/patch/11690527/
Crystal Guo (3):
dt-binding: reset-controller: mediatek: add YAML schemas
reset-controller: ti: introduce a new reset handler
reset-controller: ti: force the write operation when assert or
deassert
.../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
drivers/reset/reset-ti-syscon.c | 44 ++++++++++++++--
2 files changed, 92 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
^ permalink raw reply [flat|nested] 18+ messages in thread
* [v5,0/3] introduce TI reset controller for MT8192 SoC
@ 2020-09-29 13:46 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: devicetree, yong.liang, stanley.chu, srv_heupstream, seiya.wang,
linux-kernel, fan.chen, linux-mediatek, yingjoe.chen, s-anna,
linux-arm-kernel
v5:
1. revert ti-syscon-reset.txt, and add a new mediatek reset binding.
2. split the patch [v4, 3/4] with the change to force write and the
change to integrate assert and deassert together.
3. separate the dts patch from this patch sets
v4:
fix typos on v3 commit message.
v3:
1. revert v2 changes.
2. add 'reset-duration-us' property to declare a minimum delay,
which needs to be waited between assert and deassert.
3. add 'mediatek,infra-reset' to compatible.
v2 changes:
https://patchwork.kernel.org/patch/11697371/
1. add 'assert-deassert-together' property to introduce a new reset handler,
which allows device to do serialized assert and deassert operations in a single
step by 'reset' method.
2. add 'update-force' property to introduce force-update method, which forces
the write operation in case the read already happens to return the correct value.
3. add 'generic-reset' to compatible
v1 changes:
https://patchwork.kernel.org/patch/11690523/
https://patchwork.kernel.org/patch/11690527/
Crystal Guo (3):
dt-binding: reset-controller: mediatek: add YAML schemas
reset-controller: ti: introduce a new reset handler
reset-controller: ti: force the write operation when assert or
deassert
.../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
drivers/reset/reset-ti-syscon.c | 44 ++++++++++++++--
2 files changed, 92 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 18+ messages in thread
* [v5,0/3] introduce TI reset controller for MT8192 SoC
@ 2020-09-29 13:46 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: devicetree, yong.liang, stanley.chu, srv_heupstream, seiya.wang,
linux-kernel, fan.chen, linux-mediatek, yingjoe.chen,
linux-arm-kernel
v5:
1. revert ti-syscon-reset.txt, and add a new mediatek reset binding.
2. split the patch [v4, 3/4] with the change to force write and the
change to integrate assert and deassert together.
3. separate the dts patch from this patch sets
v4:
fix typos on v3 commit message.
v3:
1. revert v2 changes.
2. add 'reset-duration-us' property to declare a minimum delay,
which needs to be waited between assert and deassert.
3. add 'mediatek,infra-reset' to compatible.
v2 changes:
https://patchwork.kernel.org/patch/11697371/
1. add 'assert-deassert-together' property to introduce a new reset handler,
which allows device to do serialized assert and deassert operations in a single
step by 'reset' method.
2. add 'update-force' property to introduce force-update method, which forces
the write operation in case the read already happens to return the correct value.
3. add 'generic-reset' to compatible
v1 changes:
https://patchwork.kernel.org/patch/11690523/
https://patchwork.kernel.org/patch/11690527/
Crystal Guo (3):
dt-binding: reset-controller: mediatek: add YAML schemas
reset-controller: ti: introduce a new reset handler
reset-controller: ti: force the write operation when assert or
deassert
.../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
drivers/reset/reset-ti-syscon.c | 44 ++++++++++++++--
2 files changed, 92 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* [v5,1/3] dt-binding: reset-controller: mediatek: add YAML schemas
2020-09-29 13:46 ` Crystal Guo
(?)
@ 2020-09-29 13:46 ` Crystal Guo
-1 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: srv_heupstream, linux-mediatek, linux-arm-kernel, linux-kernel,
devicetree, s-anna, seiya.wang, stanley.chu, yingjoe.chen,
fan.chen, yong.liang, Crystal Guo
Add a YAML documentation for Mediatek, which uses ti reset-controller
driver directly. The TI reset controller provides a common reset management,
and is suitable for Mediatek SoCs.
Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
---
.../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
diff --git a/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml b/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
new file mode 100644
index 000000000000..dab630e95a0d
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reset/mediatek-syscon-reset.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mediatek Reset Controller
+
+maintainers:
+ - Crystal Guo <crystal.guo@mediatek.com>
+
+description:
+ The bindings describe the reset-controller for Mediatek SoCs,
+ which is based on TI reset controller. For more detail, please
+ visit Documentation/devicetree/bindings/reset/ti-syscon-reset.txt.
+
+properties:
+ compatible:
+ const: mediatek,syscon-reset
+
+ '#reset-cells':
+ const: 1
+
+ mediatek,reset-bits:
+ description: >
+ Contains the reset control register information, please refer to
+ Documentation/devicetree/bindings/reset/ti-syscon-reset.txt.
+
+required:
+ - compatible
+ - '#reset-cells'
+ - mediatek,reset-bits
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/reset/ti-syscon.h>
+ infracfg: infracfg@10001000 {
+ compatible = "mediatek,mt8192-infracfg", "syscon", "simple-mfd";
+ reg = <0 0x10001000 0 0x1000>;
+ #clock-cells = <1>;
+
+ infracfg_rst: reset-controller {
+ compatible = "mediatek,syscon-reset";
+ #reset-cells = <1>;
+ mediatek,reset-bits = <
+ 0x140 15 0x144 15 0 0 (ASSERT_SET | DEASSERT_SET | STATUS_NONE)
+ >;
+ };
+ };
--
2.18.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [v5,1/3] dt-binding: reset-controller: mediatek: add YAML schemas
@ 2020-09-29 13:46 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: devicetree, yong.liang, stanley.chu, srv_heupstream, seiya.wang,
linux-kernel, fan.chen, Crystal Guo, linux-mediatek,
yingjoe.chen, s-anna, linux-arm-kernel
Add a YAML documentation for Mediatek, which uses ti reset-controller
driver directly. The TI reset controller provides a common reset management,
and is suitable for Mediatek SoCs.
Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
---
.../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
diff --git a/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml b/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
new file mode 100644
index 000000000000..dab630e95a0d
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reset/mediatek-syscon-reset.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mediatek Reset Controller
+
+maintainers:
+ - Crystal Guo <crystal.guo@mediatek.com>
+
+description:
+ The bindings describe the reset-controller for Mediatek SoCs,
+ which is based on TI reset controller. For more detail, please
+ visit Documentation/devicetree/bindings/reset/ti-syscon-reset.txt.
+
+properties:
+ compatible:
+ const: mediatek,syscon-reset
+
+ '#reset-cells':
+ const: 1
+
+ mediatek,reset-bits:
+ description: >
+ Contains the reset control register information, please refer to
+ Documentation/devicetree/bindings/reset/ti-syscon-reset.txt.
+
+required:
+ - compatible
+ - '#reset-cells'
+ - mediatek,reset-bits
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/reset/ti-syscon.h>
+ infracfg: infracfg@10001000 {
+ compatible = "mediatek,mt8192-infracfg", "syscon", "simple-mfd";
+ reg = <0 0x10001000 0 0x1000>;
+ #clock-cells = <1>;
+
+ infracfg_rst: reset-controller {
+ compatible = "mediatek,syscon-reset";
+ #reset-cells = <1>;
+ mediatek,reset-bits = <
+ 0x140 15 0x144 15 0 0 (ASSERT_SET | DEASSERT_SET | STATUS_NONE)
+ >;
+ };
+ };
--
2.18.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [v5,1/3] dt-binding: reset-controller: mediatek: add YAML schemas
@ 2020-09-29 13:46 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: devicetree, yong.liang, stanley.chu, srv_heupstream, seiya.wang,
linux-kernel, fan.chen, Crystal Guo, linux-mediatek,
yingjoe.chen, linux-arm-kernel
Add a YAML documentation for Mediatek, which uses ti reset-controller
driver directly. The TI reset controller provides a common reset management,
and is suitable for Mediatek SoCs.
Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
---
.../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
diff --git a/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml b/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
new file mode 100644
index 000000000000..dab630e95a0d
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reset/mediatek-syscon-reset.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mediatek Reset Controller
+
+maintainers:
+ - Crystal Guo <crystal.guo@mediatek.com>
+
+description:
+ The bindings describe the reset-controller for Mediatek SoCs,
+ which is based on TI reset controller. For more detail, please
+ visit Documentation/devicetree/bindings/reset/ti-syscon-reset.txt.
+
+properties:
+ compatible:
+ const: mediatek,syscon-reset
+
+ '#reset-cells':
+ const: 1
+
+ mediatek,reset-bits:
+ description: >
+ Contains the reset control register information, please refer to
+ Documentation/devicetree/bindings/reset/ti-syscon-reset.txt.
+
+required:
+ - compatible
+ - '#reset-cells'
+ - mediatek,reset-bits
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/reset/ti-syscon.h>
+ infracfg: infracfg@10001000 {
+ compatible = "mediatek,mt8192-infracfg", "syscon", "simple-mfd";
+ reg = <0 0x10001000 0 0x1000>;
+ #clock-cells = <1>;
+
+ infracfg_rst: reset-controller {
+ compatible = "mediatek,syscon-reset";
+ #reset-cells = <1>;
+ mediatek,reset-bits = <
+ 0x140 15 0x144 15 0 0 (ASSERT_SET | DEASSERT_SET | STATUS_NONE)
+ >;
+ };
+ };
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [v5,2/3] reset-controller: ti: introduce a new reset handler
2020-09-29 13:46 ` Crystal Guo
(?)
@ 2020-09-29 13:46 ` Crystal Guo
-1 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: srv_heupstream, linux-mediatek, linux-arm-kernel, linux-kernel,
devicetree, s-anna, seiya.wang, stanley.chu, yingjoe.chen,
fan.chen, yong.liang, Crystal Guo
Introduce ti_syscon_reset() to integrate assert and deassert together.
If some modules need do serialized assert and deassert operations
to reset itself, reset_control_reset can be called for convenience.
Such as reset-qcom-aoss.c, it integrates assert and deassert together
by 'reset' method. MTK Socs also need this method to perform reset.
Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
---
drivers/reset/reset-ti-syscon.c | 40 ++++++++++++++++++++++++++++++++-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
index a2635c21db7f..5d1f8306cd4f 100644
--- a/drivers/reset/reset-ti-syscon.c
+++ b/drivers/reset/reset-ti-syscon.c
@@ -15,15 +15,22 @@
* GNU General Public License for more details.
*/
+#include <linux/delay.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/reset-controller.h>
#include <dt-bindings/reset/ti-syscon.h>
+struct mediatek_reset_data {
+ unsigned char *reset_bits;
+ unsigned int reset_duration_us;
+};
+
/**
* struct ti_syscon_reset_control - reset control structure
* @assert_offset: reset assert control register offset from syscon base
@@ -56,6 +63,7 @@ struct ti_syscon_reset_data {
struct regmap *regmap;
struct ti_syscon_reset_control *controls;
unsigned int nr_controls;
+ const struct mediatek_reset_data *reset_data;
};
#define to_ti_syscon_reset_data(rcdev) \
@@ -158,9 +166,29 @@ static int ti_syscon_reset_status(struct reset_controller_dev *rcdev,
!(control->flags & STATUS_SET);
}
+static int ti_syscon_reset(struct reset_controller_dev *rcdev,
+ unsigned long id)
+{
+ struct ti_syscon_reset_data *data = to_ti_syscon_reset_data(rcdev);
+ int ret;
+
+ if (data->reset_data) {
+ ret = ti_syscon_reset_assert(rcdev, id);
+ if (ret)
+ return ret;
+ usleep_range(data->reset_data->reset_duration_us,
+ data->reset_data->reset_duration_us * 2);
+
+ return ti_syscon_reset_deassert(rcdev, id);
+ } else {
+ return -ENOTSUPP;
+ }
+}
+
static const struct reset_control_ops ti_syscon_reset_ops = {
.assert = ti_syscon_reset_assert,
.deassert = ti_syscon_reset_deassert,
+ .reset = ti_syscon_reset,
.status = ti_syscon_reset_status,
};
@@ -182,7 +210,11 @@ static int ti_syscon_reset_probe(struct platform_device *pdev)
if (IS_ERR(regmap))
return PTR_ERR(regmap);
- list = of_get_property(np, "ti,reset-bits", &size);
+ data->reset_data = of_device_get_match_data(&pdev->dev);
+ if (data->reset_data)
+ list = of_get_property(np, data->reset_data->reset_bits, &size);
+ else
+ list = of_get_property(np, "ti,reset-bits", &size);
if (!list || (size / sizeof(*list)) % 7 != 0) {
dev_err(dev, "invalid DT reset description\n");
return -EINVAL;
@@ -217,8 +249,14 @@ static int ti_syscon_reset_probe(struct platform_device *pdev)
return devm_reset_controller_register(dev, &data->rcdev);
}
+static const struct mediatek_reset_data mtk_reset_data = {
+ .reset_bits = "mediatek,reset-bits",
+ .reset_duration_us = 10,
+};
+
static const struct of_device_id ti_syscon_reset_of_match[] = {
{ .compatible = "ti,syscon-reset", },
+ { .compatible = "mediatek,syscon-reset", .data = &mtk_reset_data},
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, ti_syscon_reset_of_match);
--
2.18.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [v5,2/3] reset-controller: ti: introduce a new reset handler
@ 2020-09-29 13:46 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: devicetree, yong.liang, stanley.chu, srv_heupstream, seiya.wang,
linux-kernel, fan.chen, Crystal Guo, linux-mediatek,
yingjoe.chen, s-anna, linux-arm-kernel
Introduce ti_syscon_reset() to integrate assert and deassert together.
If some modules need do serialized assert and deassert operations
to reset itself, reset_control_reset can be called for convenience.
Such as reset-qcom-aoss.c, it integrates assert and deassert together
by 'reset' method. MTK Socs also need this method to perform reset.
Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
---
drivers/reset/reset-ti-syscon.c | 40 ++++++++++++++++++++++++++++++++-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
index a2635c21db7f..5d1f8306cd4f 100644
--- a/drivers/reset/reset-ti-syscon.c
+++ b/drivers/reset/reset-ti-syscon.c
@@ -15,15 +15,22 @@
* GNU General Public License for more details.
*/
+#include <linux/delay.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/reset-controller.h>
#include <dt-bindings/reset/ti-syscon.h>
+struct mediatek_reset_data {
+ unsigned char *reset_bits;
+ unsigned int reset_duration_us;
+};
+
/**
* struct ti_syscon_reset_control - reset control structure
* @assert_offset: reset assert control register offset from syscon base
@@ -56,6 +63,7 @@ struct ti_syscon_reset_data {
struct regmap *regmap;
struct ti_syscon_reset_control *controls;
unsigned int nr_controls;
+ const struct mediatek_reset_data *reset_data;
};
#define to_ti_syscon_reset_data(rcdev) \
@@ -158,9 +166,29 @@ static int ti_syscon_reset_status(struct reset_controller_dev *rcdev,
!(control->flags & STATUS_SET);
}
+static int ti_syscon_reset(struct reset_controller_dev *rcdev,
+ unsigned long id)
+{
+ struct ti_syscon_reset_data *data = to_ti_syscon_reset_data(rcdev);
+ int ret;
+
+ if (data->reset_data) {
+ ret = ti_syscon_reset_assert(rcdev, id);
+ if (ret)
+ return ret;
+ usleep_range(data->reset_data->reset_duration_us,
+ data->reset_data->reset_duration_us * 2);
+
+ return ti_syscon_reset_deassert(rcdev, id);
+ } else {
+ return -ENOTSUPP;
+ }
+}
+
static const struct reset_control_ops ti_syscon_reset_ops = {
.assert = ti_syscon_reset_assert,
.deassert = ti_syscon_reset_deassert,
+ .reset = ti_syscon_reset,
.status = ti_syscon_reset_status,
};
@@ -182,7 +210,11 @@ static int ti_syscon_reset_probe(struct platform_device *pdev)
if (IS_ERR(regmap))
return PTR_ERR(regmap);
- list = of_get_property(np, "ti,reset-bits", &size);
+ data->reset_data = of_device_get_match_data(&pdev->dev);
+ if (data->reset_data)
+ list = of_get_property(np, data->reset_data->reset_bits, &size);
+ else
+ list = of_get_property(np, "ti,reset-bits", &size);
if (!list || (size / sizeof(*list)) % 7 != 0) {
dev_err(dev, "invalid DT reset description\n");
return -EINVAL;
@@ -217,8 +249,14 @@ static int ti_syscon_reset_probe(struct platform_device *pdev)
return devm_reset_controller_register(dev, &data->rcdev);
}
+static const struct mediatek_reset_data mtk_reset_data = {
+ .reset_bits = "mediatek,reset-bits",
+ .reset_duration_us = 10,
+};
+
static const struct of_device_id ti_syscon_reset_of_match[] = {
{ .compatible = "ti,syscon-reset", },
+ { .compatible = "mediatek,syscon-reset", .data = &mtk_reset_data},
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, ti_syscon_reset_of_match);
--
2.18.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [v5,2/3] reset-controller: ti: introduce a new reset handler
@ 2020-09-29 13:46 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: devicetree, yong.liang, stanley.chu, srv_heupstream, seiya.wang,
linux-kernel, fan.chen, Crystal Guo, linux-mediatek,
yingjoe.chen, linux-arm-kernel
Introduce ti_syscon_reset() to integrate assert and deassert together.
If some modules need do serialized assert and deassert operations
to reset itself, reset_control_reset can be called for convenience.
Such as reset-qcom-aoss.c, it integrates assert and deassert together
by 'reset' method. MTK Socs also need this method to perform reset.
Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
---
drivers/reset/reset-ti-syscon.c | 40 ++++++++++++++++++++++++++++++++-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
index a2635c21db7f..5d1f8306cd4f 100644
--- a/drivers/reset/reset-ti-syscon.c
+++ b/drivers/reset/reset-ti-syscon.c
@@ -15,15 +15,22 @@
* GNU General Public License for more details.
*/
+#include <linux/delay.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/reset-controller.h>
#include <dt-bindings/reset/ti-syscon.h>
+struct mediatek_reset_data {
+ unsigned char *reset_bits;
+ unsigned int reset_duration_us;
+};
+
/**
* struct ti_syscon_reset_control - reset control structure
* @assert_offset: reset assert control register offset from syscon base
@@ -56,6 +63,7 @@ struct ti_syscon_reset_data {
struct regmap *regmap;
struct ti_syscon_reset_control *controls;
unsigned int nr_controls;
+ const struct mediatek_reset_data *reset_data;
};
#define to_ti_syscon_reset_data(rcdev) \
@@ -158,9 +166,29 @@ static int ti_syscon_reset_status(struct reset_controller_dev *rcdev,
!(control->flags & STATUS_SET);
}
+static int ti_syscon_reset(struct reset_controller_dev *rcdev,
+ unsigned long id)
+{
+ struct ti_syscon_reset_data *data = to_ti_syscon_reset_data(rcdev);
+ int ret;
+
+ if (data->reset_data) {
+ ret = ti_syscon_reset_assert(rcdev, id);
+ if (ret)
+ return ret;
+ usleep_range(data->reset_data->reset_duration_us,
+ data->reset_data->reset_duration_us * 2);
+
+ return ti_syscon_reset_deassert(rcdev, id);
+ } else {
+ return -ENOTSUPP;
+ }
+}
+
static const struct reset_control_ops ti_syscon_reset_ops = {
.assert = ti_syscon_reset_assert,
.deassert = ti_syscon_reset_deassert,
+ .reset = ti_syscon_reset,
.status = ti_syscon_reset_status,
};
@@ -182,7 +210,11 @@ static int ti_syscon_reset_probe(struct platform_device *pdev)
if (IS_ERR(regmap))
return PTR_ERR(regmap);
- list = of_get_property(np, "ti,reset-bits", &size);
+ data->reset_data = of_device_get_match_data(&pdev->dev);
+ if (data->reset_data)
+ list = of_get_property(np, data->reset_data->reset_bits, &size);
+ else
+ list = of_get_property(np, "ti,reset-bits", &size);
if (!list || (size / sizeof(*list)) % 7 != 0) {
dev_err(dev, "invalid DT reset description\n");
return -EINVAL;
@@ -217,8 +249,14 @@ static int ti_syscon_reset_probe(struct platform_device *pdev)
return devm_reset_controller_register(dev, &data->rcdev);
}
+static const struct mediatek_reset_data mtk_reset_data = {
+ .reset_bits = "mediatek,reset-bits",
+ .reset_duration_us = 10,
+};
+
static const struct of_device_id ti_syscon_reset_of_match[] = {
{ .compatible = "ti,syscon-reset", },
+ { .compatible = "mediatek,syscon-reset", .data = &mtk_reset_data},
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, ti_syscon_reset_of_match);
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [v5,3/3] reset-controller: ti: force the write operation when assert or deassert
2020-09-29 13:46 ` Crystal Guo
(?)
@ 2020-09-29 13:46 ` Crystal Guo
-1 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: srv_heupstream, linux-mediatek, linux-arm-kernel, linux-kernel,
devicetree, s-anna, seiya.wang, stanley.chu, yingjoe.chen,
fan.chen, yong.liang, Crystal Guo
Force the write operation in case the read already happens
to return the correct value.
Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
---
drivers/reset/reset-ti-syscon.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
index 5d1f8306cd4f..c34394f1e9e2 100644
--- a/drivers/reset/reset-ti-syscon.c
+++ b/drivers/reset/reset-ti-syscon.c
@@ -97,7 +97,7 @@ static int ti_syscon_reset_assert(struct reset_controller_dev *rcdev,
mask = BIT(control->assert_bit);
value = (control->flags & ASSERT_SET) ? mask : 0x0;
- return regmap_update_bits(data->regmap, control->assert_offset, mask, value);
+ return regmap_write_bits(data->regmap, control->assert_offset, mask, value);
}
/**
@@ -128,7 +128,7 @@ static int ti_syscon_reset_deassert(struct reset_controller_dev *rcdev,
mask = BIT(control->deassert_bit);
value = (control->flags & DEASSERT_SET) ? mask : 0x0;
- return regmap_update_bits(data->regmap, control->deassert_offset, mask, value);
+ return regmap_write_bits(data->regmap, control->deassert_offset, mask, value);
}
/**
--
2.18.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [v5, 3/3] reset-controller: ti: force the write operation when assert or deassert
@ 2020-09-29 13:46 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: devicetree, yong.liang, stanley.chu, srv_heupstream, seiya.wang,
linux-kernel, fan.chen, Crystal Guo, linux-mediatek,
yingjoe.chen, s-anna, linux-arm-kernel
Force the write operation in case the read already happens
to return the correct value.
Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
---
drivers/reset/reset-ti-syscon.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
index 5d1f8306cd4f..c34394f1e9e2 100644
--- a/drivers/reset/reset-ti-syscon.c
+++ b/drivers/reset/reset-ti-syscon.c
@@ -97,7 +97,7 @@ static int ti_syscon_reset_assert(struct reset_controller_dev *rcdev,
mask = BIT(control->assert_bit);
value = (control->flags & ASSERT_SET) ? mask : 0x0;
- return regmap_update_bits(data->regmap, control->assert_offset, mask, value);
+ return regmap_write_bits(data->regmap, control->assert_offset, mask, value);
}
/**
@@ -128,7 +128,7 @@ static int ti_syscon_reset_deassert(struct reset_controller_dev *rcdev,
mask = BIT(control->deassert_bit);
value = (control->flags & DEASSERT_SET) ? mask : 0x0;
- return regmap_update_bits(data->regmap, control->deassert_offset, mask, value);
+ return regmap_write_bits(data->regmap, control->deassert_offset, mask, value);
}
/**
--
2.18.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [v5, 3/3] reset-controller: ti: force the write operation when assert or deassert
@ 2020-09-29 13:46 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-29 13:46 UTC (permalink / raw)
To: p.zabel, robh+dt, matthias.bgg
Cc: devicetree, yong.liang, stanley.chu, srv_heupstream, seiya.wang,
linux-kernel, fan.chen, Crystal Guo, linux-mediatek,
yingjoe.chen, linux-arm-kernel
Force the write operation in case the read already happens
to return the correct value.
Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
---
drivers/reset/reset-ti-syscon.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
index 5d1f8306cd4f..c34394f1e9e2 100644
--- a/drivers/reset/reset-ti-syscon.c
+++ b/drivers/reset/reset-ti-syscon.c
@@ -97,7 +97,7 @@ static int ti_syscon_reset_assert(struct reset_controller_dev *rcdev,
mask = BIT(control->assert_bit);
value = (control->flags & ASSERT_SET) ? mask : 0x0;
- return regmap_update_bits(data->regmap, control->assert_offset, mask, value);
+ return regmap_write_bits(data->regmap, control->assert_offset, mask, value);
}
/**
@@ -128,7 +128,7 @@ static int ti_syscon_reset_deassert(struct reset_controller_dev *rcdev,
mask = BIT(control->deassert_bit);
value = (control->flags & DEASSERT_SET) ? mask : 0x0;
- return regmap_update_bits(data->regmap, control->deassert_offset, mask, value);
+ return regmap_write_bits(data->regmap, control->deassert_offset, mask, value);
}
/**
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [v5,1/3] dt-binding: reset-controller: mediatek: add YAML schemas
2020-09-29 13:46 ` Crystal Guo
(?)
@ 2020-09-29 15:48 ` Rob Herring
-1 siblings, 0 replies; 18+ messages in thread
From: Rob Herring @ 2020-09-29 15:48 UTC (permalink / raw)
To: Crystal Guo
Cc: linux-kernel, yingjoe.chen, matthias.bgg, p.zabel, seiya.wang,
fan.chen, linux-mediatek, linux-arm-kernel, stanley.chu, robh+dt,
srv_heupstream, devicetree, yong.liang
On Tue, 29 Sep 2020 21:46:40 +0800, Crystal Guo wrote:
> Add a YAML documentation for Mediatek, which uses ti reset-controller
> driver directly. The TI reset controller provides a common reset management,
> and is suitable for Mediatek SoCs.
>
> Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
> ---
> .../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.example.dt.yaml: example-0: infracfg@10001000:reg:0: [0, 268439552, 0, 4096] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
See https://patchwork.ozlabs.org/patch/1373428
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:
pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
Please check and re-submit.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [v5, 1/3] dt-binding: reset-controller: mediatek: add YAML schemas
@ 2020-09-29 15:48 ` Rob Herring
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring @ 2020-09-29 15:48 UTC (permalink / raw)
To: Crystal Guo
Cc: devicetree, yong.liang, srv_heupstream, seiya.wang, linux-kernel,
fan.chen, robh+dt, linux-mediatek, p.zabel, matthias.bgg,
yingjoe.chen, stanley.chu, linux-arm-kernel
On Tue, 29 Sep 2020 21:46:40 +0800, Crystal Guo wrote:
> Add a YAML documentation for Mediatek, which uses ti reset-controller
> driver directly. The TI reset controller provides a common reset management,
> and is suitable for Mediatek SoCs.
>
> Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
> ---
> .../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.example.dt.yaml: example-0: infracfg@10001000:reg:0: [0, 268439552, 0, 4096] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
See https://patchwork.ozlabs.org/patch/1373428
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:
pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
Please check and re-submit.
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [v5, 1/3] dt-binding: reset-controller: mediatek: add YAML schemas
@ 2020-09-29 15:48 ` Rob Herring
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring @ 2020-09-29 15:48 UTC (permalink / raw)
To: Crystal Guo
Cc: devicetree, yong.liang, srv_heupstream, seiya.wang, linux-kernel,
fan.chen, robh+dt, linux-mediatek, p.zabel, matthias.bgg,
yingjoe.chen, stanley.chu, linux-arm-kernel
On Tue, 29 Sep 2020 21:46:40 +0800, Crystal Guo wrote:
> Add a YAML documentation for Mediatek, which uses ti reset-controller
> driver directly. The TI reset controller provides a common reset management,
> and is suitable for Mediatek SoCs.
>
> Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
> ---
> .../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.example.dt.yaml: example-0: infracfg@10001000:reg:0: [0, 268439552, 0, 4096] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
See https://patchwork.ozlabs.org/patch/1373428
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:
pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
Please check and re-submit.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [v5,1/3] dt-binding: reset-controller: mediatek: add YAML schemas
2020-09-29 15:48 ` Rob Herring
(?)
@ 2020-09-30 2:25 ` Crystal Guo
-1 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-30 2:25 UTC (permalink / raw)
To: Rob Herring
Cc: linux-kernel, Yingjoe Chen (陳英洲),
matthias.bgg, p.zabel, Seiya Wang (王迺君),
Fan Chen (陳凡),
linux-mediatek, linux-arm-kernel,
Stanley Chu (朱原陞),
robh+dt, srv_heupstream, devicetree,
Yong Liang (梁勇)
On Tue, 2020-09-29 at 23:48 +0800, Rob Herring wrote:
> On Tue, 29 Sep 2020 21:46:40 +0800, Crystal Guo wrote:
> > Add a YAML documentation for Mediatek, which uses ti reset-controller
> > driver directly. The TI reset controller provides a common reset management,
> > and is suitable for Mediatek SoCs.
> >
> > Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
> > ---
> > .../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
> > 1 file changed, 51 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
> >
>
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.example.dt.yaml: example-0: infracfg@10001000:reg:0: [0, 268439552, 0, 4096] is too long
> From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
>
>
> See https://patchwork.ozlabs.org/patch/1373428
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure dt-schema is up to date:
>
> pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
>
> Please check and re-submit.
>
Thanks for your remind, re-submit at:
https://patchwork.kernel.org/patch/11807721/
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [v5,1/3] dt-binding: reset-controller: mediatek: add YAML schemas
@ 2020-09-30 2:25 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-30 2:25 UTC (permalink / raw)
To: Rob Herring
Cc: devicetree, Yong Liang (梁勇),
srv_heupstream, Seiya Wang (王迺君),
linux-kernel, Fan Chen (陳凡),
robh+dt, linux-mediatek, p.zabel, matthias.bgg,
Yingjoe Chen (陳英洲),
Stanley Chu (朱原陞),
linux-arm-kernel
On Tue, 2020-09-29 at 23:48 +0800, Rob Herring wrote:
> On Tue, 29 Sep 2020 21:46:40 +0800, Crystal Guo wrote:
> > Add a YAML documentation for Mediatek, which uses ti reset-controller
> > driver directly. The TI reset controller provides a common reset management,
> > and is suitable for Mediatek SoCs.
> >
> > Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
> > ---
> > .../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
> > 1 file changed, 51 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
> >
>
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.example.dt.yaml: example-0: infracfg@10001000:reg:0: [0, 268439552, 0, 4096] is too long
> From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
>
>
> See https://patchwork.ozlabs.org/patch/1373428
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure dt-schema is up to date:
>
> pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
>
> Please check and re-submit.
>
Thanks for your remind, re-submit at:
https://patchwork.kernel.org/patch/11807721/
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [v5,1/3] dt-binding: reset-controller: mediatek: add YAML schemas
@ 2020-09-30 2:25 ` Crystal Guo
0 siblings, 0 replies; 18+ messages in thread
From: Crystal Guo @ 2020-09-30 2:25 UTC (permalink / raw)
To: Rob Herring
Cc: devicetree, Yong Liang (梁勇),
srv_heupstream, Seiya Wang (王迺君),
linux-kernel, Fan Chen (陳凡),
robh+dt, linux-mediatek, p.zabel, matthias.bgg,
Yingjoe Chen (陳英洲),
Stanley Chu (朱原陞),
linux-arm-kernel
On Tue, 2020-09-29 at 23:48 +0800, Rob Herring wrote:
> On Tue, 29 Sep 2020 21:46:40 +0800, Crystal Guo wrote:
> > Add a YAML documentation for Mediatek, which uses ti reset-controller
> > driver directly. The TI reset controller provides a common reset management,
> > and is suitable for Mediatek SoCs.
> >
> > Signed-off-by: Crystal Guo <crystal.guo@mediatek.com>
> > ---
> > .../bindings/reset/mediatek-syscon-reset.yaml | 51 +++++++++++++++++++
> > 1 file changed, 51 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/reset/mediatek-syscon-reset.yaml
> >
>
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reset/mediatek-syscon-reset.example.dt.yaml: example-0: infracfg@10001000:reg:0: [0, 268439552, 0, 4096] is too long
> From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
>
>
> See https://patchwork.ozlabs.org/patch/1373428
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure dt-schema is up to date:
>
> pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
>
> Please check and re-submit.
>
Thanks for your remind, re-submit at:
https://patchwork.kernel.org/patch/11807721/
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2020-09-30 2:31 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-29 13:46 [v5,0/3] introduce TI reset controller for MT8192 SoC Crystal Guo
2020-09-29 13:46 ` Crystal Guo
2020-09-29 13:46 ` Crystal Guo
2020-09-29 13:46 ` [v5,1/3] dt-binding: reset-controller: mediatek: add YAML schemas Crystal Guo
2020-09-29 13:46 ` Crystal Guo
2020-09-29 13:46 ` Crystal Guo
2020-09-29 15:48 ` Rob Herring
2020-09-29 15:48 ` [v5, 1/3] " Rob Herring
2020-09-29 15:48 ` Rob Herring
2020-09-30 2:25 ` [v5,1/3] " Crystal Guo
2020-09-30 2:25 ` Crystal Guo
2020-09-30 2:25 ` Crystal Guo
2020-09-29 13:46 ` [v5,2/3] reset-controller: ti: introduce a new reset handler Crystal Guo
2020-09-29 13:46 ` Crystal Guo
2020-09-29 13:46 ` Crystal Guo
2020-09-29 13:46 ` [v5,3/3] reset-controller: ti: force the write operation when assert or deassert Crystal Guo
2020-09-29 13:46 ` [v5, 3/3] " Crystal Guo
2020-09-29 13:46 ` Crystal Guo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.