From aeb28ed76b764b3fd18a43aeb3ae93e76d51bf43 Mon Sep 17 00:00:00 2001 From: Bob Cochran Date: Thu, 13 Nov 2014 22:56:20 -0500 Subject: linux-qoriq: Configure T1040 for FMAN V3 Although the flag existed in Kconfig for FMAN_V3L, it was not set by default. Also, the T1040 and FMAN V3L only support four O/H ports, so remove the last two from the DTS files. Otherwise, MAJOR FM Errors will be reported during FMAN probing / init. This was tested on t1040rdb-64b Signed-off-by: Bob Cochran --- .../linux/files/configure-T1040-for-FMAN-V3L.patch | 217 +++++++++++++++++++++ recipes-kernel/linux/linux-qoriq_3.12.bb | 1 + 2 files changed, 218 insertions(+) create mode 100644 recipes-kernel/linux/files/configure-T1040-for-FMAN-V3L.patch (limited to 'recipes-kernel/linux') diff --git a/recipes-kernel/linux/files/configure-T1040-for-FMAN-V3L.patch b/recipes-kernel/linux/files/configure-T1040-for-FMAN-V3L.patch new file mode 100644 index 0000000..9c7ab2a --- /dev/null +++ b/recipes-kernel/linux/files/configure-T1040-for-FMAN-V3L.patch @@ -0,0 +1,217 @@ +From acbdc62578c0cde48847a306a0d02a26d3a9ea8a Mon Sep 17 00:00:00 2001 +From: Bob Cochran +Date: Fri, 31 Oct 2014 22:50:19 -0400 +Subject: [meta-fsl-ppc][PATCH] linux-qoriq: Configure T1040 for FMAN V3L + +Although the flag existed in Kconfig for FMAN_V3L, it was not set by +default. Also, the T1040 and FMAN V3L only support four O/H ports, so remove +the last two from the DTS files. Otherwise, MAJOR FM Errors will be +reported during FMAN probing / init. + +Signed-off-by: Bob Cochran +--- + arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi | 138 ++++++++++++++++++++++++ + arch/powerpc/boot/dts/fsl/t1040si-post.dtsi | 10 +- + arch/powerpc/configs/t1040_32bit_smp_defconfig | 1 + + arch/powerpc/configs/t1040_64bit_smp_defconfig | 1 + + 4 files changed, 141 insertions(+), 9 deletions(-) + create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi + +diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi +new file mode 100644 +index 0000000..b4f6cd6 +--- /dev/null ++++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi +@@ -0,0 +1,138 @@ ++/* ++ * QorIQ FMan v3 device tree stub [ controller @ offset 0x400000 ] ++ * ++ * Copyright 2012 Freescale Semiconductor Inc. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions are met: ++ * * Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * * Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * * Neither the name of Freescale Semiconductor nor the ++ * names of its contributors may be used to endorse or promote products ++ * derived from this software without specific prior written permission. ++ * ++ * ++ * ALTERNATIVELY, this software may be distributed under the terms of the ++ * GNU General Public License ("GPL") as published by the Free Software ++ * Foundation, either version 2 of that License or (at your option) any ++ * later version. ++ * ++ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY ++ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ++ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ++ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY ++ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ++ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ++ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ++ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++fman0: fman@400000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ cell-index = <0>; ++ compatible = "fsl,fman", "simple-bus"; ++ ranges = <0 0x400000 0x100000>; ++ reg = <0x400000 0x100000>; ++ clock-frequency = <0>; ++ interrupts = < ++ 96 2 0 0 ++ 16 2 1 1>; ++ ++ cc { ++ compatible = "fsl,fman-cc"; ++ }; ++ ++ muram@0 { ++ compatible = "fsl,fman-muram"; ++ reg = <0x0 0x60000>; ++ }; ++ ++ bmi@80000 { ++ compatible = "fsl,fman-bmi"; ++ reg = <0x80000 0x400>; ++ }; ++ ++ qmi@80400 { ++ compatible = "fsl,fman-qmi"; ++ reg = <0x80400 0x400>; ++ }; ++ ++ fman0_oh1: port@82000 { ++ cell-index = <0>; ++ compatible = "fsl,fman-port-oh"; ++ reg = <0x82000 0x1000>; ++ }; ++ ++ fman0_oh2: port@83000 { ++ cell-index = <1>; ++ compatible = "fsl,fman-port-oh"; ++ reg = <0x83000 0x1000>; ++ }; ++ ++ fman0_oh3: port@84000 { ++ cell-index = <2>; ++ compatible = "fsl,fman-port-oh"; ++ reg = <0x84000 0x1000>; ++ }; ++ ++ fman0_oh4: port@85000 { ++ cell-index = <3>; ++ compatible = "fsl,fman-port-oh"; ++ reg = <0x85000 0x1000>; ++ }; ++ ++ policer@c0000 { ++ compatible = "fsl,fman-policer"; ++ reg = <0xc0000 0x1000>; ++ }; ++ ++ keygen@c1000 { ++ compatible = "fsl,fman-keygen"; ++ reg = <0xc1000 0x1000>; ++ }; ++ ++ dma@c2000 { ++ compatible = "fsl,fman-dma"; ++ reg = <0xc2000 0x1000>; ++ }; ++ ++ fpm@c3000 { ++ compatible = "fsl,fman-fpm"; ++ reg = <0xc3000 0x1000>; ++ }; ++ ++ parser@c7000 { ++ compatible = "fsl,fman-parser"; ++ reg = <0xc7000 0x1000>; ++ }; ++ ++ vsps@dc000 { ++ compatible = "fsl,fman-vsps"; ++ reg = <0xdc000 0x1000>; ++ }; ++ ++ mdio@fc000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "fsl,fman-memac-mdio"; ++ reg = <0xfc000 0x1000>; ++ }; ++ ++ mdio@fd000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "fsl,fman-memac-mdio"; ++ reg = <0xfd000 0x1000>; ++ }; ++ ++ ptp_timer0: rtc@fe000 { ++ compatible = "fsl,fman-rtc"; ++ reg = <0xfe000 0x1000>; ++ }; ++}; +diff --git a/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi b/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi +index 75d7462..d391471 100644 +--- a/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi ++++ b/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi +@@ -584,7 +584,7 @@ sata@221000 { + /include/ "qoriq-pme-0.dtsi" + /include/ "qoriq-qman1.dtsi" + /include/ "qoriq-bman1.dtsi" +-/include/ "qoriq-fman3-0.dtsi" ++/include/ "qoriq-fman3l-0.dtsi" + /include/ "qoriq-fman3-0-1g-0.dtsi" + /include/ "qoriq-fman3-0-1g-1.dtsi" + /include/ "qoriq-fman3-0-1g-2.dtsi" +@@ -627,14 +627,6 @@ sata@221000 { + port@85000 { + fsl,qman-channel-id = <0x80c>; + }; +- /* offline - 5 */ +- port@86000 { +- fsl,qman-channel-id = <0x80d>; +- }; +- /* offline - 6 */ +- port@87000 { +- fsl,qman-channel-id = <0x80e>; +- }; + mdio@fd000 { + status = "disabled"; + }; +diff --git a/arch/powerpc/configs/t1040_32bit_smp_defconfig b/arch/powerpc/configs/t1040_32bit_smp_defconfig +index a401e7c..43bf3c78 100644 +--- a/arch/powerpc/configs/t1040_32bit_smp_defconfig ++++ b/arch/powerpc/configs/t1040_32bit_smp_defconfig +@@ -105,6 +105,7 @@ CONFIG_NETDEVICES=y + CONFIG_FSL_PQ_MDIO=y + CONFIG_FSL_XGMAC_MDIO=y + CONFIG_FMAN_T4240=y ++CONFIG_FMAN_V3L=y + CONFIG_FSL_DPAA_ETH=y + CONFIG_E1000=y + CONFIG_E1000E=y +diff --git a/arch/powerpc/configs/t1040_64bit_smp_defconfig b/arch/powerpc/configs/t1040_64bit_smp_defconfig +index c2005f2..99c05a5 100644 +--- a/arch/powerpc/configs/t1040_64bit_smp_defconfig ++++ b/arch/powerpc/configs/t1040_64bit_smp_defconfig +@@ -111,6 +111,7 @@ CONFIG_DUMMY=y + CONFIG_FSL_PQ_MDIO=y + CONFIG_FSL_XGMAC_MDIO=y + CONFIG_FMAN_T4240=y ++CONFIG_FMAN_V3L=y + CONFIG_FSL_DPAA_ETH=y + CONFIG_E1000E=y + CONFIG_VITESSE_PHY=y +-- +1.7.9.5 diff --git a/recipes-kernel/linux/linux-qoriq_3.12.bb b/recipes-kernel/linux/linux-qoriq_3.12.bb index a9f7fa7..39c4a7b 100644 --- a/recipes-kernel/linux/linux-qoriq_3.12.bb +++ b/recipes-kernel/linux/linux-qoriq_3.12.bb @@ -6,6 +6,7 @@ SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;nobranch=1 \ file://Fix-CVE-2014-5077-sctp-inherit-auth-capable-on-INIT-collisions.patch \ file://Fix-CVE-2014-5471_CVE-2014-5472.patch \ file://remove-Altivec-from-T1040-64-bit-defconfig.patch \ + file://configure-T1040-for-FMAN-V3L.patch \ " SRCREV = "c29fe1a733308cbe592b3af054a97be1b91cf2dd" -- cgit v1.2.3-54-g00ecf