[PATCH v2 1/2] dts: arm64: add LS1043A DPAA support
Shawn Guo
shawnguo at kernel.org
Tue Mar 14 00:07:34 PDT 2017
On Wed, Mar 01, 2017 at 05:35:04PM +0200, Madalin Bucur wrote:
> Signed-off-by: Madalin Bucur <madalin.bucur at nxp.com>
Empty commit log is generally not welcome, especially when the commit
adds so many files.
> ---
> arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi | 41 +++++++++++
> arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts | 2 +
> arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 75 ++++++++++++++++++++
> arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 73 +++++++++++++++++++-
> .../boot/dts/freescale/qoriq-bman1-portals.dtsi | 67 ++++++++++++++++++
> .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi | 42 ++++++++++++
> .../boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi | 41 +++++++++++
> .../boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi | 41 +++++++++++
> .../boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi | 41 +++++++++++
> .../boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi | 41 +++++++++++
> .../boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi | 41 +++++++++++
> .../boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi | 41 +++++++++++
> arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi | 80 ++++++++++++++++++++++
> .../boot/dts/freescale/qoriq-qman1-portals.dtsi | 76 ++++++++++++++++++++
> 14 files changed, 701 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> create mode 100644 arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
I'm not comfortable with so many and complex include level. Can you
please elaborate it a bit and help us understand the necessity of doing
that?
>
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> new file mode 100644
> index 0000000..bf443d2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 device tree nodes for ls1043
> + *
> + * Copyright 2015-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
It's still controversial whether we should use SPDX tag.
https://lkml.org/lkml/2017/2/28/750
> +
> +&soc {
> +
> +/include/ "qoriq-fman3-0.dtsi"
> +/include/ "qoriq-fman3-0-1g-0.dtsi"
> +/include/ "qoriq-fman3-0-1g-1.dtsi"
> +/include/ "qoriq-fman3-0-1g-2.dtsi"
> +/include/ "qoriq-fman3-0-1g-3.dtsi"
> +/include/ "qoriq-fman3-0-1g-4.dtsi"
> +/include/ "qoriq-fman3-0-1g-5.dtsi"
> +/include/ "qoriq-fman3-0-10g-0.dtsi"
We usually put the includes at the beginning of the file, and #include
is more recommended than /include/.
> + fman at 1a00000 {
> + enet0: ethernet at e0000 {
> + };
> +
> + enet1: ethernet at e2000 {
> + };
> +
> + enet2: ethernet at e4000 {
> + };
> +
> + enet3: ethernet at e6000 {
> + };
> +
> + enet4: ethernet at e8000 {
> + };
> +
> + enet5: ethernet at ea000 {
> + };
> +
> + enet6: ethernet at f0000 {
> + };
> + };
I do not quite understand why these nodes are empty.
> +};
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> index 0989d63..ee66bb2 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
> @@ -181,3 +181,5 @@
> reg = <0>;
> };
> };
> +
> +/include/ "fsl-ls1043-post.dtsi"
Move it to header of the file.
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> index c37110b..d94f003 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
> @@ -139,3 +139,78 @@
> &duart1 {
> status = "okay";
> };
> +
> +/include/ "fsl-ls1043-post.dtsi"
> +
Ditto
> +&soc {
> + fman at 1a00000 {
> + ethernet at e0000 {
You defined enet0 label. Why don't you use it?
> + phy-handle = <&qsgmii_phy1>;
> + phy-connection-type = "qsgmii";
> + };
> +
> + ethernet at e2000 {
> + phy-handle = <&qsgmii_phy2>;
> + phy-connection-type = "qsgmii";
> + };
> +
> + ethernet at e4000 {
> + phy-handle = <&rgmii_phy1>;
> + phy-connection-type = "rgmii";
> + };
> +
> + ethernet at e6000 {
> + phy-handle = <&rgmii_phy2>;
> + phy-connection-type = "rgmii";
> + };
> +
> + ethernet at e8000 {
> + phy-handle = <&qsgmii_phy3>;
> + phy-connection-type = "qsgmii";
> + };
> +
> + ethernet at ea000 {
> + phy-handle = <&qsgmii_phy4>;
> + phy-connection-type = "qsgmii";
> + };
> +
> + ethernet at f0000 { /* 10GEC1 */
> + phy-handle = <&aqr105_phy>;
> + phy-connection-type = "xgmii";
> + };
> +
> + mdio at fc000 {
Use label reference the node you already define, so that you do not have
to maintain the device tree hierarchy for referencing the node.
> + rgmii_phy1: ethernet-phy at 1 {
> + reg = <0x1>;
> + };
> +
> + rgmii_phy2: ethernet-phy at 2 {
> + reg = <0x2>;
> + };
> +
> + qsgmii_phy1: ethernet-phy at 3 {
> + reg = <0x4>;
The unit address in the node name should match 'reg' value.
> + };
> +
> + qsgmii_phy2: ethernet-phy at 4 {
> + reg = <0x5>;
> + };
> +
> + qsgmii_phy3: ethernet-phy at 5 {
> + reg = <0x6>;
> + };
> +
> + qsgmii_phy4: ethernet-phy at 6 {
> + reg = <0x7>;
> + };
> + };
> +
> + mdio at fd000 {
> + aqr105_phy: ethernet-phy at c {
> + compatible = "ethernet-phy-ieee802.3-c45";
> + interrupts = <0 132 4>;
> + reg = <0x1>;
> + };
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> index ec13a6e..ac1e0af 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> @@ -52,6 +52,17 @@
> #address-cells = <2>;
> #size-cells = <2>;
>
> + aliases {
> + fman0 = &fman0;
> + ethernet0 = &enet0;
> + ethernet1 = &enet1;
> + ethernet2 = &enet2;
> + ethernet3 = &enet3;
> + ethernet4 = &enet4;
> + ethernet5 = &enet5;
> + ethernet6 = &enet6;
> + };
> +
> cpus {
> #address-cells = <1>;
> #size-cells = <0>;
> @@ -106,6 +117,36 @@
> /* DRAM space 1, size: 2GiB DRAM */
> };
>
> + reserved-memory {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + bman_fbpr: bman-fbpr {
> + size = <0 0x1000000>;
> + alignment = <0 0x1000000>;
> + };
> +
> + qman_fqd: qman-fqd {
> + size = <0 0x400000>;
> + alignment = <0 0x400000>;
> + };
> +
> + qman_pfdr: qman-pfdr {
> + size = <0 0x2000000>;
> + alignment = <0 0x2000000>;
> + };
> + };
> +
> + bportals: bman-portals at 508000000 {
> + ranges = <0x0 0x5 0x08000000 0x8000000>;
> + };
> +
> + qportals: qman-portals at 500000000 {
> + ranges = <0x0 0x5 0x00000000 0x8000000>;
> + };
Why are these two devices directly under root, not soc node?
> +
> +
> sysclk: sysclk {
> compatible = "fixed-clock";
> #clock-cells = <0>;
> @@ -152,7 +193,7 @@
> interrupts = <1 9 0xf08>;
> };
>
> - soc {
> + soc: soc {
> compatible = "simple-bus";
> #address-cells = <2>;
> #size-cells = <2>;
> @@ -333,6 +374,18 @@
> };
> };
>
> + qman: qman at 1880000 {
> + compatible = "fsl,qman";
> + reg = <0x00 0x1880000 0x0 0x10000>;
> + interrupts = <0 45 0x4>;
> + };
> +
> + bman: bman at 1890000 {
> + compatible = "fsl,bman";
> + reg = <0x00 0x1890000 0x0 0x10000>;
> + interrupts = <0 45 0x4>;
> + };
> +
> dspi0: dspi at 2100000 {
> compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
> #address-cells = <1>;
> @@ -686,3 +739,21 @@
> };
>
> };
> +
> +&bman_fbpr {
> + compatible = "fsl,bman-fbpr";
> + alloc-ranges = <0 0 0x10000 0>;
> +};
> +
> +&qman_fqd {
> + compatible = "fsl,qman-fqd";
> + alloc-ranges = <0 0 0x10000 0>;
> +};
> +
> +&qman_pfdr {
> + compatible = "fsl,qman-pfdr";
> + alloc-ranges = <0 0 0x10000 0>;
> +};
Why do you need to separate these from the nodes in reserved-memory?
I stop right here. Honestly, I do not like the patch as its current
form. I guess you should do something to make the reviewing of the
changes a bit easier.
Shawn
> +
> +/include/ "qoriq-qman1-portals.dtsi"
> +/include/ "qoriq-bman1-portals.dtsi"
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
> new file mode 100644
> index 0000000..b007344
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-bman1-portals.dtsi
> @@ -0,0 +1,67 @@
> +/*
> + * QorIQ BMan Portals device tree
> + *
> + * Copyright 2011-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +&bportals {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "simple-bus";
> +
> + bman-portal at 0 {
> + compatible = "fsl,bman-portal";
> + reg = <0x0 0x4000 0x4000000 0x4000>;
> + interrupts = <0 173 0x4>;
> + };
> +
> + bman-portal at 10000 {
> + compatible = "fsl,bman-portal";
> + reg = <0x10000 0x4000 0x4010000 0x4000>;
> + interrupts = <0 175 0x4>;
> + };
> +
> + bman-portal at 20000 {
> + compatible = "fsl,bman-portal";
> + reg = <0x20000 0x4000 0x4020000 0x4000>;
> + interrupts = <0 177 0x4>;
> + };
> +
> + bman-portal at 30000 {
> + compatible = "fsl,bman-portal";
> + reg = <0x30000 0x4000 0x4030000 0x4000>;
> + interrupts = <0 179 0x4>;
> + };
> +
> + bman-portal at 40000 {
> + compatible = "fsl,bman-portal";
> + reg = <0x40000 0x4000 0x4040000 0x4000>;
> + interrupts = <0 181 0x4>;
> + };
> +
> + bman-portal at 50000 {
> + compatible = "fsl,bman-portal";
> + reg = <0x50000 0x4000 0x4050000 0x4000>;
> + interrupts = <0 183 0x4>;
> + };
> +
> + bman-portal at 60000 {
> + compatible = "fsl,bman-portal";
> + reg = <0x60000 0x4000 0x4060000 0x4000>;
> + interrupts = <0 185 0x4>;
> + };
> +
> + bman-portal at 70000 {
> + compatible = "fsl,bman-portal";
> + reg = <0x70000 0x4000 0x4070000 0x4000>;
> + interrupts = <0 187 0x4>;
> + };
> +
> + bman-portal at 80000 {
> + compatible = "fsl,bman-portal";
> + reg = <0x80000 0x4000 0x4080000 0x4000>;
> + interrupts = <0 189 0x4>;
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
> new file mode 100644
> index 0000000..ecdffe7
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi
> @@ -0,0 +1,42 @@
> +/*
> + * QorIQ FMan v3 10g port #0 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> + fman0_rx_0x10: port at 90000 {
> + cell-index = <0x10>;
> + compatible = "fsl,fman-v3-port-rx";
> + reg = <0x90000 0x1000>;
> + fsl,fman-10g-port;
> + };
> +
> + fman0_tx_0x30: port at b0000 {
> + cell-index = <0x30>;
> + compatible = "fsl,fman-v3-port-tx";
> + reg = <0xb0000 0x1000>;
> + fsl,fman-10g-port;
> + };
> +
> + ethernet at f0000 {
> + cell-index = <0x8>;
> + compatible = "fsl,fman-memac";
> + reg = <0xf0000 0x1000>;
> + fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>;
> + pcsphy-handle = <&pcsphy6>;
> + };
> +
> + mdio at f1000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> + reg = <0xf1000 0x1000>;
> +
> + pcsphy6: ethernet-phy at 0 {
> + reg = <0x0>;
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
> new file mode 100644
> index 0000000..d600786
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #0 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> + fman0_rx_0x08: port at 88000 {
> + cell-index = <0x8>;
> + compatible = "fsl,fman-v3-port-rx";
> + reg = <0x88000 0x1000>;
> + };
> +
> + fman0_tx_0x28: port at a8000 {
> + cell-index = <0x28>;
> + compatible = "fsl,fman-v3-port-tx";
> + reg = <0xa8000 0x1000>;
> + };
> +
> + ethernet at e0000 {
> + cell-index = <0>;
> + compatible = "fsl,fman-memac";
> + reg = <0xe0000 0x1000>;
> + fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
> + ptp-timer = <&ptp_timer0>;
> + pcsphy-handle = <&pcsphy0>;
> + };
> +
> + mdio at e1000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> + reg = <0xe1000 0x1000>;
> +
> + pcsphy0: ethernet-phy at 0 {
> + reg = <0x0>;
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
> new file mode 100644
> index 0000000..3c0b76d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #1 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> + fman0_rx_0x09: port at 89000 {
> + cell-index = <0x9>;
> + compatible = "fsl,fman-v3-port-rx";
> + reg = <0x89000 0x1000>;
> + };
> +
> + fman0_tx_0x29: port at a9000 {
> + cell-index = <0x29>;
> + compatible = "fsl,fman-v3-port-tx";
> + reg = <0xa9000 0x1000>;
> + };
> +
> + ethernet at e2000 {
> + cell-index = <1>;
> + compatible = "fsl,fman-memac";
> + reg = <0xe2000 0x1000>;
> + fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
> + ptp-timer = <&ptp_timer0>;
> + pcsphy-handle = <&pcsphy1>;
> + };
> +
> + mdio at e3000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> + reg = <0xe3000 0x1000>;
> +
> + pcsphy1: ethernet-phy at 0 {
> + reg = <0x0>;
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
> new file mode 100644
> index 0000000..89633af
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #2 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> + fman0_rx_0x0a: port at 8a000 {
> + cell-index = <0xa>;
> + compatible = "fsl,fman-v3-port-rx";
> + reg = <0x8a000 0x1000>;
> + };
> +
> + fman0_tx_0x2a: port at aa000 {
> + cell-index = <0x2a>;
> + compatible = "fsl,fman-v3-port-tx";
> + reg = <0xaa000 0x1000>;
> + };
> +
> + ethernet at e4000 {
> + cell-index = <2>;
> + compatible = "fsl,fman-memac";
> + reg = <0xe4000 0x1000>;
> + fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>;
> + ptp-timer = <&ptp_timer0>;
> + pcsphy-handle = <&pcsphy2>;
> + };
> +
> + mdio at e5000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> + reg = <0xe5000 0x1000>;
> +
> + pcsphy2: ethernet-phy at 0 {
> + reg = <0x0>;
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
> new file mode 100644
> index 0000000..87c2b70
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #3 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> + fman0_rx_0x0b: port at 8b000 {
> + cell-index = <0xb>;
> + compatible = "fsl,fman-v3-port-rx";
> + reg = <0x8b000 0x1000>;
> + };
> +
> + fman0_tx_0x2b: port at ab000 {
> + cell-index = <0x2b>;
> + compatible = "fsl,fman-v3-port-tx";
> + reg = <0xab000 0x1000>;
> + };
> +
> + ethernet at e6000 {
> + cell-index = <3>;
> + compatible = "fsl,fman-memac";
> + reg = <0xe6000 0x1000>;
> + fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>;
> + ptp-timer = <&ptp_timer0>;
> + pcsphy-handle = <&pcsphy3>;
> + };
> +
> + mdio at e7000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> + reg = <0xe7000 0x1000>;
> +
> + pcsphy3: ethernet-phy at 0 {
> + reg = <0x0>;
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
> new file mode 100644
> index 0000000..8f4d74b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #4 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> + fman0_rx_0x0c: port at 8c000 {
> + cell-index = <0xc>;
> + compatible = "fsl,fman-v3-port-rx";
> + reg = <0x8c000 0x1000>;
> + };
> +
> + fman0_tx_0x2c: port at ac000 {
> + cell-index = <0x2c>;
> + compatible = "fsl,fman-v3-port-tx";
> + reg = <0xac000 0x1000>;
> + };
> +
> + ethernet at e8000 {
> + cell-index = <4>;
> + compatible = "fsl,fman-memac";
> + reg = <0xe8000 0x1000>;
> + fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
> + ptp-timer = <&ptp_timer0>;
> + pcsphy-handle = <&pcsphy4>;
> + };
> +
> + mdio at e9000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> + reg = <0xe9000 0x1000>;
> +
> + pcsphy4: ethernet-phy at 0 {
> + reg = <0x0>;
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
> new file mode 100644
> index 0000000..d534f77
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi
> @@ -0,0 +1,41 @@
> +/*
> + * QorIQ FMan v3 1g port #5 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman at 1a00000 {
> + fman0_rx_0x0d: port at 8d000 {
> + cell-index = <0xd>;
> + compatible = "fsl,fman-v3-port-rx";
> + reg = <0x8d000 0x1000>;
> + };
> +
> + fman0_tx_0x2d: port at ad000 {
> + cell-index = <0x2d>;
> + compatible = "fsl,fman-v3-port-tx";
> + reg = <0xad000 0x1000>;
> + };
> +
> + ethernet at ea000 {
> + cell-index = <5>;
> + compatible = "fsl,fman-memac";
> + reg = <0xea000 0x1000>;
> + fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>;
> + ptp-timer = <&ptp_timer0>;
> + pcsphy-handle = <&pcsphy5>;
> + };
> +
> + mdio at eb000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> + reg = <0xeb000 0x1000>;
> +
> + pcsphy5: ethernet-phy at 0 {
> + reg = <0x0>;
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> new file mode 100644
> index 0000000..a559441
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi
> @@ -0,0 +1,80 @@
> +/*
> + * QorIQ FMan v3 device tree
> + *
> + * Copyright 2012-2015 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +fman0: fman at 1a00000 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + cell-index = <0>;
> + compatible = "fsl,fman";
> + ranges = <0x0 0x00 0x1a00000 0x100000>;
> + reg = <0x0 0x1a00000 0x0 0x100000>;
> + interrupts = <0 44 0x4>, <0 45 0x4>;
> + clocks = <&clockgen 3 0>;
> + clock-names = "fmanclk";
> + fsl,qman-channel-range = <0x800 0x10>;
> +
> + muram at 0 {
> + compatible = "fsl,fman-muram";
> + reg = <0x0 0x60000>;
> + };
> +
> + fman0_oh_0x2: port at 82000 {
> + cell-index = <0x2>;
> + compatible = "fsl,fman-v3-port-oh";
> + reg = <0x82000 0x1000>;
> + };
> +
> + fman0_oh_0x3: port at 83000 {
> + cell-index = <0x3>;
> + compatible = "fsl,fman-v3-port-oh";
> + reg = <0x83000 0x1000>;
> + };
> +
> + fman0_oh_0x4: port at 84000 {
> + cell-index = <0x4>;
> + compatible = "fsl,fman-v3-port-oh";
> + reg = <0x84000 0x1000>;
> + };
> +
> + fman0_oh_0x5: port at 85000 {
> + cell-index = <0x5>;
> + compatible = "fsl,fman-v3-port-oh";
> + reg = <0x85000 0x1000>;
> + };
> +
> + fman0_oh_0x6: port at 86000 {
> + cell-index = <0x6>;
> + compatible = "fsl,fman-v3-port-oh";
> + reg = <0x86000 0x1000>;
> + };
> +
> + fman0_oh_0x7: port at 87000 {
> + cell-index = <0x7>;
> + compatible = "fsl,fman-v3-port-oh";
> + reg = <0x87000 0x1000>;
> + };
> +
> + mdio0: mdio at fc000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> + reg = <0xfc000 0x1000>;
> + };
> +
> + xmdio0: mdio at fd000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
> + reg = <0xfd000 0x1000>;
> + };
> +
> + ptp_timer0: ptp-timer at fe000 {
> + compatible = "fsl,fman-ptp-timer";
> + reg = <0xfe000 0x1000>;
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
> new file mode 100644
> index 0000000..4baec2c
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/qoriq-qman1-portals.dtsi
> @@ -0,0 +1,76 @@
> +/*
> + * QorIQ QMan Portals device tree
> + *
> + * Copyright 2011-2016 Freescale Semiconductor Inc.
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> + */
> +
> +&qportals {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "simple-bus";
> +
> + qportal0: qman-portal at 0 {
> + compatible = "fsl,qman-portal";
> + reg = <0x0 0x4000 0x4000000 0x4000>;
> + interrupts = <0 172 0x4>;
> + cell-index = <0>;
> + };
> +
> + qportal1: qman-portal at 10000 {
> + compatible = "fsl,qman-portal";
> + reg = <0x10000 0x4000 0x4010000 0x4000>;
> + interrupts = <0 174 0x4>;
> + cell-index = <1>;
> + };
> +
> + qportal2: qman-portal at 20000 {
> + compatible = "fsl,qman-portal";
> + reg = <0x20000 0x4000 0x4020000 0x4000>;
> + interrupts = <0 176 0x4>;
> + cell-index = <2>;
> + };
> +
> + qportal3: qman-portal at 30000 {
> + compatible = "fsl,qman-portal";
> + reg = <0x30000 0x4000 0x4030000 0x4000>;
> + interrupts = <0 178 0x4>;
> + cell-index = <3>;
> + };
> +
> + qportal4: qman-portal at 40000 {
> + compatible = "fsl,qman-portal";
> + reg = <0x40000 0x4000 0x4040000 0x4000>;
> + interrupts = <0 180 0x4>;
> + cell-index = <4>;
> + };
> +
> + qportal5: qman-portal at 50000 {
> + compatible = "fsl,qman-portal";
> + reg = <0x50000 0x4000 0x4050000 0x4000>;
> + interrupts = <0 182 0x4>;
> + cell-index = <5>;
> + };
> +
> + qportal6: qman-portal at 60000 {
> + compatible = "fsl,qman-portal";
> + reg = <0x60000 0x4000 0x4060000 0x4000>;
> + interrupts = <0 184 0x4>;
> + cell-index = <6>;
> + };
> +
> + qportal7: qman-portal at 70000 {
> + compatible = "fsl,qman-portal";
> + reg = <0x70000 0x4000 0x4070000 0x4000>;
> + interrupts = <0 186 0x4>;
> + cell-index = <7>;
> + };
> +
> + qportal8: qman-portal at 80000 {
> + compatible = "fsl,qman-portal";
> + reg = <0x80000 0x4000 0x4080000 0x4000>;
> + interrupts = <0 188 0x4>;
> + cell-index = <8>;
> + };
> +};
> --
> 2.1.0
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list