Thread (30 messages) 30 messages, 3 authors, 2025-06-27

Re: [PATCH v3 5/7] arm64: dts: axiado: Add initial support for AX3000 SoC and eval board

From: Harshit Shah <hidden>
Date: 2025-06-27 17:42:15
Also in: linux-arm-kernel, linux-gpio, lkml

On 6/24/2025 11:05 PM, Krzysztof Kozlowski wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.


On 25/06/2025 04:16, Harshit Shah wrote:
quoted
gpio0: gpio-controller@80500000 {
                          compatible = "cdns,gpio-r1p02";
                          reg = <0x00 0x80500000 0x00 0x400>;
                          clocks = <&refclk>;
                          interrupt-parent = <&gic500>;
                          interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
                          gpio-controller;
                          #gpio-cells = <2>;
                          interrupt-controller;
                          #interrupt-cells = <2>;
                          status = "disabled";
                  };

I checked the document:
https://elixir.bootlin.com/linux/v6.15/source/Documentation/devicetree/bindings/dts-coding-style.rst#L112.
quoted
quoted
+             gpio1: gpio-controller@80580000 {
+                     compatible = "cdns,gpio-r1p02";
This should not be accepted without specific compatible, but that's some
old binding so maybe matters less. Anyway, if you ever need quirk or
custom properties they I will reject them based on what you claim here.
Yes, we are not changing anything on this driver. Is it okay?
I meant for future. I would expect to follow writing bindings now, so
have front specific compatible, but if you do not then whatever issues
you have in the future with this driver, they should be rejected, right?
Based on the another discussion for the UART node, we understood this 
better.

It would be better if we change this GPIO nodes to with the below 
compatible.

compatible = "axiado,ax3000-gpio", "cdns,gpio-r1p02".
quoted
quoted
quoted
+             i3c16: i3c@80620400 {
+                     compatible = "cdns,i3c-master";
+                     reg = <0x00 0x80620400 0x00 0x400>;
+                     clocks = <&refclk &clk_xin>;
+                     clock-names = "pclk", "sysclk";
+                     interrupt-parent = <&gic500>;
+                     interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
+                     i2c-scl-hz = <100000>;
+                     i3c-scl-hz = <400000>;
+                     #address-cells = <3>;
+                     #size-cells = <0>;
+                     status = "disabled";
+             };
+             uart0: serial@80520000 {
Looks like not ordered by unit address. What is the ordering rule you
are going to adopt for entire arch?
Apologies for the confusion. I should have updated in last patch-set
comments.

We are following alphabetical ordering rule. In those we are grouping
some nodes together based on the numbers.

cpus

clocks

soc {

     gic500 { }

     gpio0-7 { }

     i3c0-16 { }

     uart0-3 { }

}

timer


Is this okay?
alphabetical ordering is not mentioned in dts coding style. Maybe it
should, but I think the only user of second style with grouping nodes -
Renesas - still uses ordering by unit address in general.

The trouble with your approach is that if you ever need to change the
name, you will need to re-order and move entire node.

Anyway, not a problem for me.
Okay, Thank you.


Regards,

Harshit.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help