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

Alexandre Belloni alexandre.belloni at bootlin.com
Wed Jan 17 01:01:02 PST 2024


On 17/01/2024 10:54:08+0800, Jingbao Qiu wrote:
> On Wed, Jan 17, 2024 at 12:53 AM Alexandre Belloni
> <alexandre.belloni at bootlin.com> 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 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'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
> > >
> > > >
> > > > 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.

No it doesn't, have a look at the jz4740 rtc driver

> 
> Best regards,
> Jingbao Qiu

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



More information about the linux-riscv mailing list