* [PATCH v2 0/2] dts: arm64: add DPAA 1 support for ARM based SoCs @ 2017-03-01 15:35 Madalin Bucur 2017-03-01 15:35 ` [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support Madalin Bucur 2017-03-01 15:35 ` [PATCH v2 2/2] dts: arm64: add LS1046A " Madalin Bucur 0 siblings, 2 replies; 10+ messages in thread From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw) To: linux-arm-kernel Add DPAA 1 nodes for LS1043A/LS1046A and networking support for RDB and QDS boards with these SoCs. changes from v1: addressed comment from Rob Herring on using SPDX license identifiers Madalin Bucur (2): dts: arm64: add LS1043A DPAA support dts: arm64: add LS1046A DPAA support 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 +++++++++++++++++++- arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi | 45 ++++++++++++ arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts | 2 + arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts | 62 +++++++++++++++++ arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 66 +++++++++++++++++- .../boot/dts/freescale/qoriq-bman1-portals.dtsi | 67 ++++++++++++++++++ .../boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi | 42 ++++++++++++ .../boot/dts/freescale/qoriq-fman3-0-10g-1.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 ++++++++++++++++++++ 19 files changed, 917 insertions(+), 2 deletions(-) create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046-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-10g-1.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 -- 2.1.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support 2017-03-01 15:35 [PATCH v2 0/2] dts: arm64: add DPAA 1 support for ARM based SoCs Madalin Bucur @ 2017-03-01 15:35 ` Madalin Bucur 2017-03-14 7:07 ` Shawn Guo 2017-03-01 15:35 ` [PATCH v2 2/2] dts: arm64: add LS1046A " Madalin Bucur 1 sibling, 1 reply; 10+ messages in thread From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> --- 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 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) + */ + +&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" + 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 { + }; + }; +}; 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" 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" + +&soc { + fman at 1a00000 { + ethernet at e0000 { + 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 { + rgmii_phy1: ethernet-phy at 1 { + reg = <0x1>; + }; + + rgmii_phy2: ethernet-phy at 2 { + reg = <0x2>; + }; + + qsgmii_phy1: ethernet-phy at 3 { + reg = <0x4>; + }; + + 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>; + }; + + 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>; +}; + +/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 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support 2017-03-01 15:35 ` [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support Madalin Bucur @ 2017-03-14 7:07 ` Shawn Guo 2017-03-22 10:58 ` Madalin-Cristian Bucur 0 siblings, 1 reply; 10+ messages in thread From: Shawn Guo @ 2017-03-14 7:07 UTC (permalink / raw) To: linux-arm-kernel On Wed, Mar 01, 2017 at 05:35:04PM +0200, Madalin Bucur wrote: > Signed-off-by: Madalin Bucur <madalin.bucur@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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support 2017-03-14 7:07 ` Shawn Guo @ 2017-03-22 10:58 ` Madalin-Cristian Bucur 2017-03-27 6:27 ` Shawn Guo 0 siblings, 1 reply; 10+ messages in thread From: Madalin-Cristian Bucur @ 2017-03-22 10:58 UTC (permalink / raw) To: linux-arm-kernel > -----Original Message----- > From: Shawn Guo [mailto:shawnguo at kernel.org] > Sent: Tuesday, March 14, 2017 9:08 AM > On Wed, Mar 01, 2017 at 05:35:04PM +0200, Madalin Bucur wrote: > > Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> > > Empty commit log is generally not welcome, especially when the commit > adds so many files. Hi Shawn, thank you for your time. I'll split this into several separate patches, with better commit logs. > > --- > > 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? The DPAA (Data Path Acceleration Architecture) 1.x was first introduced on PowerPC QorIQ devices, where it was included in more than ten SoCs, each with its own particular implementation of it. There are SoCs that implement one FMan, others with two, some have none, some have one or two 10G ports. In order to allow reuse and reduce redundancy, the DPAA PPC component nodes were split into separate files a long time ago. I'm just carrying over this layout to the DPAA 1.x ARM platforms. > > > > 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 > We're already making use of SPDX tags for u-boot updates and internally this was accepted already. The remaining question is if the SPDX tag use is or is not welcome in the kernel tree. > > + > > +&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/. I'm not making use of the header file inclusion feature #include provides (nor plan to) in these files thus I've selected /include/ here. > > + 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. These nodes provide the aliases (and custom SoC mapping) for the FMan ports that are used on this particular SoC. The particular node details are found in the port dtsi file thus no information is required here. Given the fact that the numbering and actual ports that are in use can vary between SoCs, the aliases cannot be included in the port dtsi nor in the FMan dtsi. > > +}; > > 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. This is to be included at the end, to make sure the references are met and to allow overrides if needed. > > 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? > The enet0 label is used by u-boot for fix-ups, providing the actual offset here makes it easier to follow. > > + 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. This needs to be addressed. > > + }; > > + > > + 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? We'll look into this during the patch split. > > + > > + > > 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 These will be moved there. The new patch set will allow easier reviewing by splitting the changes into multiple patches. Madalin ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support 2017-03-22 10:58 ` Madalin-Cristian Bucur @ 2017-03-27 6:27 ` Shawn Guo 2017-03-27 7:03 ` Madalin-Cristian Bucur 0 siblings, 1 reply; 10+ messages in thread From: Shawn Guo @ 2017-03-27 6:27 UTC (permalink / raw) To: linux-arm-kernel On Wed, Mar 22, 2017 at 10:58:12AM +0000, Madalin-Cristian Bucur wrote: > > > +&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/. > > I'm not making use of the header file inclusion feature #include provides > (nor plan to) in these files thus I've selected /include/ here. Let's be simple and consistent. Use #include please. > > > + 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. > > These nodes provide the aliases (and custom SoC mapping) for the > FMan ports that are used on this particular SoC. The particular > node details are found in the port dtsi file thus no information > is required here. Given the fact that the numbering and actual > ports that are in use can vary between SoCs, the aliases cannot > be included in the port dtsi nor in the FMan dtsi. Do not completely follow. What do you mean by 'port dtsi file'? Maybe I should wait for you new patches with better commit log and comments to understand these odd empty nodes. > > > > +}; > > > 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. > > This is to be included at the end, to make sure the references are > met and to allow overrides if needed. What is broken if you move the include to header? > > > > 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? > > > > The enet0 label is used by u-boot for fix-ups, providing the > actual offset here makes it easier to follow. You will not need to construct the node hierarchy with label. And alias/label name is more easier to follow than offset. Shawn ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support 2017-03-27 6:27 ` Shawn Guo @ 2017-03-27 7:03 ` Madalin-Cristian Bucur 2017-03-27 7:55 ` Shawn Guo 0 siblings, 1 reply; 10+ messages in thread From: Madalin-Cristian Bucur @ 2017-03-27 7:03 UTC (permalink / raw) To: linux-arm-kernel > -----Original Message----- > From: Shawn Guo [mailto:shawnguo at kernel.org] > Sent: Monday, March 27, 2017 9:27 AM > Subject: Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support > > On Wed, Mar 22, 2017 at 10:58:12AM +0000, Madalin-Cristian Bucur wrote: > > > > +&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/. > > > > I'm not making use of the header file inclusion feature #include > provides > > (nor plan to) in these files thus I've selected /include/ here. > > Let's be simple and consistent. Use #include please. I can do that, running the preprocessor on these files without being required does not add that much time in the end. I'm not a fan of this feature, I never liked the fact one loses the liberty of easily using dtc directly to debug using dtc -O dts when adding #includes. > > > > + 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. > > > > These nodes provide the aliases (and custom SoC mapping) for the > > FMan ports that are used on this particular SoC. The particular > > node details are found in the port dtsi file thus no information > > is required here. Given the fact that the numbering and actual > > ports that are in use can vary between SoCs, the aliases cannot > > be included in the port dtsi nor in the FMan dtsi. > > Do not completely follow. What do you mean by 'port dtsi file'? Maybe > I should wait for you new patches with better commit log and comments to > understand these odd empty nodes. The DPAA IP can have a certain number of ports. Out of those, a certain SoC can use all or only a subset, with diverse decisions on actual numbering of the used ports. Next, when using the SoC on a particular board, some ports will be used, some will not. The file hierarchy relates to this hierarchy - you have individual port files that are included by the SoC dtsi which in turn is included by the board dts. These nodes do not need any new content as all the node details are provided by the port dtsi files. The information they provide is the alias used for each port. > > > > > > +}; > > > > 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. > > > > This is to be included at the end, to make sure the references are > > met and to allow overrides if needed. > > What is broken if you move the include to header? Not much besides the structure we've always used for our SoCs device trees. The file is called "-post.dtsi" because here is the place any required overrides can be made, if needed. Moving to the top renders having this separate file useless. > > > > > > 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? > > > > > > > The enet0 label is used by u-boot for fix-ups, providing the > > actual offset here makes it easier to follow. > > You will not need to construct the node hierarchy with label. And > alias/label name is more easier to follow than offset. > > Shawn When I said easier to follow I was referring to someone creating a new device tree for his custom board, not someone reading the device tree. If you have the board and SoC reference manuals in your hands and you are writing a new board device tree, having the offset here makes things easier. The benefit of having one less indentation level is lesser than that. Madalin ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support 2017-03-27 7:03 ` Madalin-Cristian Bucur @ 2017-03-27 7:55 ` Shawn Guo 2017-03-27 8:11 ` Madalin-Cristian Bucur 0 siblings, 1 reply; 10+ messages in thread From: Shawn Guo @ 2017-03-27 7:55 UTC (permalink / raw) To: linux-arm-kernel On Mon, Mar 27, 2017 at 07:03:40AM +0000, Madalin-Cristian Bucur wrote: > > > > > + 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. > > > > > > These nodes provide the aliases (and custom SoC mapping) for the > > > FMan ports that are used on this particular SoC. The particular > > > node details are found in the port dtsi file thus no information > > > is required here. Given the fact that the numbering and actual > > > ports that are in use can vary between SoCs, the aliases cannot > > > be included in the port dtsi nor in the FMan dtsi. > > > > Do not completely follow. What do you mean by 'port dtsi file'? Maybe > > I should wait for you new patches with better commit log and comments to > > understand these odd empty nodes. > > The DPAA IP can have a certain number of ports. Out of those, a certain > SoC can use all or only a subset, with diverse decisions on actual numbering > of the used ports. Next, when using the SoC on a particular board, some > ports will be used, some will not. The file hierarchy relates to this > hierarchy - you have individual port files that are included by the > SoC dtsi which in turn is included by the board dts. These nodes do not > need any new content as all the node details are provided by the port > dtsi files. The information they provide is the alias used for each port. My impression is that such hierarchy mapping is not really necessary and only makes the device tree source messy and hard to follow. I do not like it. > > > > > > > > > +}; > > > > > 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. > > > > > > This is to be included at the end, to make sure the references are > > > met and to allow overrides if needed. > > > > What is broken if you move the include to header? > > Not much besides the structure we've always used for our SoCs device > trees. The file is called "-post.dtsi" because here is the place any > required overrides can be made, if needed. Moving to the top renders > having this separate file useless. That's great, and let's kill it then. > > > > > > > > > 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? > > > > > > > > > > The enet0 label is used by u-boot for fix-ups, providing the > > > actual offset here makes it easier to follow. > > > > You will not need to construct the node hierarchy with label. And > > alias/label name is more easier to follow than offset. > > > > Shawn > > When I said easier to follow I was referring to someone creating a > new device tree for his custom board, not someone reading the device > tree. If you have the board and SoC reference manuals in your hands > and you are writing a new board device tree, having the offset here > makes things easier. The benefit of having one less indentation level > is lesser than that. The while complex and messy file hierarchy makes users' life harder, both the ones reading the device tree and the ones creating board device tree. I would suggest you go the opposite, making the device tree simple and easy for users by allowing data duplication. In arm/arm64 device tree world, we do not consider DT data reusing/sharing among different SoCs that much. Shawn ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support 2017-03-27 7:55 ` Shawn Guo @ 2017-03-27 8:11 ` Madalin-Cristian Bucur 2017-03-27 8:55 ` Shawn Guo 0 siblings, 1 reply; 10+ messages in thread From: Madalin-Cristian Bucur @ 2017-03-27 8:11 UTC (permalink / raw) To: linux-arm-kernel > -----Original Message----- > From: Shawn Guo [mailto:shawnguo at kernel.org] > Sent: Monday, March 27, 2017 10:56 AM > Subject: Re: [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support > > On Mon, Mar 27, 2017 at 07:03:40AM +0000, Madalin-Cristian Bucur wrote: > > > > > > + 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. > > > > > > > > These nodes provide the aliases (and custom SoC mapping) for the > > > > FMan ports that are used on this particular SoC. The particular > > > > node details are found in the port dtsi file thus no information > > > > is required here. Given the fact that the numbering and actual > > > > ports that are in use can vary between SoCs, the aliases cannot > > > > be included in the port dtsi nor in the FMan dtsi. > > > > > > Do not completely follow. What do you mean by 'port dtsi file'? > Maybe > > > I should wait for you new patches with better commit log and comments > to > > > understand these odd empty nodes. > > > > The DPAA IP can have a certain number of ports. Out of those, a certain > > SoC can use all or only a subset, with diverse decisions on actual > numbering > > of the used ports. Next, when using the SoC on a particular board, some > > ports will be used, some will not. The file hierarchy relates to this > > hierarchy - you have individual port files that are included by the > > SoC dtsi which in turn is included by the board dts. These nodes do not > > need any new content as all the node details are provided by the port > > dtsi files. The information they provide is the alias used for each > port. > > My impression is that such hierarchy mapping is not really necessary and > only makes the device tree source messy and hard to follow. I do not > like it. Hi Shawn, I respect your opinion on this, I'm sure it is the result of an extensive experience dealing with less complicated devices. Before breaking a construct that to date has served the DPAA users well I'd like to hear more thoughts on this topic. > > > > > > > > > > > > +}; > > > > > > 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. > > > > > > > > This is to be included at the end, to make sure the references are > > > > met and to allow overrides if needed. > > > > > > What is broken if you move the include to header? > > > > Not much besides the structure we've always used for our SoCs device > > trees. The file is called "-post.dtsi" because here is the place any > > required overrides can be made, if needed. Moving to the top renders > > having this separate file useless. > > That's great, and let's kill it then. > > > > > > > > > > > > > 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? > > > > > > > > > > > > > The enet0 label is used by u-boot for fix-ups, providing the > > > > actual offset here makes it easier to follow. > > > > > > You will not need to construct the node hierarchy with label. And > > > alias/label name is more easier to follow than offset. > > > > > > Shawn > > > > When I said easier to follow I was referring to someone creating a > > new device tree for his custom board, not someone reading the device > > tree. If you have the board and SoC reference manuals in your hands > > and you are writing a new board device tree, having the offset here > > makes things easier. The benefit of having one less indentation level > > is lesser than that. > > The while complex and messy file hierarchy makes users' life harder, > both the ones reading the device tree and the ones creating board device > tree. I would suggest you go the opposite, making the device tree > simple and easy for users by allowing data duplication. In arm/arm64 > device tree world, we do not consider DT data reusing/sharing among > different SoCs that much. > > Shawn Complex it is, mirroring the IP, but messy it is a word I would not use. Regards, Madalin ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support 2017-03-27 8:11 ` Madalin-Cristian Bucur @ 2017-03-27 8:55 ` Shawn Guo 0 siblings, 0 replies; 10+ messages in thread From: Shawn Guo @ 2017-03-27 8:55 UTC (permalink / raw) To: linux-arm-kernel On Mon, Mar 27, 2017 at 08:11:33AM +0000, Madalin-Cristian Bucur wrote: > Complex it is, mirroring the IP, but messy it is a word I would not use. Well, just my personal opinion. Shawn ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 2/2] dts: arm64: add LS1046A DPAA support 2017-03-01 15:35 [PATCH v2 0/2] dts: arm64: add DPAA 1 support for ARM based SoCs Madalin Bucur 2017-03-01 15:35 ` [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support Madalin Bucur @ 2017-03-01 15:35 ` Madalin Bucur 1 sibling, 0 replies; 10+ messages in thread From: Madalin Bucur @ 2017-03-01 15:35 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> --- arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi | 45 +++++++++++++++ arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts | 2 + arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts | 62 ++++++++++++++++++++ arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 66 +++++++++++++++++++++- .../boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi | 42 ++++++++++++++ 5 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi create mode 100644 arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi new file mode 100644 index 0000000..1a29045 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi @@ -0,0 +1,45 @@ +/* + * QorIQ FMan v3 device tree nodes for ls1046 + * + * Copyright 2015-2016 Freescale Semiconductor Inc. + * + * SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) + */ + +&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" +/include/ "qoriq-fman3-0-10g-1.dtsi" + 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 { + }; + + enet7: ethernet at f2000 { + }; + }; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts index 290e5b0..ccd3948 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts @@ -210,3 +210,5 @@ reg = <0>; }; }; + +/include/ "fsl-ls1046-post.dtsi" diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts index d1ccc00..78d5609 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts @@ -148,3 +148,65 @@ reg = <1>; }; }; + +/include/ "fsl-ls1046-post.dtsi" + +&soc { + fman at 1a00000 { + 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 = <&sgmii_phy1>; + phy-connection-type = "sgmii"; + }; + + ethernet at ea000 { + phy-handle = <&sgmii_phy2>; + phy-connection-type = "sgmii"; + }; + + ethernet at f0000 { /* 10GEC1 */ + phy-handle = <&aqr106_phy>; + phy-connection-type = "xgmii"; + }; + + ethernet at f2000 { /* 10GEC2 */ + fixed-link = <0 1 1000 0 0>; + phy-connection-type = "xgmii"; + }; + + mdio at fc000 { + rgmii_phy1: ethernet-phy at 1 { + reg = <0x1>; + }; + + rgmii_phy2: ethernet-phy at 2 { + reg = <0x2>; + }; + + sgmii_phy1: ethernet-phy at 3 { + reg = <0x3>; + }; + + sgmii_phy2: ethernet-phy at 4 { + reg = <0x4>; + }; + }; + + mdio at fd000 { + aqr106_phy: ethernet-phy at 1 { + compatible = "ethernet-phy-ieee802.3-c45"; + interrupts = <0 131 4>; + reg = <0x0>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi index 38806ca..7aef0d8 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi @@ -54,6 +54,15 @@ aliases { crypto = &crypto; + fman0 = &fman0; + ethernet0 = &enet0; + ethernet1 = &enet1; + ethernet2 = &enet2; + ethernet3 = &enet3; + ethernet4 = &enet4; + ethernet5 = &enet5; + ethernet6 = &enet6; + ethernet7 = &enet7; }; cpus { @@ -172,7 +181,7 @@ IRQ_TYPE_LEVEL_LOW)>; }; - soc { + soc: soc { compatible = "simple-bus"; #address-cells = <2>; #size-cells = <2>; @@ -266,6 +275,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>; + }; + dcfg: dcfg at 1ee0000 { compatible = "fsl,ls1046a-dcfg", "syscon"; reg = <0x0 0x1ee0000 0x0 0x10000>; @@ -512,4 +533,47 @@ clocks = <&clockgen 4 1>; }; }; + + qportals: qman-portals at 500000000 { + ranges = <0x0 0x5 0x00000000 0x8000000>; + }; + bportals: bman-portals at 508000000 { + ranges = <0x0 0x5 0x08000000 0x8000000>; + }; + 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 0x800000>; + alignment = <0 0x800000>; + }; + qman_pfdr: qman-pfdr { + size = <0 0x2000000>; + alignment = <0 0x2000000>; + }; + }; +}; + +&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>; +}; + +/include/ "qoriq-qman1-portals.dtsi" +/include/ "qoriq-bman1-portals.dtsi" diff --git a/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi new file mode 100644 index 0000000..2a36f18 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi @@ -0,0 +1,42 @@ +/* + * QorIQ FMan v3 10g 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_0x11: port at 91000 { + cell-index = <0x11>; + compatible = "fsl,fman-v3-port-rx"; + reg = <0x91000 0x1000>; + fsl,fman-10g-port; + }; + + fman0_tx_0x31: port at b1000 { + cell-index = <0x31>; + compatible = "fsl,fman-v3-port-tx"; + reg = <0xb1000 0x1000>; + fsl,fman-10g-port; + }; + + ethernet at f2000 { + cell-index = <0x8>; + compatible = "fsl,fman-memac"; + reg = <0xf2000 0x1000>; + fsl,fman-ports = <&fman0_rx_0x11 &fman0_tx_0x31>; + pcsphy-handle = <&pcsphy7>; + }; + + mdio at f3000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; + reg = <0xf3000 0x1000>; + + pcsphy7: ethernet-phy at 0 { + reg = <0x0>; + }; + }; +}; -- 2.1.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-03-27 8:55 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-03-01 15:35 [PATCH v2 0/2] dts: arm64: add DPAA 1 support for ARM based SoCs Madalin Bucur 2017-03-01 15:35 ` [PATCH v2 1/2] dts: arm64: add LS1043A DPAA support Madalin Bucur 2017-03-14 7:07 ` Shawn Guo 2017-03-22 10:58 ` Madalin-Cristian Bucur 2017-03-27 6:27 ` Shawn Guo 2017-03-27 7:03 ` Madalin-Cristian Bucur 2017-03-27 7:55 ` Shawn Guo 2017-03-27 8:11 ` Madalin-Cristian Bucur 2017-03-27 8:55 ` Shawn Guo 2017-03-01 15:35 ` [PATCH v2 2/2] dts: arm64: add LS1046A " Madalin Bucur
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).