On Wed, Jan 17, 2024 at 12:53 AM Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> wrote: > > On 17/01/2024 00:29:28+0800, 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'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 > > > > > > > > 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? > > I guess the question is why don't you register everything from the RTC > driver? Thanks, POR provides power off and restart functions as a child node of RTC. So, I think it should be placed in the power/reset directory. Best regards, Jingbao Qiu