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] [thread-next>] [day] [month] [year] [list]
Message-ID:
 <PAXPR04MB8510B252A7EDE73B2E1F00BD88402@PAXPR04MB8510.eurprd04.prod.outlook.com>
Date: Fri, 18 Oct 2024 07:50:43 +0000
From: Wei Fang <wei.fang@....com>
To: Alexander Stein <alexander.stein@...tq-group.com>, Frank Li
	<frank.li@....com>
CC: "davem@...emloft.net" <davem@...emloft.net>, "edumazet@...gle.com"
	<edumazet@...gle.com>, "kuba@...nel.org" <kuba@...nel.org>,
	"pabeni@...hat.com" <pabeni@...hat.com>, "robh@...nel.org" <robh@...nel.org>,
	"krzk+dt@...nel.org" <krzk+dt@...nel.org>, "conor+dt@...nel.org"
	<conor+dt@...nel.org>, Vladimir Oltean <vladimir.oltean@....com>, Claudiu
 Manoil <claudiu.manoil@....com>, Clark Wang <xiaoning.wang@....com>,
	"christophe.leroy@...roup.eu" <christophe.leroy@...roup.eu>,
	"linux@...linux.org.uk" <linux@...linux.org.uk>, "bhelgaas@...gle.com"
	<bhelgaas@...gle.com>, "horms@...nel.org" <horms@...nel.org>,
	"imx@...ts.linux.dev" <imx@...ts.linux.dev>, "netdev@...r.kernel.org"
	<netdev@...r.kernel.org>, "devicetree@...r.kernel.org"
	<devicetree@...r.kernel.org>, "linux-kernel@...r.kernel.org"
	<linux-kernel@...r.kernel.org>, "linux-pci@...r.kernel.org"
	<linux-pci@...r.kernel.org>
Subject: RE: [PATCH v3 net-next 02/13] dt-bindings: net: add i.MX95 ENETC
 support

> -----Original Message-----
> From: Alexander Stein <alexander.stein@...tq-group.com>
> Sent: 2024年10月18日 14:53
> To: Frank Li <frank.li@....com>; Wei Fang <wei.fang@....com>
> Cc: davem@...emloft.net; edumazet@...gle.com; kuba@...nel.org;
> pabeni@...hat.com; robh@...nel.org; krzk+dt@...nel.org;
> conor+dt@...nel.org; Vladimir Oltean <vladimir.oltean@....com>; Claudiu
> Manoil <claudiu.manoil@....com>; Clark Wang <xiaoning.wang@....com>;
> christophe.leroy@...roup.eu; linux@...linux.org.uk; bhelgaas@...gle.com;
> horms@...nel.org; imx@...ts.linux.dev; netdev@...r.kernel.org;
> devicetree@...r.kernel.org; linux-kernel@...r.kernel.org;
> linux-pci@...r.kernel.org
> Subject: Re: [PATCH v3 net-next 02/13] dt-bindings: net: add i.MX95 ENETC
> support
> 
> Hi,
> 
> Am Freitag, 18. Oktober 2024, 03:20:55 CEST schrieb Wei Fang:
> > > -----Original Message-----
> > > From: Frank Li <frank.li@....com>
> > > Sent: 2024年10月18日 0:23
> > > To: Wei Fang <wei.fang@....com>
> > > Cc: davem@...emloft.net; edumazet@...gle.com; kuba@...nel.org;
> > > pabeni@...hat.com; robh@...nel.org; krzk+dt@...nel.org;
> > > conor+dt@...nel.org; Vladimir Oltean <vladimir.oltean@....com>;
> > > conor+Claudiu
> > > Manoil <claudiu.manoil@....com>; Clark Wang
> <xiaoning.wang@....com>;
> > > christophe.leroy@...roup.eu; linux@...linux.org.uk;
> > > bhelgaas@...gle.com; horms@...nel.org; imx@...ts.linux.dev;
> > > netdev@...r.kernel.org; devicetree@...r.kernel.org;
> > > linux-kernel@...r.kernel.org; linux-pci@...r.kernel.org
> > > Subject: Re: [PATCH v3 net-next 02/13] dt-bindings: net: add i.MX95
> > > ENETC support
> > >
> > > On Thu, Oct 17, 2024 at 03:46:26PM +0800, Wei Fang wrote:
> > > > The ENETC of i.MX95 has been upgraded to revision 4.1, and the
> > > > vendor ID and device ID have also changed, so add the new
> > > > compatible strings for i.MX95 ENETC. In addition, i.MX95 supports
> > > > configuration of RGMII or RMII reference clock.
> > > >
> > > > Signed-off-by: Wei Fang <wei.fang@....com>
> > > > ---
> > > > v2: Remove "nxp,imx95-enetc" compatible string.
> > > > v3:
> > > > 1. Add restriction to "clcoks" and "clock-names" properties and
> > > > rename the clock, also remove the items from these two properties.
> > > > 2. Remove unnecessary items for "pci1131,e101" compatible string.
> > > > ---
> > > >  .../devicetree/bindings/net/fsl,enetc.yaml    | 22
> ++++++++++++++++---
> > > >  1 file changed, 19 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> > > > b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> > > > index e152c93998fe..e418c3e6e6b1 100644
> > > > --- a/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> > > > +++ b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> > > > @@ -20,10 +20,13 @@ maintainers:
> > > >
> > > >  properties:
> > > >    compatible:
> > > > -    items:
> > > > +    oneOf:
> > > > +      - items:
> > > > +          - enum:
> > > > +              - pci1957,e100
> > > > +          - const: fsl,enetc
> > > >        - enum:
> > > > -          - pci1957,e100
> > > > -      - const: fsl,enetc
> > > > +          - pci1131,e101
> > > >
> > > >    reg:
> > > >      maxItems: 1
> > > > @@ -40,6 +43,19 @@ required:
> > > >  allOf:
> > > >    - $ref: /schemas/pci/pci-device.yaml
> > > >    - $ref: ethernet-controller.yaml
> > > > +  - if:
> > > > +      properties:
> > > > +        compatible:
> > > > +          contains:
> > > > +            enum:
> > > > +              - pci1131,e101
> > > > +    then:
> > > > +      properties:
> > > > +        clocks:
> > > > +          maxItems: 1
> > > > +          description: MAC transmit/receiver reference clock
> > > > +        clock-names:
> > > > +          const: ref
> > >
> > > Did you run CHECK_DTBS for your dts file? clocks\clock-names should
> > > be under top 'properties" firstly. Then use 'if' restrict it. But I
> > > am not sure for that. only dt_binding_check is not enough because
> > > your example have not use clocks and clok-names.
> > >
> >
> > I have run dtbs_check and dt_binding_check in my local env. there were
> > no warnings and errors.
> 
> Is there already the DT part somewhere? Do you mind sharing it?
> 
I will prepare the DT patch when this series is applied. Below is my local
patch of imx95.dtsi. FYI.

diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
index 03661e76550f..0f107a41b024 100644
--- a/arch/arm64/boot/dts/freescale/imx95.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
@@ -1609,7 +1609,7 @@ pcie1_ep: pcie-ep@...80000 {

                netcmix_blk_ctrl: syscon@...10000 {
                        compatible = "nxp,imx95-netcmix-blk-ctrl", "syscon";
-                       reg = <0x0 0x4c810000 0x0 0x10000>;
+                       reg = <0x0 0x4c810000 0x0 0x8>;
                        #clock-cells = <1>;
                        clocks = <&scmi_clk IMX95_CLK_BUSNETCMIX>;
                        assigned-clocks = <&scmi_clk IMX95_CLK_BUSNETCMIX>;
@@ -1638,5 +1638,95 @@ ddr-pmu@...90dc0 {
                        reg = <0x0 0x4e090dc0 0x0 0x200>;
                        interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
                };
+
+               netc_blk_ctrl: netc-blk-ctrl@...e0000 {
+                       compatible = "nxp,imx95-netc-blk-ctrl";
+                       reg = <0x0 0x4cde0000 0x0 0x10000>,
+                             <0x0 0x4cdf0000 0x0 0x10000>,
+                             <0x0 0x4c81000c 0x0 0x18>;
+                       reg-names = "ierb", "prb", "netcmix";
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges;
+                       power-domains = <&scmi_devpd IMX95_PD_NETC>;
+                       assigned-clocks = <&scmi_clk IMX95_CLK_ENET>,
+                                         <&scmi_clk IMX95_CLK_ENETREF>;
+                       assigned-clock-parents = <&scmi_clk IMX95_CLK_SYSPLL1_PFD2>,
+                                                <&scmi_clk IMX95_CLK_SYSPLL1_PFD0>;
+                       assigned-clock-rates = <666666666>, <250000000>;
+                       clocks = <&scmi_clk IMX95_CLK_ENET>;
+                       clock-names = "ipg";
+                       status = "disabled";
+
+                       pcie_4ca00000: pcie@...00000 {
+                               compatible = "pci-host-ecam-generic";
+                               reg = <0x0 0x4ca00000 0x0 0x100000>;
+                               /* Must be 3. */
+                               #address-cells = <3>;
+                               /* Must be 2. */
+                               #size-cells = <2>;
+                               device_type = "pci";
+                               bus-range = <0x0 0x0>;
+                               msi-map = <0x0 &its 0x60 0x1>,  //ENETC0 PF
+                                         <0x10 &its 0x61 0x1>, //ENETC0 VF0
+                                         <0x20 &its 0x62 0x1>, //ENETC0 VF1
+                                         <0x40 &its 0x63 0x1>, //ENETC1 PF
+                                         <0x80 &its 0x64 0x1>, //ENETC2 PF
+                                         <0x90 &its 0x65 0x1>, //ENETC2 VF0
+                                         <0xa0 &its 0x66 0x1>, //ENETC2 VF1
+                                         <0xc0 &its 0x67 0x1>; //NETC Timer
+                                        /* ENETC0~2 and Timer BAR0 - non-prefetchable memory */
+                               ranges = <0x82000000 0x0 0x4cc00000  0x0 0x4cc00000  0x0 0xe0000
+                                        /* Timer BAR2 - prefetchable memory */
+                                        0xc2000000 0x0 0x4cd00000  0x0 0x4cd00000  0x0 0x10000
+                                        /* ENETC0~2: VF0-1 BAR0 - non-prefetchable memory */
+                                        0x82000000 0x0 0x4cd20000  0x0 0x4cd20000  0x0 0x60000
+                                        /* ENETC0~2: VF0-1 BAR2 - prefetchable memory */
+                                        0xc2000000 0x0 0x4cd80000  0x0 0x4cd80000  0x0 0x60000>;
+
+                               enetc_port0: ethernet@0,0 {
+                                       compatible = "pci1131,e101";
+                                       reg = <0x000000 0 0 0 0>;
+                                       clocks = <&scmi_clk IMX95_CLK_ENETREF>;
+                                       clock-names = "ref";
+                                       status = "disabled";
+                               };
+
+                               enetc_port1: ethernet@8,0 {
+                                       compatible = "pci1131,e101";
+                                       reg = <0x004000 0 0 0 0>;
+                                       clocks = <&scmi_clk IMX95_CLK_ENETREF>;
+                                       clock-names = "ref";
+                                       status = "disabled";
+                               };
+
+                               enetc_port2: ethernet@10,0 {
+                                       compatible = "pci1131,e101";
+                                       reg = <0x008000 0 0 0 0>;
+                                       status = "disabled";
+                               };
+                       };
+
+                       pcie_4cb00000: pcie@...00000 {
+                               compatible = "pci-host-ecam-generic";
+                               reg = <0x0 0x4cb00000 0x0 0x100000>;
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               device_type = "pci";
+                               bus-range = <0x1 0x1>;
+                                        /* EMDIO BAR0 - non-prefetchable memory */
+                               ranges = <0x82000000 0x0 0x4cce0000  0x0 0x4cce0000  0x0 0x20000
+                                        /* EMDIO BAR2 - prefetchable memory */
+                                        0xc2000000 0x0 0x4cd10000  0x0 0x4cd10000  0x0 0x10000>;
+
+                               netc_emdio: mdio@0,0 {
+                                       compatible = "pci1131,ee00";
+                                       reg = <0x010000 0 0 0 0>;
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       status = "disabled";
+                               };
+                       };
+               };
        };
 };

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ