lkml.org 
[lkml]   [2019]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH v12 09/13] MIPS: jz4740: Add DTS nodes for the TCU drivers


On Wed, May 22, 2019 at 11:21 AM, Mathieu Malaterre <malat@debian.org>
wrote:
> On Tue, May 21, 2019 at 4:52 PM Paul Cercueil <paul@crapouillou.net>
> wrote:
>>
>> Add DTS nodes for the JZ4780, JZ4770 and JZ4740 devicetree files.
>>
>> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>> ---
>>
>> Notes:
>> v5: New patch
>>
>> v6: Fix register lengths in watchdog/pwm nodes
>>
>> v7: No change
>>
>> v8: - Fix wrong start address for PWM node
>> - Add system timer and clocksource sub-nodes
>>
>> v9: Drop timer and clocksource sub-nodes
>>
>> v10-v11: No change
>>
>> v12: Drop PWM/watchdog/OST sub-nodes, for now.
>>
>> arch/mips/boot/dts/ingenic/jz4740.dtsi | 22 ++++++++++++++++++++++
>> arch/mips/boot/dts/ingenic/jz4770.dtsi | 21 +++++++++++++++++++++
>> arch/mips/boot/dts/ingenic/jz4780.dtsi | 21 +++++++++++++++++++++
>> 3 files changed, 64 insertions(+)
>>
>> diff --git a/arch/mips/boot/dts/ingenic/jz4740.dtsi
>> b/arch/mips/boot/dts/ingenic/jz4740.dtsi
>> index 2beb78a62b7d..807d9702d4cf 100644
>> --- a/arch/mips/boot/dts/ingenic/jz4740.dtsi
>> +++ b/arch/mips/boot/dts/ingenic/jz4740.dtsi
>> @@ -53,6 +53,28 @@
>> clock-names = "rtc";
>> };
>>
>> + tcu: timer@10002000 {
>> + compatible = "ingenic,jz4740-tcu";
>> + reg = <0x10002000 0x1000>;
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges = <0x0 0x10002000 0x1000>;
>> +
>> + #clock-cells = <1>;
>> +
>> + clocks = <&cgu JZ4740_CLK_RTC
>> + &cgu JZ4740_CLK_EXT
>> + &cgu JZ4740_CLK_PCLK
>> + &cgu JZ4740_CLK_TCU>;
>> + clock-names = "rtc", "ext", "pclk", "tcu";
>> +
>> + interrupt-controller;
>> + #interrupt-cells = <1>;
>> +
>> + interrupt-parent = <&intc>;
>> + interrupts = <23 22 21>;
>> + };
>> +
>> rtc_dev: rtc@10003000 {
>> compatible = "ingenic,jz4740-rtc";
>> reg = <0x10003000 0x40>;
>> diff --git a/arch/mips/boot/dts/ingenic/jz4770.dtsi
>> b/arch/mips/boot/dts/ingenic/jz4770.dtsi
>> index 49ede6c14ff3..70932fd90902 100644
>> --- a/arch/mips/boot/dts/ingenic/jz4770.dtsi
>> +++ b/arch/mips/boot/dts/ingenic/jz4770.dtsi
>> @@ -46,6 +46,27 @@
>> #clock-cells = <1>;
>> };
>>
>> + tcu: timer@10002000 {
>> + compatible = "ingenic,jz4770-tcu";
>> + reg = <0x10002000 0x1000>;
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges = <0x0 0x10002000 0x1000>;
>> +
>> + #clock-cells = <1>;
>> +
>> + clocks = <&cgu JZ4770_CLK_RTC
>> + &cgu JZ4770_CLK_EXT
>> + &cgu JZ4770_CLK_PCLK>;
>> + clock-names = "rtc", "ext", "pclk";
>> +
>> + interrupt-controller;
>> + #interrupt-cells = <1>;
>> +
>> + interrupt-parent = <&intc>;
>> + interrupts = <27 26 25>;
>> + };
>> +
>> pinctrl: pin-controller@10010000 {
>> compatible = "ingenic,jz4770-pinctrl";
>> reg = <0x10010000 0x600>;
>> diff --git a/arch/mips/boot/dts/ingenic/jz4780.dtsi
>> b/arch/mips/boot/dts/ingenic/jz4780.dtsi
>> index b03cdec56de9..495082ce7fc5 100644
>> --- a/arch/mips/boot/dts/ingenic/jz4780.dtsi
>> +++ b/arch/mips/boot/dts/ingenic/jz4780.dtsi
>> @@ -46,6 +46,27 @@
>> #clock-cells = <1>;
>> };
>>
>> + tcu: timer@10002000 {
>
> With W=1, I see:
>
> ../arch/mips/boot/dts/ingenic/jz4780.dtsi:64.22-83.4: Warning
> (unique_unit_address): /timer@10002000: duplicate unit-address (also
> used in node /watchdog@1000
> 2000)

That didn't happen in V11 because there I was also migrating the
watchdog and PWM drivers to children nodes of the TCU. It was more
atomic, but it also was a 27-patches bomb touching a lot of
subsystems that nobody was ever going to merge.

Is the address conflict OK, knowing that the watchdog node will
move out of the way as soon as this patchset is merged?

Should I add an extra patch to remove the watchdog node instead?

(and yes, devicetree ABI will break, which is sort-of OK in this
case - as on Ingenic boards the devicetree blobs are always
compiled within the kernel, so I think we should make this
much-needed change while we still can).


>> + compatible = "ingenic,jz4770-tcu";
>> + reg = <0x10002000 0x1000>;
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges = <0x0 0x10002000 0x1000>;
>> +
>> + #clock-cells = <1>;
>> +
>> + clocks = <&cgu JZ4780_CLK_RTCLK
>> + &cgu JZ4780_CLK_EXCLK
>> + &cgu JZ4780_CLK_PCLK>;
>> + clock-names = "rtc", "ext", "pclk";
>> +
>> + interrupt-controller;
>> + #interrupt-cells = <1>;
>> +
>> + interrupt-parent = <&intc>;
>> + interrupts = <27 26 25>;
>> + };
>> +
>> rtc_dev: rtc@10003000 {
>> compatible = "ingenic,jz4780-rtc";
>> reg = <0x10003000 0x4c>;
>> --
>> 2.21.0.593.g511ec345e18


\
 
 \ /
  Last update: 2019-05-22 13:16    [W:0.038 / U:26.328 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site