Message ID | 20241218061725.1608466-2-wei.fang@nxp.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add NETC support for i.MX95 | expand |
On Wed, Dec 18, 2024 at 02:17:24PM +0800, Wei Fang wrote: > Add NETC related nodes for i.MX95. > > Signed-off-by: Wei Fang <wei.fang@nxp.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> > --- > arch/arm64/boot/dts/freescale/imx95.dtsi | 93 ++++++++++++++++++++++++ > 1 file changed, 93 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi > index e9c7a8265d71..86f9fed9998c 100644 > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi > @@ -1702,5 +1702,98 @@ ddr-pmu@4e090dc0 { > reg = <0x0 0x4e090dc0 0x0 0x200>; > interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; > }; > + > + netc_blk_ctrl: system-controller@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; > + 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"; > + > + netc_bus0: pcie@4ca00000 { > + compatible = "pci-host-ecam-generic"; > + reg = <0x0 0x4ca00000 0x0 0x100000>; > + #address-cells = <3>; > + #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"; > + }; > + > + netc_timer: ethernet@18,0 { > + reg = <0x00c000 0 0 0 0>; > + status = "disabled"; > + }; > + }; > + > + netc_bus1: 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>; > + /* 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"; > + }; > + }; > + }; > }; > }; > -- > 2.34.1 >
On Wed, Dec 18, 2024 at 02:17:24PM +0800, Wei Fang wrote: > Add NETC related nodes for i.MX95. > > Signed-off-by: Wei Fang <wei.fang@nxp.com> > --- > arch/arm64/boot/dts/freescale/imx95.dtsi | 93 ++++++++++++++++++++++++ > 1 file changed, 93 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi > index e9c7a8265d71..86f9fed9998c 100644 > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi > @@ -1702,5 +1702,98 @@ ddr-pmu@4e090dc0 { > reg = <0x0 0x4e090dc0 0x0 0x200>; > interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; > }; > + > + netc_blk_ctrl: system-controller@4cde0000 { keep order by hex address value. 4cde0000 should ahead ddr-pmu@4e090dc0. Frank > + 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"; > + > + netc_bus0: pcie@4ca00000 { > + compatible = "pci-host-ecam-generic"; > + reg = <0x0 0x4ca00000 0x0 0x100000>; > + #address-cells = <3>; > + #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"; > + }; > + > + netc_timer: ethernet@18,0 { > + reg = <0x00c000 0 0 0 0>; > + status = "disabled"; > + }; > + }; > + > + netc_bus1: 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>; > + /* 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"; > + }; > + }; > + }; > }; > }; > -- > 2.34.1 >
diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi index e9c7a8265d71..86f9fed9998c 100644 --- a/arch/arm64/boot/dts/freescale/imx95.dtsi +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi @@ -1702,5 +1702,98 @@ ddr-pmu@4e090dc0 { reg = <0x0 0x4e090dc0 0x0 0x200>; interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; }; + + netc_blk_ctrl: system-controller@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; + 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"; + + netc_bus0: pcie@4ca00000 { + compatible = "pci-host-ecam-generic"; + reg = <0x0 0x4ca00000 0x0 0x100000>; + #address-cells = <3>; + #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"; + }; + + netc_timer: ethernet@18,0 { + reg = <0x00c000 0 0 0 0>; + status = "disabled"; + }; + }; + + netc_bus1: 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>; + /* 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"; + }; + }; + }; }; };
Add NETC related nodes for i.MX95. Signed-off-by: Wei Fang <wei.fang@nxp.com> --- arch/arm64/boot/dts/freescale/imx95.dtsi | 93 ++++++++++++++++++++++++ 1 file changed, 93 insertions(+)