Message ID | 20210416085207.63181-11-tsbogend@alpha.franken.de (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | net: Korina improvements | expand |
On 16.04.2021 11:52, Thomas Bogendoerfer wrote: > Add device tree bindings for ethernet controller integrated into > IDT 79RC3243x SoCs. > > Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > --- > .../bindings/net/idt,3243x-emac.yaml | 74 +++++++++++++++++++ > 1 file changed, 74 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > > diff --git a/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > new file mode 100644 > index 000000000000..3697af5cb66f > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > @@ -0,0 +1,74 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/idt,3243x-emac.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: IDT 79rc3243x Ethernet controller > + > +description: Ethernet controller integrated into IDT 79RC3243x family SoCs > + > +maintainers: > + - Thomas Bogendoerfer <tsbogend@alpha.franken.de> > + > +allOf: > + - $ref: ethernet-controller.yaml# > + > +properties: > + compatible: > + const: idt,3243x-emac > + > + reg: > + maxItems: 3 > + > + reg-names: > + items: > + - const: korina_regs > + - const: korina_dma_rx > + - const: korina_dma_tx > + > + interrupts: > + items: > + - description: RX interrupt > + - description: TX interrupt > + > + interrupt-names: > + items: > + - const: korina_rx > + - const: korina_tx > + > + clocks: > + maxItems: 1 > + > + clock-names: > + items: > + - const: mdioclk > + > +required: > + - compatible > + - reg > + - reg-names > + - interrupts > + - interrupt-names > + > +additionalProperties: false > + > +examples: > + - | > + > + ethernet@60000 { > + compatible = "idt,3243x-emac"; > + > + reg = <0x60000 0x10000>, > + <0x40000 0x14>, > + <0x40014 0x14>; > + reg-names = "korina_regs", > + "korina_dma_rx", > + "korina_dma_tx"; > + > + interrupts-extended = <&rcpic3 0>, <&rcpic3 1>; You use this prop, yet don't describe it? > + interrupt-names = "korina_rx", "korina_tx"; > + > + clocks = <&iclk>; > + clock-names = "mdioclk"; > + }; MBR, Sergei
On Fri, Apr 16, 2021 at 12:29:46PM +0300, Sergei Shtylyov wrote: > On 16.04.2021 11:52, Thomas Bogendoerfer wrote: > > > Add device tree bindings for ethernet controller integrated into > > IDT 79RC3243x SoCs. > > > > Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > > --- > > .../bindings/net/idt,3243x-emac.yaml | 74 +++++++++++++++++++ > > 1 file changed, 74 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > > > > diff --git a/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > > new file mode 100644 > > index 000000000000..3697af5cb66f > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > > @@ -0,0 +1,74 @@ > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/net/idt,3243x-emac.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: IDT 79rc3243x Ethernet controller > > + > > +description: Ethernet controller integrated into IDT 79RC3243x family SoCs > > + > > +maintainers: > > + - Thomas Bogendoerfer <tsbogend@alpha.franken.de> > > + > > +allOf: > > + - $ref: ethernet-controller.yaml# > > + > > +properties: > > + compatible: > > + const: idt,3243x-emac > > + > > + reg: > > + maxItems: 3 > > + > > + reg-names: > > + items: > > + - const: korina_regs > > + - const: korina_dma_rx > > + - const: korina_dma_tx > > + > > + interrupts: > > + items: > > + - description: RX interrupt > > + - description: TX interrupt > > + > > + interrupt-names: > > + items: > > + - const: korina_rx > > + - const: korina_tx > > + > > + clocks: > > + maxItems: 1 > > + > > + clock-names: > > + items: > > + - const: mdioclk > > + > > +required: > > + - compatible > > + - reg > > + - reg-names > > + - interrupts > > + - interrupt-names > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + > > + ethernet@60000 { > > + compatible = "idt,3243x-emac"; > > + > > + reg = <0x60000 0x10000>, > > + <0x40000 0x14>, > > + <0x40014 0x14>; > > + reg-names = "korina_regs", > > + "korina_dma_rx", > > + "korina_dma_tx"; > > + > > + interrupts-extended = <&rcpic3 0>, <&rcpic3 1>; > > You use this prop, yet don't describe it? that's just interrupt-parent and interrupts in one statement. And since make dt_binding_check didn't complained I thought that's good this way. Rob, do I need to describe interrupts-extended as well ? I could change that to interrupt-parent/interrupts as the driver no longer uses dma under/overrun interrupts, which have a different interrupt-parent. Thomas.
On Fri, Apr 16, 2021 at 10:52:06AM +0200, Thomas Bogendoerfer wrote: > Add device tree bindings for ethernet controller integrated into > IDT 79RC3243x SoCs. > > Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > --- > .../bindings/net/idt,3243x-emac.yaml | 74 +++++++++++++++++++ > 1 file changed, 74 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > > diff --git a/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > new file mode 100644 > index 000000000000..3697af5cb66f > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > @@ -0,0 +1,74 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/idt,3243x-emac.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: IDT 79rc3243x Ethernet controller > + > +description: Ethernet controller integrated into IDT 79RC3243x family SoCs > + > +maintainers: > + - Thomas Bogendoerfer <tsbogend@alpha.franken.de> > + > +allOf: > + - $ref: ethernet-controller.yaml# > + > +properties: > + compatible: > + const: idt,3243x-emac > + > + reg: > + maxItems: 3 > + > + reg-names: > + items: > + - const: korina_regs > + - const: korina_dma_rx > + - const: korina_dma_tx What's korina? In any case, just drop as it is redundant. > + > + interrupts: > + items: > + - description: RX interrupt > + - description: TX interrupt > + > + interrupt-names: > + items: > + - const: korina_rx > + - const: korina_tx Just rx and tx. > + > + clocks: > + maxItems: 1 > + > + clock-names: > + items: > + - const: mdioclk > + > +required: > + - compatible > + - reg > + - reg-names > + - interrupts > + - interrupt-names > + > +additionalProperties: false > + > +examples: > + - | > + > + ethernet@60000 { > + compatible = "idt,3243x-emac"; > + > + reg = <0x60000 0x10000>, > + <0x40000 0x14>, > + <0x40014 0x14>; > + reg-names = "korina_regs", > + "korina_dma_rx", > + "korina_dma_tx"; > + > + interrupts-extended = <&rcpic3 0>, <&rcpic3 1>; > + interrupt-names = "korina_rx", "korina_tx"; > + > + clocks = <&iclk>; > + clock-names = "mdioclk"; > + }; > -- > 2.29.2 >
On Fri, Apr 16, 2021 at 03:35:36PM +0200, Thomas Bogendoerfer wrote: > On Fri, Apr 16, 2021 at 12:29:46PM +0300, Sergei Shtylyov wrote: > > On 16.04.2021 11:52, Thomas Bogendoerfer wrote: > > > > > Add device tree bindings for ethernet controller integrated into > > > IDT 79RC3243x SoCs. > > > > > > Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > > > --- > > > .../bindings/net/idt,3243x-emac.yaml | 74 +++++++++++++++++++ > > > 1 file changed, 74 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > > > new file mode 100644 > > > index 000000000000..3697af5cb66f > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml > > > @@ -0,0 +1,74 @@ > > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/net/idt,3243x-emac.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: IDT 79rc3243x Ethernet controller > > > + > > > +description: Ethernet controller integrated into IDT 79RC3243x family SoCs > > > + > > > +maintainers: > > > + - Thomas Bogendoerfer <tsbogend@alpha.franken.de> > > > + > > > +allOf: > > > + - $ref: ethernet-controller.yaml# > > > + > > > +properties: > > > + compatible: > > > + const: idt,3243x-emac > > > + > > > + reg: > > > + maxItems: 3 > > > + > > > + reg-names: > > > + items: > > > + - const: korina_regs > > > + - const: korina_dma_rx > > > + - const: korina_dma_tx > > > + > > > + interrupts: > > > + items: > > > + - description: RX interrupt > > > + - description: TX interrupt > > > + > > > + interrupt-names: > > > + items: > > > + - const: korina_rx > > > + - const: korina_tx > > > + > > > + clocks: > > > + maxItems: 1 > > > + > > > + clock-names: > > > + items: > > > + - const: mdioclk > > > + > > > +required: > > > + - compatible > > > + - reg > > > + - reg-names > > > + - interrupts > > > + - interrupt-names > > > + > > > +additionalProperties: false > > > + > > > +examples: > > > + - | > > > + > > > + ethernet@60000 { > > > + compatible = "idt,3243x-emac"; > > > + > > > + reg = <0x60000 0x10000>, > > > + <0x40000 0x14>, > > > + <0x40014 0x14>; > > > + reg-names = "korina_regs", > > > + "korina_dma_rx", > > > + "korina_dma_tx"; > > > + > > > + interrupts-extended = <&rcpic3 0>, <&rcpic3 1>; > > > > You use this prop, yet don't describe it? > > that's just interrupt-parent and interrupts in one statement. And since > make dt_binding_check didn't complained I thought that's good this way. > Rob, do I need to describe interrupts-extended as well ? No, the tooling handles both cases. What the parent is is outside the scope of a binding. > I could change that to interrupt-parent/interrupts as the driver no > longer uses dma under/overrun interrupts, which have a different > interrupt-parent. Humm, you should be describing the interrupt connections the h/w block has, not what the driver uses (today) or not. Rob
On 16.04.2021 16:35, Thomas Bogendoerfer wrote: > On Fri, Apr 16, 2021 at 12:29:46PM +0300, Sergei Shtylyov wrote: >> On 16.04.2021 11:52, Thomas Bogendoerfer wrote: >> >>> Add device tree bindings for ethernet controller integrated into >>> IDT 79RC3243x SoCs. >>> >>> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> >>> --- >>> .../bindings/net/idt,3243x-emac.yaml | 74 +++++++++++++++++++ >>> 1 file changed, 74 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/net/idt,3243x-emac.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml >>> new file mode 100644 >>> index 000000000000..3697af5cb66f >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml >>> @@ -0,0 +1,74 @@ >>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause >>> +%YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/net/idt,3243x-emac.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: IDT 79rc3243x Ethernet controller >>> + >>> +description: Ethernet controller integrated into IDT 79RC3243x family SoCs >>> + >>> +maintainers: >>> + - Thomas Bogendoerfer <tsbogend@alpha.franken.de> >>> + >>> +allOf: >>> + - $ref: ethernet-controller.yaml# >>> + >>> +properties: >>> + compatible: >>> + const: idt,3243x-emac >>> + >>> + reg: >>> + maxItems: 3 >>> + >>> + reg-names: >>> + items: >>> + - const: korina_regs >>> + - const: korina_dma_rx >>> + - const: korina_dma_tx >>> + >>> + interrupts: >>> + items: >>> + - description: RX interrupt >>> + - description: TX interrupt >>> + >>> + interrupt-names: >>> + items: >>> + - const: korina_rx >>> + - const: korina_tx >>> + >>> + clocks: >>> + maxItems: 1 >>> + >>> + clock-names: >>> + items: >>> + - const: mdioclk >>> + >>> +required: >>> + - compatible >>> + - reg >>> + - reg-names >>> + - interrupts >>> + - interrupt-names >>> + >>> +additionalProperties: false >>> + >>> +examples: >>> + - | >>> + >>> + ethernet@60000 { >>> + compatible = "idt,3243x-emac"; >>> + >>> + reg = <0x60000 0x10000>, >>> + <0x40000 0x14>, >>> + <0x40014 0x14>; >>> + reg-names = "korina_regs", >>> + "korina_dma_rx", >>> + "korina_dma_tx"; >>> + >>> + interrupts-extended = <&rcpic3 0>, <&rcpic3 1>; >> >> You use this prop, yet don't describe it? > > that's just interrupt-parent and interrupts in one statement. And since I know. :-) Yet you don't mention it, making the "interrupts" prop mandatory instead. And as both interrupt parents are the same here, it does not even seem justified... > make dt_binding_check didn't complained I thought that's good this way. > Rob, do I need to describe interrupts-extended as well ? > > I could change that to interrupt-parent/interrupts as the driver no > longer uses dma under/overrun interrupts, which have a different > interrupt-parent. In DT, we describe the hardware, not the driver's capabilities. > Thomas. MBR, Sergei
diff --git a/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml new file mode 100644 index 000000000000..3697af5cb66f --- /dev/null +++ b/Documentation/devicetree/bindings/net/idt,3243x-emac.yaml @@ -0,0 +1,74 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/idt,3243x-emac.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: IDT 79rc3243x Ethernet controller + +description: Ethernet controller integrated into IDT 79RC3243x family SoCs + +maintainers: + - Thomas Bogendoerfer <tsbogend@alpha.franken.de> + +allOf: + - $ref: ethernet-controller.yaml# + +properties: + compatible: + const: idt,3243x-emac + + reg: + maxItems: 3 + + reg-names: + items: + - const: korina_regs + - const: korina_dma_rx + - const: korina_dma_tx + + interrupts: + items: + - description: RX interrupt + - description: TX interrupt + + interrupt-names: + items: + - const: korina_rx + - const: korina_tx + + clocks: + maxItems: 1 + + clock-names: + items: + - const: mdioclk + +required: + - compatible + - reg + - reg-names + - interrupts + - interrupt-names + +additionalProperties: false + +examples: + - | + + ethernet@60000 { + compatible = "idt,3243x-emac"; + + reg = <0x60000 0x10000>, + <0x40000 0x14>, + <0x40014 0x14>; + reg-names = "korina_regs", + "korina_dma_rx", + "korina_dma_tx"; + + interrupts-extended = <&rcpic3 0>, <&rcpic3 1>; + interrupt-names = "korina_rx", "korina_tx"; + + clocks = <&iclk>; + clock-names = "mdioclk"; + };
Add device tree bindings for ethernet controller integrated into IDT 79RC3243x SoCs. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> --- .../bindings/net/idt,3243x-emac.yaml | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/idt,3243x-emac.yaml