[PATCH v6 3/3] riscv: dts: sophgo: add rtc dt node for CV1800
Jingbao Qiu
qiujingbao.dlmu at gmail.com
Tue Jan 16 23:39:33 PST 2024
On Wed, Jan 17, 2024 at 3:28 PM Krzysztof Kozlowski
<krzysztof.kozlowski at linaro.org> wrote:
>
> On 17/01/2024 04:24, Jingbao Qiu wrote:
> > On Wed, Jan 17, 2024 at 12:58 AM Krzysztof Kozlowski
> > <krzysztof.kozlowski at linaro.org> wrote:
> >>
> >> On 16/01/2024 17:29, Jingbao Qiu wrote:
> >>> On Wed, Jan 17, 2024 at 12:03 AM Krzysztof Kozlowski
> >>> <krzysztof.kozlowski at linaro.org> 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 at 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 at 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
More information about the linux-riscv
mailing list