* [PATCH v3 1/7] arm64: dts: mediatek: Move reset controller constants into common location
2021-08-25 10:26 [PATCH v3 0/7] Add support to the mmsys driver to be a reset controller Enric Balletbo i Serra
@ 2021-08-25 10:26 ` Enric Balletbo i Serra
2021-08-25 10:26 ` [PATCH v3 2/7] dt-bindings: mediatek: Add #reset-cells to mmsys system controller Enric Balletbo i Serra
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Enric Balletbo i Serra @ 2021-08-25 10:26 UTC (permalink / raw)
To: linux-kernel
Cc: matthias.bgg, hsinyi, linux-mediatek, jitao.shi, eizan, drinkcat,
chunkuang.hu, kernel, Guenter Roeck, Crystal Guo, Philipp Zabel,
Rob Herring, Wim Van Sebroeck, devicetree, linux-arm-kernel,
linux-watchdog
The DT binding includes for reset controllers are located in
include/dt-bindings/reset/. Move the Mediatek reset constants in there.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
---
(no changes since v2)
Changes in v2:
- Fix build test ERROR Reported-by: kernel test robot <lkp@intel.com>
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 2 +-
drivers/watchdog/mtk_wdt.c | 6 +++---
.../dt-bindings/{reset-controller => reset}/mt2712-resets.h | 0
.../dt-bindings/{reset-controller => reset}/mt8183-resets.h | 0
.../dt-bindings/{reset-controller => reset}/mt8192-resets.h | 0
5 files changed, 4 insertions(+), 4 deletions(-)
rename include/dt-bindings/{reset-controller => reset}/mt2712-resets.h (100%)
rename include/dt-bindings/{reset-controller => reset}/mt8183-resets.h (100%)
rename include/dt-bindings/{reset-controller => reset}/mt8192-resets.h (100%)
diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index d1efc4a38a41..9f72701a3b2e 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -11,7 +11,7 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/memory/mt8183-larb-port.h>
#include <dt-bindings/power/mt8183-power.h>
-#include <dt-bindings/reset-controller/mt8183-resets.h>
+#include <dt-bindings/reset/mt8183-resets.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/thermal/thermal.h>
#include "mt8183-pinfunc.h"
diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
index 16b6aff324a7..6986bc740465 100644
--- a/drivers/watchdog/mtk_wdt.c
+++ b/drivers/watchdog/mtk_wdt.c
@@ -9,9 +9,9 @@
* Based on sunxi_wdt.c
*/
-#include <dt-bindings/reset-controller/mt2712-resets.h>
-#include <dt-bindings/reset-controller/mt8183-resets.h>
-#include <dt-bindings/reset-controller/mt8192-resets.h>
+#include <dt-bindings/reset/mt2712-resets.h>
+#include <dt-bindings/reset/mt8183-resets.h>
+#include <dt-bindings/reset/mt8192-resets.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/init.h>
diff --git a/include/dt-bindings/reset-controller/mt2712-resets.h b/include/dt-bindings/reset/mt2712-resets.h
similarity index 100%
rename from include/dt-bindings/reset-controller/mt2712-resets.h
rename to include/dt-bindings/reset/mt2712-resets.h
diff --git a/include/dt-bindings/reset-controller/mt8183-resets.h b/include/dt-bindings/reset/mt8183-resets.h
similarity index 100%
rename from include/dt-bindings/reset-controller/mt8183-resets.h
rename to include/dt-bindings/reset/mt8183-resets.h
diff --git a/include/dt-bindings/reset-controller/mt8192-resets.h b/include/dt-bindings/reset/mt8192-resets.h
similarity index 100%
rename from include/dt-bindings/reset-controller/mt8192-resets.h
rename to include/dt-bindings/reset/mt8192-resets.h
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/7] dt-bindings: mediatek: Add #reset-cells to mmsys system controller
2021-08-25 10:26 [PATCH v3 0/7] Add support to the mmsys driver to be a reset controller Enric Balletbo i Serra
2021-08-25 10:26 ` [PATCH v3 1/7] arm64: dts: mediatek: Move reset controller constants into common location Enric Balletbo i Serra
@ 2021-08-25 10:26 ` Enric Balletbo i Serra
2021-08-25 16:31 ` Rob Herring
2021-08-25 10:26 ` [PATCH v3 3/7] dt-bindings: display: mediatek: add dsi reset optional property Enric Balletbo i Serra
` (2 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Enric Balletbo i Serra @ 2021-08-25 10:26 UTC (permalink / raw)
To: linux-kernel
Cc: matthias.bgg, hsinyi, linux-mediatek, jitao.shi, eizan, drinkcat,
chunkuang.hu, kernel, Fabien Parent, Rob Herring, devicetree,
linux-arm-kernel
The mmsys system controller exposes a set of memory client resets and
needs to specify the #reset-cells property in order to advertise the
number of cells needed to describe each of the resets.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
---
Changes in v3:
- Based on top of the patch that converts mmsys to schema
.../devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
index 2d4ff0ce387b..96ca16927a06 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
@@ -42,6 +42,9 @@ properties:
"#clock-cells":
const: 1
+ '#reset-cells':
+ const: 1
+
required:
- compatible
- reg
@@ -55,4 +58,5 @@ examples:
compatible = "mediatek,mt8173-mmsys", "syscon";
reg = <0x14000000 0x1000>;
#clock-cells = <1>;
+ #reset-cells = <1>;
};
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/7] dt-bindings: mediatek: Add #reset-cells to mmsys system controller
2021-08-25 10:26 ` [PATCH v3 2/7] dt-bindings: mediatek: Add #reset-cells to mmsys system controller Enric Balletbo i Serra
@ 2021-08-25 16:31 ` Rob Herring
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2021-08-25 16:31 UTC (permalink / raw)
To: Enric Balletbo i Serra
Cc: linux-kernel, kernel, jitao.shi, eizan, linux-arm-kernel,
matthias.bgg, Fabien Parent, Rob Herring, chunkuang.hu, hsinyi,
devicetree, linux-mediatek, drinkcat
On Wed, 25 Aug 2021 12:26:27 +0200, Enric Balletbo i Serra wrote:
> The mmsys system controller exposes a set of memory client resets and
> needs to specify the #reset-cells property in order to advertise the
> number of cells needed to describe each of the resets.
>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> ---
>
> Changes in v3:
> - Based on top of the patch that converts mmsys to schema
>
> .../devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml | 4 ++++
> 1 file changed, 4 insertions(+)
>
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 3/7] dt-bindings: display: mediatek: add dsi reset optional property
2021-08-25 10:26 [PATCH v3 0/7] Add support to the mmsys driver to be a reset controller Enric Balletbo i Serra
2021-08-25 10:26 ` [PATCH v3 1/7] arm64: dts: mediatek: Move reset controller constants into common location Enric Balletbo i Serra
2021-08-25 10:26 ` [PATCH v3 2/7] dt-bindings: mediatek: Add #reset-cells to mmsys system controller Enric Balletbo i Serra
@ 2021-08-25 10:26 ` Enric Balletbo i Serra
2021-08-26 0:31 ` Chun-Kuang Hu
2021-08-25 10:26 ` [PATCH v3 4/7] arm64: dts: mt8173: Add the mmsys reset bit to reset the dsi0 Enric Balletbo i Serra
2021-08-25 10:26 ` [PATCH v3 5/7] arm64: dts: mt8183: " Enric Balletbo i Serra
4 siblings, 1 reply; 8+ messages in thread
From: Enric Balletbo i Serra @ 2021-08-25 10:26 UTC (permalink / raw)
To: linux-kernel
Cc: matthias.bgg, hsinyi, linux-mediatek, jitao.shi, eizan, drinkcat,
chunkuang.hu, kernel, Rob Herring, Daniel Vetter, David Airlie,
Philipp Zabel, Rob Herring, devicetree, dri-devel,
linux-arm-kernel
Update device tree binding documentation for the dsi to add the optional
property to reset the dsi controller.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
---
(no changes since v2)
Changes in v2:
- Added a new patch to describe the dsi reset optional property.
.../devicetree/bindings/display/mediatek/mediatek,dsi.txt | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt
index 8238a86686be..3209b700ded6 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt
@@ -19,6 +19,11 @@ Required properties:
Documentation/devicetree/bindings/graph.txt. This port should be connected
to the input port of an attached DSI panel or DSI-to-eDP encoder chip.
+Optional properties:
+- resets: list of phandle + reset specifier pair, as described in [1].
+
+[1] Documentation/devicetree/bindings/reset/reset.txt
+
MIPI TX Configuration Module
============================
@@ -45,6 +50,7 @@ dsi0: dsi@1401b000 {
clocks = <&mmsys MM_DSI0_ENGINE>, <&mmsys MM_DSI0_DIGITAL>,
<&mipi_tx0>;
clock-names = "engine", "digital", "hs";
+ resets = <&mmsys MT8173_MMSYS_SW0_RST_B_DISP_DSI0>;
phys = <&mipi_tx0>;
phy-names = "dphy";
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/7] dt-bindings: display: mediatek: add dsi reset optional property
2021-08-25 10:26 ` [PATCH v3 3/7] dt-bindings: display: mediatek: add dsi reset optional property Enric Balletbo i Serra
@ 2021-08-26 0:31 ` Chun-Kuang Hu
0 siblings, 0 replies; 8+ messages in thread
From: Chun-Kuang Hu @ 2021-08-26 0:31 UTC (permalink / raw)
To: Enric Balletbo i Serra
Cc: linux-kernel, Matthias Brugger, Hsin-Yi Wang,
moderated list:ARM/Mediatek SoC support, Jitao Shi,
Eizan Miyamoto, Nicolas Boichat, Chun-Kuang Hu,
Collabora Kernel ML, Rob Herring, Daniel Vetter, David Airlie,
Philipp Zabel, Rob Herring, DTML, DRI Development, Linux ARM
Hi, Enric:
Enric Balletbo i Serra <enric.balletbo@collabora.com> 於 2021年8月25日 週三 下午6:26寫道:
>
> Update device tree binding documentation for the dsi to add the optional
> property to reset the dsi controller.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> Acked-by: Rob Herring <robh@kernel.org>
> ---
>
> (no changes since v2)
>
> Changes in v2:
> - Added a new patch to describe the dsi reset optional property.
>
> .../devicetree/bindings/display/mediatek/mediatek,dsi.txt | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt
> index 8238a86686be..3209b700ded6 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt
> @@ -19,6 +19,11 @@ Required properties:
> Documentation/devicetree/bindings/graph.txt. This port should be connected
> to the input port of an attached DSI panel or DSI-to-eDP encoder chip.
>
> +Optional properties:
> +- resets: list of phandle + reset specifier pair, as described in [1].
> +
> +[1] Documentation/devicetree/bindings/reset/reset.txt
> +
> MIPI TX Configuration Module
> ============================
>
> @@ -45,6 +50,7 @@ dsi0: dsi@1401b000 {
> clocks = <&mmsys MM_DSI0_ENGINE>, <&mmsys MM_DSI0_DIGITAL>,
> <&mipi_tx0>;
> clock-names = "engine", "digital", "hs";
> + resets = <&mmsys MT8173_MMSYS_SW0_RST_B_DISP_DSI0>;
> phys = <&mipi_tx0>;
> phy-names = "dphy";
>
> --
> 2.30.2
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 4/7] arm64: dts: mt8173: Add the mmsys reset bit to reset the dsi0
2021-08-25 10:26 [PATCH v3 0/7] Add support to the mmsys driver to be a reset controller Enric Balletbo i Serra
` (2 preceding siblings ...)
2021-08-25 10:26 ` [PATCH v3 3/7] dt-bindings: display: mediatek: add dsi reset optional property Enric Balletbo i Serra
@ 2021-08-25 10:26 ` Enric Balletbo i Serra
2021-08-25 10:26 ` [PATCH v3 5/7] arm64: dts: mt8183: " Enric Balletbo i Serra
4 siblings, 0 replies; 8+ messages in thread
From: Enric Balletbo i Serra @ 2021-08-25 10:26 UTC (permalink / raw)
To: linux-kernel
Cc: matthias.bgg, hsinyi, linux-mediatek, jitao.shi, eizan, drinkcat,
chunkuang.hu, kernel, Rob Herring, Philipp Zabel, Rob Herring,
devicetree, linux-arm-kernel
Reset the DSI hardware is needed to prevent different settings between
the bootloader and the kernel.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
---
(no changes since v1)
arch/arm64/boot/dts/mediatek/mt8173.dtsi | 2 ++
include/dt-bindings/reset/mt8173-resets.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index 17d70e2f5394..97ea3f9960b1 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -1036,6 +1036,7 @@ mmsys: syscon@14000000 {
assigned-clocks = <&topckgen CLK_TOP_MM_SEL>;
assigned-clock-rates = <400000000>;
#clock-cells = <1>;
+ #reset-cells = <1>;
mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>,
<&gce 1 CMDQ_THR_PRIO_HIGHEST>;
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>;
@@ -1262,6 +1263,7 @@ dsi0: dsi@1401b000 {
<&mmsys CLK_MM_DSI0_DIGITAL>,
<&mipi_tx0>;
clock-names = "engine", "digital", "hs";
+ resets = <&mmsys MT8173_MMSYS_SW0_RST_B_DISP_DSI0>;
phys = <&mipi_tx0>;
phy-names = "dphy";
status = "disabled";
diff --git a/include/dt-bindings/reset/mt8173-resets.h b/include/dt-bindings/reset/mt8173-resets.h
index ba8636eda5ae..6a60c7cecc4c 100644
--- a/include/dt-bindings/reset/mt8173-resets.h
+++ b/include/dt-bindings/reset/mt8173-resets.h
@@ -27,6 +27,8 @@
#define MT8173_INFRA_GCE_FAXI_RST 40
#define MT8173_INFRA_MMIOMMURST 47
+/* MMSYS resets */
+#define MT8173_MMSYS_SW0_RST_B_DISP_DSI0 25
/* PERICFG resets */
#define MT8173_PERI_UART0_SW_RST 0
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 5/7] arm64: dts: mt8183: Add the mmsys reset bit to reset the dsi0
2021-08-25 10:26 [PATCH v3 0/7] Add support to the mmsys driver to be a reset controller Enric Balletbo i Serra
` (3 preceding siblings ...)
2021-08-25 10:26 ` [PATCH v3 4/7] arm64: dts: mt8173: Add the mmsys reset bit to reset the dsi0 Enric Balletbo i Serra
@ 2021-08-25 10:26 ` Enric Balletbo i Serra
4 siblings, 0 replies; 8+ messages in thread
From: Enric Balletbo i Serra @ 2021-08-25 10:26 UTC (permalink / raw)
To: linux-kernel
Cc: matthias.bgg, hsinyi, linux-mediatek, jitao.shi, eizan, drinkcat,
chunkuang.hu, kernel, Rob Herring, Philipp Zabel, Rob Herring,
devicetree, linux-arm-kernel
Reset the DSI hardware is needed to prevent different settings between
the bootloader and the kernel.
While here, also remove the undocumented and also not used
'mediatek,syscon-dsi' property.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
---
(no changes since v1)
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 3 ++-
include/dt-bindings/reset/mt8183-resets.h | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index 9f72701a3b2e..7c47a76b3d02 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -1251,6 +1251,7 @@ mmsys: syscon@14000000 {
compatible = "mediatek,mt8183-mmsys", "syscon";
reg = <0 0x14000000 0 0x1000>;
#clock-cells = <1>;
+ #reset-cells = <1>;
mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>,
<&gce 1 CMDQ_THR_PRIO_HIGHEST>;
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>;
@@ -1365,11 +1366,11 @@ dsi0: dsi@14014000 {
reg = <0 0x14014000 0 0x1000>;
interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_LOW>;
power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
- mediatek,syscon-dsi = <&mmsys 0x140>;
clocks = <&mmsys CLK_MM_DSI0_MM>,
<&mmsys CLK_MM_DSI0_IF>,
<&mipi_tx0>;
clock-names = "engine", "digital", "hs";
+ resets = <&mmsys MT8183_MMSYS_SW0_RST_B_DISP_DSI0>;
phys = <&mipi_tx0>;
phy-names = "dphy";
};
diff --git a/include/dt-bindings/reset/mt8183-resets.h b/include/dt-bindings/reset/mt8183-resets.h
index a1bbd41e0d12..48c5d2de0a38 100644
--- a/include/dt-bindings/reset/mt8183-resets.h
+++ b/include/dt-bindings/reset/mt8183-resets.h
@@ -80,6 +80,9 @@
#define MT8183_INFRACFG_SW_RST_NUM 128
+/* MMSYS resets */
+#define MT8183_MMSYS_SW0_RST_B_DISP_DSI0 25
+
#define MT8183_TOPRGU_MM_SW_RST 1
#define MT8183_TOPRGU_MFG_SW_RST 2
#define MT8183_TOPRGU_VENC_SW_RST 3
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread