On Wed, Jan 17, 2024 at 3:28 PM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > 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. > Thank you, I have been misled by historical legacy code. I will completely delete POR. Sorry again for wasting your time on repetitive discussions. Best regards, Jingbao Qiu