Re: [PATCH v6 3/3] riscv: dts: sophgo: add rtc dt node for CV1800

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17/01/2024 04:24, Jingbao Qiu wrote:
> On Wed, Jan 17, 2024 at 12:58 AM Krzysztof Kozlowski
> <krzysztof.kozlowski@xxxxxxxxxx> wrote:
>>
>> On 16/01/2024 17:29, Jingbao Qiu wrote:
>>> On Wed, Jan 17, 2024 at 12:03 AM Krzysztof Kozlowski
>>> <krzysztof.kozlowski@xxxxxxxxxx> wrote:
>>>>
>>>> On 16/01/2024 16:51, Jingbao Qiu wrote:
>>>>>>> CV1800 is a RISCV based SOC that includes an RTC module. The RTC
>>>>>>> module has an OSC oscillator
>>>>>>
>>>>>>
>>>>>> I am not going to read pages of description. Please write concise replies.
>>>>>
>>>>> Thanks, What I mean is that this hardware includes two functions, RTC
>>>>> and POR. How should I describe their relationship?
>>>>
>>>> Your POR does not need to take any resources, so no need to describe any
>>>> relationship.
>>>>
>>>> ...
>>>>
>>>>>>> Your suggestion is, firstly, the por submodule does not have any
>>>>>>> resources, so it should be deleted.
>>>>>>
>>>>>> So where did you delete it? I still see it in this patch.
>>>>>
>>>>> Should I completely delete him? How can a por driver obtain device information?
>>>>
>>>> Delete completely.
>>>>
>>>> Device information? What is this? We already agreed you don't have any
>>>> resources for POR.
>>>>
>>>> ....
>>>>
>>>>>> Device is only one thing, not two.
>>>>>>
>>>>>>>                     reg = <0x5025000 0x2000>;
>>>>>>>                     interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
>>>>>>>                     clocks = <&osc>;
>>>>>>> };
>>>>>>> However, in reality, the POR submodule does not use IRQ and CLK.
>>>>>>> Please do not hesitate to teach. Thanks.
>>>>>>
>>>>>> I expect one device node. How many drivers you have does not matter: you
>>>>>> can instantiate 100 Linux devices in 100 Linux device drivers.
>>>>>
>>>>> I understand what you mean. A device node corresponds to multiple drivers.
>>>>> Should I completely delete the POR device tree node and add it when
>>>>> submitting the POR driver?
>>>>
>>>> ? I wrote it in previous messages and twice in this thread. Completely
>>>> delete. You do not add it back! Because if you ever intended to add it
>>>> back, it should be added since beginning. I don't understand what
>>>> submitting later would solve.
>>>>
>>>>> If that's the case, how can I explain that the rtc device tree node
>>>>> uses the syscon tag?
>>>>> How can I describe a POR device in DTS? POR is a submodule of RTC, and
>>>>> it also has corresponding drivers.
>>>>
>>>> I said, there is no need for POR in DTS, because you have nothing there.
>>>> Why do you insist on putting it on DTS?
>>>>
>>>>> It's just that his resources are only shared with RTC's Reg.
>>>>
>>>> What resources? Reg? That's not a separate resource.
>>
>> I meant, separate from the RTC. I had impression that IO space is shared
>> or mixed with RTC? If it is separate, why it wasn't listed?
>>
>>>
>>> I'm very sorry about this.
>>> But I found a binding file that only contains Reg and Compatible.
>>>
>>> rtc@80920000 {
>>> compatible = "cirrus,ep9301-rtc";
>>> reg = <0x80920000 0x100>;
>>> };
>>>
>>> Link: Documentation/devicetree/bindings/rtc/cirrus,ep9301-rtc.yaml
>>
>> And?
>>
>>>
>>>>
>>>> To summarize: Drop POR from DTS and never bring it back, unless you come
>>>> with some different arguments, which you did not say already.
>>>>
>>>
>>> You are right, if there is no por device tree node, how can the por
>>> driver obtain the Reg?
>>
>> The same as currently. Does your POR node has reg? No, so according to
>> your logic it cannot obtain address space.
>>
>> Children Linux devices share regmap with parent device.
>>
> 
> Thanks, Power-On-Reset/POR driver requires Reg to complete its functions.
> The compatible of POR is required in DTS to load the corresponding driver.

No, it is not needed. I also wrote to in previous messages to keep
drivers out of this. They are not related to this topic and don't use
them as arguments.


> The POR driver was not submitted in the patch. However, this patch requires
> the addition of RTC in DTS. Considering the future addition of POR

No. Bindings *MUST BE COMPLETE*, not depend on some other drivers.
Submit *COMPLETE* bindings for entire hardware. Then submit complete
DTS. I don't care about the drivers and they do not have to be complete.


> driver, I added a POR node.
> I'm not sure why the POR node needs to be deleted, just because it
> only has the compatible attribute?

This is like a tenth message and I was explaining it multiple times. Go
back to previous emails.

> Or maybe it's because I didn't submit the POR driver, so I need to
> delete the POR node.

Please don't mention drivers anymore in this discussions. It only
confuses you.

> I found an example.
> 
> st: timer@fffffd00 {
>     compatible = "atmel,at91rm9200-st", "syscon", "simple-mfd";
>     reg = <0xfffffd00 0x100>;
>     interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
>     clocks = <&slow_xtal>;
>     watchdog {
>       compatible = "atmel,at91rm9200-wdt";
>     };
> };
> 
> Link:arch/arm/boot/dts/microchip/at91rm9200.dtsi:114
> 
> Like this, when the por driver insmod is activated, the por driver can
> obtain the regs of the parent device.

Example of what? What is the question? I found a bug in Linux, so can I
create such bug again?

This discussion is fruitless and tiresome. You are repeating the same
issues and asking the same questions.

Best regards,
Krzysztof





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux