Message ID | 20241009095116.147412-4-wei.fang@nxp.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | add basic support for i.MX95 NETC | expand |
On Wed, Oct 09, 2024 at 05:51:08PM +0800, Wei Fang wrote: > Add bindings for NXP NETC blocks control. Can you add short descript about blocks control? You can copy below description. > > Signed-off-by: Wei Fang <wei.fang@nxp.com> > --- > .../bindings/net/nxp,netc-blk-ctrl.yaml | 107 ++++++++++++++++++ > 1 file changed, 107 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml > > diff --git a/Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml b/Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml > new file mode 100644 > index 000000000000..7d20ed1e722c > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml > @@ -0,0 +1,107 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/nxp,netc-blk-ctrl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NETC Blocks Control > + > +description: > + Usually, NETC has 2 blocks of 64KB registers, integrated endpoint register > + block (IERB) and privileged register block (PRB). IERB is used for pre-boot > + initialization for all NETC devices, such as ENETC, Timer, EMIDO and so on. > + And PRB controls global reset and global error handling for NETC. Moreover, > + for the i.MX platform, there is also a NETCMIX block for link configuration, > + such as MII protocol, PCS protocol, etc. > + > +maintainers: > + - Wei Fang <wei.fang@nxp.com> > + - Clark Wang <xiaoning.wang@nxp.com> > + > +properties: > + compatible: > + enum: > + - nxp,imx95-netc-blk-ctrl > + > + reg: > + minItems: 2 > + maxItems: 3 > + > + reg-names: > + minItems: 2 > + items: > + - const: ierb > + - const: prb > + - const: netcmix > + > + "#address-cells": > + const: 2 > + > + "#size-cells": > + const: 2 > + > + ranges: true > + > + clocks: > + items: > + - description: NETC system clock > + > + clock-names: > + items: > + - const: ipg_clk > + > + power-domains: > + maxItems: 1 > + > +patternProperties: > + "^pcie@[0-9a-f]+$": > + $ref: /schemas/pci/host-generic-pci.yaml# > + > +required: > + - compatible > + - "#address-cells" > + - "#size-cells" > + - reg > + - reg-names > + - ranges > + > +unevaluatedProperties: false You have not ref to other yaml, use additionalProperties: false > + > +examples: > + - | > + bus { > + #address-cells = <2>; > + #size-cells = <2>; > + > + netc_blk_ctrl: netc-blk-ctrl@4cde0000 { needn't label netc_blk_ctrl. > + 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; > + clocks = <&scmi_clk 98>; > + clock-names = "ipg_clk"; > + power-domains = <&scmi_devpd 18>; > + > + pcie_4cb00000: pcie@4cb00000 { needn't label pcie_4cb00000. > + compatible = "pci-host-ecam-generic"; > + reg = <0x0 0x4cb00000 0x0 0x100000>; > + #address-cells = <3>; > + #size-cells = <2>; > + device_type = "pci"; > + bus-range = <0x1 0x1>; > + ranges = <0x82000000 0x0 0x4cce0000 0x0 0x4cce0000 0x0 0x20000 > + 0xc2000000 0x0 0x4cd10000 0x0 0x4cd10000 0x0 0x10000>; > + > + netc_emdio: mdio@0,0 { needn't label netc_emdio. Frank > + compatible = "nxp,netc-emdio", "pci1131,ee00"; > + reg = <0x010000 0 0 0 0>; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + }; > + }; > + }; > -- > 2.34.1 >
> -----Original Message----- > From: Frank Li <frank.li@nxp.com> > Sent: 2024年10月10日 0:36 > To: Wei Fang <wei.fang@nxp.com> > Cc: davem@davemloft.net; edumazet@google.com; kuba@kernel.org; > pabeni@redhat.com; robh@kernel.org; krzk+dt@kernel.org; > conor+dt@kernel.org; Vladimir Oltean <vladimir.oltean@nxp.com>; Claudiu > Manoil <claudiu.manoil@nxp.com>; Clark Wang <xiaoning.wang@nxp.com>; > christophe.leroy@csgroup.eu; linux@armlinux.org.uk; bhelgaas@google.com; > imx@lists.linux.dev; netdev@vger.kernel.org; devicetree@vger.kernel.org; > linux-kernel@vger.kernel.org; linux-pci@vger.kernel.org > Subject: Re: [PATCH net-next 03/11] dt-bindings: net: add bindings for NETC > blocks control > > On Wed, Oct 09, 2024 at 05:51:08PM +0800, Wei Fang wrote: > > Add bindings for NXP NETC blocks control. > > Can you add short descript about blocks control? You can copy below > description. Sure, I'll add more description in next version, thanks. > > > > > Signed-off-by: Wei Fang <wei.fang@nxp.com> > > --- > > .../bindings/net/nxp,netc-blk-ctrl.yaml | 107 ++++++++++++++++++ > > 1 file changed, 107 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml > > > > diff --git > > a/Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml > > b/Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml > > new file mode 100644 > > index 000000000000..7d20ed1e722c > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml > > @@ -0,0 +1,107 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/net/nxp,netc-blk-ctrl.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: NETC Blocks Control > > + > > +description: > > + Usually, NETC has 2 blocks of 64KB registers, integrated endpoint > > +register > > + block (IERB) and privileged register block (PRB). IERB is used for > > +pre-boot > > + initialization for all NETC devices, such as ENETC, Timer, EMIDO and so on. > > + And PRB controls global reset and global error handling for NETC. > > +Moreover, > > + for the i.MX platform, there is also a NETCMIX block for link > > +configuration, > > + such as MII protocol, PCS protocol, etc. > > + > > +maintainers: > > + - Wei Fang <wei.fang@nxp.com> > > + - Clark Wang <xiaoning.wang@nxp.com> > > + > > +properties: > > + compatible: > > + enum: > > + - nxp,imx95-netc-blk-ctrl > > + > > + reg: > > + minItems: 2 > > + maxItems: 3 > > + > > + reg-names: > > + minItems: 2 > > + items: > > + - const: ierb > > + - const: prb > > + - const: netcmix > > + > > + "#address-cells": > > + const: 2 > > + > > + "#size-cells": > > + const: 2 > > + > > + ranges: true > > + > > + clocks: > > + items: > > + - description: NETC system clock > > + > > + clock-names: > > + items: > > + - const: ipg_clk > > + > > + power-domains: > > + maxItems: 1 > > + > > +patternProperties: > > + "^pcie@[0-9a-f]+$": > > + $ref: /schemas/pci/host-generic-pci.yaml# > > + > > +required: > > + - compatible > > + - "#address-cells" > > + - "#size-cells" > > + - reg > > + - reg-names > > + - ranges > > + > > +unevaluatedProperties: false > > You have not ref to other yaml, use > > additionalProperties: false > Okay, thanks > > + > > +examples: > > + - | > > + bus { > > + #address-cells = <2>; > > + #size-cells = <2>; > > + > > + netc_blk_ctrl: netc-blk-ctrl@4cde0000 { > > needn't label netc_blk_ctrl. > > > + 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; > > + clocks = <&scmi_clk 98>; > > + clock-names = "ipg_clk"; > > + power-domains = <&scmi_devpd 18>; > > + > > + pcie_4cb00000: pcie@4cb00000 { > > needn't label pcie_4cb00000. > > + compatible = "pci-host-ecam-generic"; > > + reg = <0x0 0x4cb00000 0x0 0x100000>; > > + #address-cells = <3>; > > + #size-cells = <2>; > > + device_type = "pci"; > > + bus-range = <0x1 0x1>; > > + ranges = <0x82000000 0x0 0x4cce0000 0x0 > 0x4cce0000 0x0 0x20000 > > + 0xc2000000 0x0 0x4cd10000 0x0 > 0x4cd10000 > > + 0x0 0x10000>; > > + > > + netc_emdio: mdio@0,0 { > > needn't label netc_emdio. > > Frank > > + compatible = "nxp,netc-emdio", "pci1131,ee00"; > > + reg = <0x010000 0 0 0 0>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + }; > > + }; > > + }; > > + }; > > -- > > 2.34.1 > >
diff --git a/Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml b/Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml new file mode 100644 index 000000000000..7d20ed1e722c --- /dev/null +++ b/Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml @@ -0,0 +1,107 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/nxp,netc-blk-ctrl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NETC Blocks Control + +description: + Usually, NETC has 2 blocks of 64KB registers, integrated endpoint register + block (IERB) and privileged register block (PRB). IERB is used for pre-boot + initialization for all NETC devices, such as ENETC, Timer, EMIDO and so on. + And PRB controls global reset and global error handling for NETC. Moreover, + for the i.MX platform, there is also a NETCMIX block for link configuration, + such as MII protocol, PCS protocol, etc. + +maintainers: + - Wei Fang <wei.fang@nxp.com> + - Clark Wang <xiaoning.wang@nxp.com> + +properties: + compatible: + enum: + - nxp,imx95-netc-blk-ctrl + + reg: + minItems: 2 + maxItems: 3 + + reg-names: + minItems: 2 + items: + - const: ierb + - const: prb + - const: netcmix + + "#address-cells": + const: 2 + + "#size-cells": + const: 2 + + ranges: true + + clocks: + items: + - description: NETC system clock + + clock-names: + items: + - const: ipg_clk + + power-domains: + maxItems: 1 + +patternProperties: + "^pcie@[0-9a-f]+$": + $ref: /schemas/pci/host-generic-pci.yaml# + +required: + - compatible + - "#address-cells" + - "#size-cells" + - reg + - reg-names + - ranges + +unevaluatedProperties: false + +examples: + - | + bus { + #address-cells = <2>; + #size-cells = <2>; + + netc_blk_ctrl: netc-blk-ctrl@4cde0000 { + 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; + clocks = <&scmi_clk 98>; + clock-names = "ipg_clk"; + power-domains = <&scmi_devpd 18>; + + pcie_4cb00000: pcie@4cb00000 { + compatible = "pci-host-ecam-generic"; + reg = <0x0 0x4cb00000 0x0 0x100000>; + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + bus-range = <0x1 0x1>; + ranges = <0x82000000 0x0 0x4cce0000 0x0 0x4cce0000 0x0 0x20000 + 0xc2000000 0x0 0x4cd10000 0x0 0x4cd10000 0x0 0x10000>; + + netc_emdio: mdio@0,0 { + compatible = "nxp,netc-emdio", "pci1131,ee00"; + reg = <0x010000 0 0 0 0>; + #address-cells = <1>; + #size-cells = <0>; + }; + }; + }; + };
Add bindings for NXP NETC blocks control. Signed-off-by: Wei Fang <wei.fang@nxp.com> --- .../bindings/net/nxp,netc-blk-ctrl.yaml | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/nxp,netc-blk-ctrl.yaml