lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <323e31e3ace1ed15bf8d1c009389fb9c6eca561e.camel@mediatek.com>
Date:   Tue, 6 Dec 2022 03:18:03 +0000
From:   Sujuan Chen (陈素娟) 
        <Sujuan.Chen@...iatek.com>
To:     "krzysztof.kozlowski@...aro.org" <krzysztof.kozlowski@...aro.org>,
        "lorenzo@...nel.org" <lorenzo@...nel.org>
CC:     Mark-MC Lee (李明昌) 
        <Mark-MC.Lee@...iatek.com>,
        "linux-mediatek@...ts.infradead.org" 
        <linux-mediatek@...ts.infradead.org>,
        "robh+dt@...nel.org" <robh+dt@...nel.org>,
        Evelyn Tsai (蔡珊鈺) 
        <Evelyn.Tsai@...iatek.com>,
        "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
        "nbd@....name" <nbd@....name>,
        "john@...ozen.org" <john@...ozen.org>,
        Sean Wang <Sean.Wang@...iatek.com>,
        "kuba@...nel.org" <kuba@...nel.org>,
        "edumazet@...gle.com" <edumazet@...gle.com>,
        "pabeni@...hat.com" <pabeni@...hat.com>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
        "krzysztof.kozlowski+dt@...aro.org" 
        <krzysztof.kozlowski+dt@...aro.org>,
        "matthias.bgg@...il.com" <matthias.bgg@...il.com>,
        "davem@...emloft.net" <davem@...emloft.net>,
        "daniel@...rotopia.org" <daniel@...rotopia.org>,
        "Ryder Lee" <Ryder.Lee@...iatek.com>,
        "lorenzo.bianconi@...hat.com" <lorenzo.bianconi@...hat.com>,
        Bo Jiao (焦波) <Bo.Jiao@...iatek.com>
Subject: Re: [PATCH v3 net-next 2/8] dt-bindings: net: mediatek: add WED RX
 binding for MT7986 eth driver

On Mon, 2022-11-07 at 11:04 +0100, Krzysztof Kozlowski wrote:
> On 03/11/2022 19:29, Lorenzo Bianconi wrote:
> > > On 03/11/2022 13:51, Lorenzo Bianconi wrote:
> > > > > > diff --git
> > > > > > a/Documentation/devicetree/bindings/arm/mediatek/mediatek,m
> > > > > > t7986-wo-boot.yaml
> > > > > > b/Documentation/devicetree/bindings/arm/mediatek/mediatek,m
> > > > > > t7986-wo-boot.yaml
> > > > > > new file mode 100644
> > > > > > index 000000000000..6c3c514c48ef
> > > > > > --- /dev/null
> > > > > > +++
> > > > > > b/Documentation/devicetree/bindings/arm/mediatek/mediatek,m
> > > > > > t7986-wo-boot.yaml
> > 
> > Regarding "mediatek,mt7986-wed" compatible string it has been added
> > to
> > mt7986a.dtsi in the commit below:
> > 
> > commit 00b9903996b3e1e287c748928606d738944e45de
> > Author: Lorenzo Bianconi <lorenzo@...nel.org>
> > Date:   Tue Sep 20 12:11:13 2022 +0200
> > 
> > arm64: dts: mediatek: mt7986: add support for Wireless Ethernet
> > Dispatch
> > 
> > > > > 
> > > > > arm is only for top-level stuff. Choose appropriate
> > > > > subsystem, soc as
> > > > > last resort.
> > > > 
> > > > these chips are used only for networking so is net folder fine?
> > > 
> > > So this is some MMIO and no actual device? Then rather soc.
> > 
> > ack, I will move them there
> > 
> > > 
> > > > 
> > > > > 
> > > > > > @@ -0,0 +1,47 @@
> > > > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > > > > +%YAML 1.2
> > > > > > +---
> > > > > > +$id: 
> > > > > > https://urldefense.com/v3/__http://devicetree.org/schemas/arm/mediatek/mediatek,mt7986-wo-boot.yaml*__;Iw!!CTRNKA9wMg0ARbw!zwfPbJpcAbOIOvolZM17U38coXpSGcUDmLW5g8m4760Crj_jruCb42rt9lXOq8svAEM$
> > > > > >  
> > > > > > +$schema: 
> > > > > > https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core.yaml*__;Iw!!CTRNKA9wMg0ARbw!zwfPbJpcAbOIOvolZM17U38coXpSGcUDmLW5g8m4760Crj_jruCb42rt9lXOpl37_FI$
> > > > > >  
> > > > > > +
> > > > > > +title:
> > > > > > +  MediaTek Wireless Ethernet Dispatch WO boot controller
> > > > > > interface for MT7986
> > > > > > +
> > > > > > +maintainers:
> > > > > > +  - Lorenzo Bianconi <lorenzo@...nel.org>
> > > > > > +  - Felix Fietkau <nbd@....name>
> > > > > > +
> > > > > > +description:
> > > > > > +  The mediatek wo-boot provides a configuration interface
> > > > > > for WED WO
> > > > > > +  boot controller on MT7986 soc.
> > > > > 
> > > > > And what is "WED WO boot controller?
> > > > 
> > > > WED WO is a chip used for networking packet processing
> > > > offloaded to the Soc
> > > > (e.g. packet reordering). WED WO boot is the memory used to
> > > > store start address
> > > > of wo firmware. Anyway I will let Sujuan comment on this.
> > > 
> > > A bit more should be in description.
> > 
> > I will let Sujuan adding more details (since I do not have them :))
> > 

 
The mcu of wo borrows a part of dram to store and boot its firmware.
the right entry point address of the firmware must be passed to the mcu
to boot correctly, so we need to write the dram address of the entry
point to the boot register, In addition, there are some registers that
need to be set to control the reset of the mcu.

> > > 
> > > > 
> > > > > 
> > > > > > +
> > > > > > +properties:
> > > > > > +  compatible:
> > > > > > +    items:
> > > > > > +      - enum:
> > > > > > +          - mediatek,mt7986-wo-boot
> > > > > > +      - const: syscon
> > > > > > +
> > > > > > +  reg:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +  interrupts:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +required:
> > > > > > +  - compatible
> > > > > > +  - reg
> > > > > > +
> > > > > > +additionalProperties: false
> > > > > > +
> > > > > > +examples:
> > > > > > +  - |
> > > > > > +    soc {
> > > > > > +      #address-cells = <2>;
> > > > > > +      #size-cells = <2>;
> > > > > > +
> > > > > > +      wo_boot: syscon@...94000 {
> > > > > > +        compatible = "mediatek,mt7986-wo-boot", "syscon";
> > > > > > +        reg = <0 0x15194000 0 0x1000>;
> > > > > > +      };
> > > > > > +    };
> > > > > > diff --git
> > > > > > a/Documentation/devicetree/bindings/arm/mediatek/mediatek,m
> > > > > > t7986-wo-ccif.yaml
> > > > > > b/Documentation/devicetree/bindings/arm/mediatek/mediatek,m
> > > > > > t7986-wo-ccif.yaml
> > > > > > new file mode 100644
> > > > > > index 000000000000..6357a206587a
> > > > > > --- /dev/null
> > > > > > +++
> > > > > > b/Documentation/devicetree/bindings/arm/mediatek/mediatek,m
> > > > > > t7986-wo-ccif.yaml
> > > > > > @@ -0,0 +1,50 @@
> > > > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > > > > +%YAML 1.2
> > > > > > +---
> > > > > > +$id: 
> > > > > > https://urldefense.com/v3/__http://devicetree.org/schemas/arm/mediatek/mediatek,mt7986-wo-ccif.yaml*__;Iw!!CTRNKA9wMg0ARbw!zwfPbJpcAbOIOvolZM17U38coXpSGcUDmLW5g8m4760Crj_jruCb42rt9lXO3mf70UY$
> > > > > >  
> > > > > > +$schema: 
> > > > > > https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core.yaml*__;Iw!!CTRNKA9wMg0ARbw!zwfPbJpcAbOIOvolZM17U38coXpSGcUDmLW5g8m4760Crj_jruCb42rt9lXOpl37_FI$
> > > > > >  
> > > > > > +
> > > > > > +title: MediaTek Wireless Ethernet Dispatch WO controller
> > > > > > interface for MT7986
> > > > > > +
> > > > > > +maintainers:
> > > > > > +  - Lorenzo Bianconi <lorenzo@...nel.org>
> > > > > > +  - Felix Fietkau <nbd@....name>
> > > > > > +
> > > > > > +description:
> > > > > > +  The mediatek wo-ccif provides a configuration interface
> > > > > > for WED WO
> > > > > > +  controller on MT7986 soc.
> > > > > 
> > > > > All previous comments apply.
> > > > > 
> > > > > > +
> > > > > > +properties:
> > > > > > +  compatible:
> > > > > > +    items:
> > > > > > +      - enum:
> > > > > > +          - mediatek,mt7986-wo-ccif
> > > > > > +      - const: syscon
> > > > > > +
> > > > > > +  reg:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +  interrupts:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +required:
> > > > > > +  - compatible
> > > > > > +  - reg
> > > > > > +  - interrupts
> > > > > > +
> > > > > > +additionalProperties: false
> > > > > > +
> > > > > > +examples:
> > > > > > +  - |
> > > > > > +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> > > > > > +    #include <dt-bindings/interrupt-controller/irq.h>
> > > > > > +    soc {
> > > > > > +      #address-cells = <2>;
> > > > > > +      #size-cells = <2>;
> > > > > > +
> > > > > > +      wo_ccif0: syscon@...a5000 {
> > > > > > +        compatible = "mediatek,mt7986-wo-ccif", "syscon";
> > > > > > +        reg = <0 0x151a5000 0 0x1000>;
> > > > > > +        interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
> > > > > > +      };
> > > > > > +    };
> > > > > > diff --git
> > > > > > a/Documentation/devicetree/bindings/arm/mediatek/mediatek,m
> > > > > > t7986-wo-dlm.yaml
> > > > > > b/Documentation/devicetree/bindings/arm/mediatek/mediatek,m
> > > > > > t7986-wo-dlm.yaml
> > > > > > new file mode 100644
> > > > > > index 000000000000..a499956d9e07
> > > > > > --- /dev/null
> > > > > > +++
> > > > > > b/Documentation/devicetree/bindings/arm/mediatek/mediatek,m
> > > > > > t7986-wo-dlm.yaml
> > > > > > @@ -0,0 +1,50 @@
> > > > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > > > > +%YAML 1.2
> > > > > > +---
> > > > > > +$id: 
> > > > > > https://urldefense.com/v3/__http://devicetree.org/schemas/arm/mediatek/mediatek,mt7986-wo-dlm.yaml*__;Iw!!CTRNKA9wMg0ARbw!zwfPbJpcAbOIOvolZM17U38coXpSGcUDmLW5g8m4760Crj_jruCb42rt9lXOVVd58hA$
> > > > > >  
> > > > > > +$schema: 
> > > > > > https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core.yaml*__;Iw!!CTRNKA9wMg0ARbw!zwfPbJpcAbOIOvolZM17U38coXpSGcUDmLW5g8m4760Crj_jruCb42rt9lXOpl37_FI$
> > > > > >  
> > > > > > +
> > > > > > +title: MediaTek Wireless Ethernet Dispatch WO hw rx ring
> > > > > > interface for MT7986
> > > > > > +
> > > > > > +maintainers:
> > > > > > +  - Lorenzo Bianconi <lorenzo@...nel.org>
> > > > > > +  - Felix Fietkau <nbd@....name>
> > > > > > +
> > > > > > +description:
> > > > > > +  The mediatek wo-dlm provides a configuration interface
> > > > > > for WED WO
> > > > > > +  rx ring on MT7986 soc.
> > > > > > +
> > > > > > +properties:
> > > > > > +  compatible:
> > > > > > +    const: mediatek,mt7986-wo-dlm
> > > > > > +
> > > > > > +  reg:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +  resets:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +  reset-names:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +required:
> > > > > > +  - compatible
> > > > > > +  - reg
> > > > > > +  - resets
> > > > > > +  - reset-names
> > > > > > +
> > > > > > +additionalProperties: false
> > > > > > +
> > > > > > +examples:
> > > > > > +  - |
> > > > > > +    soc {
> > > > > > +      #address-cells = <2>;
> > > > > > +      #size-cells = <2>;
> > > > > > +
> > > > > > +      wo_dlm0: wo-dlm@...e8000 {
> > > > > 
> > > > > Node names should be generic.
> > > > > 
https://urldefense.com/v3/__https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html*generic-names-recommendation__;Iw!!CTRNKA9wMg0ARbw!zwfPbJpcAbOIOvolZM17U38coXpSGcUDmLW5g8m4760Crj_jruCb42rt9lXOeva6xv4$
> > > > >  
> > > > 
> > > > DLM is a chip used to store the data rx ring of wo firmware. I
> > > > do not have a
> > > > better node name (naming is always hard). Can you please
> > > > suggest a better name?
> > > 
> > > The problem is that you added three new devices which seem to be
> > > for the
> > > same device - WED. It looks like some hacky way of avoid proper
> > > hardware
> > > description - let's model everything as MMIO and syscons...
> > 
> > is it fine to use syscon as node name even if we do not declare it
> > in compatible
> > string for dlm?
> > 
> 
> No, rather not. It's a shortcut and if used without actual syscon it
> would be confusing. You could still call it system-controller,
> though.
> 
> Best regards,
> Krzysztof
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ