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. Best regards, Krzysztof