[v3,6/8] ARM: dts: rtd1195: Add reset nodes
diff mbox series

Message ID 20191117072109.20402-7-afaerber@suse.de
State New
Headers show
Series
  • ARM: Initial RTD1195 and MeLE X1000 support
Related show

Commit Message

Andreas Färber Nov. 17, 2019, 7:21 a.m. UTC
Add reset controller nodes for Realtek RTD1195 SoC.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 v3: from RTD1295 reset v2
 * Rebased onto r-bus - reg, unit address, indentation
 
 arch/arm/boot/dts/rtd1195.dtsi | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

Comments

James Tai Nov. 18, 2019, 9:22 a.m. UTC | #1
Hi Andreas,

> +			reset1: reset-controller@0 {
> +				compatible = "snps,dw-low-reset";
> +				reg = <0x0 0x4>;
> +				#reset-cells = <1>;
> +			};
> +
> +			reset2: reset-controller@4 {
> +				compatible = "snps,dw-low-reset";
> +				reg = <0x4 0x4>;
> +				#reset-cells = <1>;
> +			};
> +
> +			reset3: reset-controller@8 {
> +				compatible = "snps,dw-low-reset";
> +				reg = <0x8 0x4>;
> +				#reset-cells = <1>;
> +			};
> +
> +			iso_reset: reset-controller@7088 {
> +				compatible = "snps,dw-low-reset";
> +				reg = <0x7088 0x4>;
> +				#reset-cells = <1>;
> +			};
> +

We don't use the DesignWare IP for the reset controller.


Regards,
James
Andreas Färber Nov. 19, 2019, 8:34 a.m. UTC | #2
Hi James,

Adding Philipp.

Am 18.11.19 um 10:22 schrieb James Tai:
>> +			reset1: reset-controller@0 {
>> +				compatible = "snps,dw-low-reset";
>> +				reg = <0x0 0x4>;
>> +				#reset-cells = <1>;
>> +			};
>> +
>> +			reset2: reset-controller@4 {
>> +				compatible = "snps,dw-low-reset";
>> +				reg = <0x4 0x4>;
>> +				#reset-cells = <1>;
>> +			};
>> +
>> +			reset3: reset-controller@8 {
>> +				compatible = "snps,dw-low-reset";
>> +				reg = <0x8 0x4>;
>> +				#reset-cells = <1>;
>> +			};
>> +
>> +			iso_reset: reset-controller@7088 {
>> +				compatible = "snps,dw-low-reset";
>> +				reg = <0x7088 0x4>;
>> +				#reset-cells = <1>;
>> +			};
>> +
> 
> We don't use the DesignWare IP for the reset controller.

Thanks for reviewing.

We already merged the equivalent nodes for RTD129x into arm-soc.git.
No Realtek review was received back when it was posted [1], sadly.

How does your reset controller differ from DesignWare, and how would you
prefer to handle it?

a) Do you want to send patches for a new Realtek-specific dt-binding [2]
and extend reset-simple driver to cover it as a copy&paste of the
DesignWare of_device_id?

b) Do you believe you need to submit a completely new reset driver?

An issue I had raised twice [4, 1] was that reset-simple only allows for
contiguous registers and thus couldn't handle the gap between reset3 and
reset4 on RTD1295, forcing me to use per-register nodes for consistency.
I am against modeling RTD1195 differently from RTD1295+, assuming
they're the equivalent IP, so we need a solution that works for both.
Philipp did indicate in [4] we could extend reset-simple for this gap
"if the implementation could be kept reasonably simple".

With v5.4-rc8 already tagged, please hurry if you want a different
binding in v5.5.

Regards,
Andreas

[1] https://patchwork.kernel.org/cover/11206255/
[2] https://patchwork.kernel.org/patch/9902665/
[3] https://patchwork.kernel.org/patch/9902673/
[4] https://patchwork.kernel.org/patch/9902675/
[5] https://patchwork.kernel.org/patch/9902671/
[6] https://patchwork.kernel.org/patch/9902663/
James Tai Nov. 20, 2019, 6:53 a.m. UTC | #3
Hi Andreas,

> >
> > We don't use the DesignWare IP for the reset controller.
> 
> Thanks for reviewing.
> 
> We already merged the equivalent nodes for RTD129x into arm-soc.git.
> No Realtek review was received back when it was posted [1], sadly.
> 
> How does your reset controller differ from DesignWare, and how would you
> prefer to handle it?
> 
> a) Do you want to send patches for a new Realtek-specific dt-binding [2] and
> extend reset-simple driver to cover it as a copy&paste of the DesignWare
> of_device_id?
> 
> b) Do you believe you need to submit a completely new reset driver?
> 

The RTD1195, RTD1295 and RTD1395 reset controller is compatible with the reset-simple driver.
I want to use plan a) for them.

Besides, I'll submit a completely new reset driver for the RTD1619 
because the reset controller not compatible with the reset-simple driver.

Regards,
James

Patch
diff mbox series

diff --git a/arch/arm/boot/dts/rtd1195.dtsi b/arch/arm/boot/dts/rtd1195.dtsi
index f5174f828a28..e0f133a1354f 100644
--- a/arch/arm/boot/dts/rtd1195.dtsi
+++ b/arch/arm/boot/dts/rtd1195.dtsi
@@ -99,6 +99,30 @@ 
 			#size-cells = <1>;
 			ranges = <0x0 0x18000000 0x70000>;
 
+			reset1: reset-controller@0 {
+				compatible = "snps,dw-low-reset";
+				reg = <0x0 0x4>;
+				#reset-cells = <1>;
+			};
+
+			reset2: reset-controller@4 {
+				compatible = "snps,dw-low-reset";
+				reg = <0x4 0x4>;
+				#reset-cells = <1>;
+			};
+
+			reset3: reset-controller@8 {
+				compatible = "snps,dw-low-reset";
+				reg = <0x8 0x4>;
+				#reset-cells = <1>;
+			};
+
+			iso_reset: reset-controller@7088 {
+				compatible = "snps,dw-low-reset";
+				reg = <0x7088 0x4>;
+				#reset-cells = <1>;
+			};
+
 			wdt: watchdog@7680 {
 				compatible = "realtek,rtd1295-watchdog";
 				reg = <0x7680 0x100>;