Hi Rob,
Le lun. 31 oct. 2022 à 14:23:41 -0500, Rob Herring <robh@xxxxxxxxxx> a
écrit :
On Fri, Oct 28, 2022 at 11:55:16PM +0100, Paul Cercueil wrote:
The RTC in the JZ4770 is compatible with the JZ4760, but has an
extra
register that permits to configure the behaviour of the CLK32K pin.
The
same goes for the RTC in the JZ4780.
Therefore, the ingenic,jz4770-rtc and ingenic,jz4780-rtc strings do
not
fall back anymore to ingenic,jz4760-rtc. The ingenic,jz4780-rtc
string
now falls back to the ingenic,jz4770-rtc string.
This is a compatibility mess. There is no driver support in v6.1-rc
for
ingenic,jz4770-rtc, so a new DT would not work with existing kernels.
It
sounds like you need 3 compatibles for 4780.
Do newer DTs need to work with older kernels? I always assumed the
compatibility was only enforced for the other way around.
If that's the case though, I guess I can enforce 3 compatibles for 4780
and 2 for 4770 like you suggested.
Cheers,
-Paul
Additionally, since the RTCs in the JZ4770 and JZ4780 support
outputting
the input oscillator's clock to the CLK32K pin, the RTC node is now
also
a clock provider on these SoCs, so a #clock-cells property is added.
Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx>
---
v2: - add constraint on which SoCs can have the #clock-cells
property
- add JZ4780 example which has a #clock-cells
.../devicetree/bindings/rtc/ingenic,rtc.yaml | 32
+++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)