* Device Tree Binding for Marvell DSA on P1023RDB [not found] <539F1B3F.6060203@xsmail.com> @ 2014-06-16 16:30 ` Pannirselvam Kanagaratnam 2014-06-16 16:38 ` Florian Fainelli 0 siblings, 1 reply; 6+ messages in thread From: Pannirselvam Kanagaratnam @ 2014-06-16 16:30 UTC (permalink / raw) To: netdev Freescale's QORIQ P1023RDB has an option to populate the Marvell 88E6165 Ethernet switch. We populated this device and were able to initialize it as a basic switch in U-Boot. However, the switch driver was not loaded upon kernel bootup. DSA kernel config was enabled for Marvell's 88E6165. The following patch was applied: http://patchwork.ozlabs.org/patch/230257/ We are using Freescale's QorIQ-SDK-V1.5-20131219-yocto (3.8-r11.1). The switch is attached to phy address 0x3 via dtsec2. IRQ3 from the CPU is also physically connected to the switch (pin #122). My dts file is as below. Would appreciate any feedback on whether the DSA is structured correctly in the dts. The following mdio, mdio_bus and ethernet parameters were captured: 1) For mdio = of_parse_phandle(np, "dsa,mii-bus", 0); I get the following: np_name: dsa mdio_name: mdio mdio_type: <NULL> mdio_full-name: /soc@ff600000/fman@100000/mdio@e1120 2) mdio_bus = of_mdio_find_bus(mdio); mdio_bus_name: Freescale PowerQUICC MII Bus mdio_bus_id: mdio@ff7e1120 3) ethernet = of_parse_phandle(np, "dsa,ethernet", 0); ethernet-name: ethernet ethernet-type: <NULL> ethernet-full-name: /soc@ff600000/fman@100000/ethernet@e2000 4) ethernet_dev = of_find_device_by_node(ethernet); ethernet_dev-name: ff7e2000.ethernet ethernet_dev-id: -1 Not sure why ethernet-dev-id is showing -1. Kindly advise. This is the output log during kernel booutp: Distributed Switch Architecture driver version 0.1 dsa: probe of dsa.16 failed with error -22 Pannir /* * P1023 RDB Device Tree Source * * Copyright 2013 Freescale Semiconductor Inc. * * Author: Roy Zang <tie-fei.zang@freescale.com> * Chunhe Lan <Chunhe.Lan@freescale.com> * * 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. */ /include/ "fsl/p1023si-pre.dtsi" / { model = "fsl,P1023"; compatible = "fsl,P1023RDB"; #address-cells = <2>; #size-cells = <2>; interrupt-parent = <&mpic>; aliases { ethernet0 = &enet0; ethernet1 = &enet1; }; memory { device_type = "memory"; }; qportals: qman-portals@ff000000 { ranges = <0x0 0xf 0xff000000 0x200000>; }; bportals: bman-portals@ff200000 { ranges = <0x0 0xf 0xff200000 0x200000>; }; soc: soc@ff600000 { ranges = <0x0 0x0 0xff600000 0x200000>; i2c@3000 { eeprom@53 { compatible = "at24,24c04"; reg = <0x53>; }; rtc@6f { compatible = "microchip,mcp7941x"; reg = <0x6f>; }; }; usb@22000 { dr_mode = "host"; phy_type = "ulpi"; }; fman0: fman@100000 { enet0: ethernet@e0000 { phy-handle = <&phy0>; phy-connection-type = "rgmii"; }; mdio0: mdio@e1120 { phy0: ethernet-phy@1 { reg = <0x01>; }; tbi0: tbi-phy@8 { reg = <0x8>; device_type = "tbi-phy"; }; }; enet1: ethernet@e2000 { fixed-link = <3 1 1000 0 0>; phy-connection-type = "rgmii-id"; }; }; }; lbc: localbus@ff605000 { reg = <0 0xff605000 0 0x1000>; /* NOR Flash */ ranges = <0x0 0x0 0x0 0xec000000 0x04000000>; nor@0,0 { #address-cells = <1>; #size-cells = <1>; compatible = "cfi-flash"; reg = <0x0 0x0 0x04000000>; bank-width = <2>; device-width = <1>; partition@0 { label = "ramdisk"; reg = <0x00000000 0x03000000>; }; partition@3000000 { label = "kernel"; reg = <0x03000000 0x00ee0000>; }; partiton@3ee0000 { label = "dtb"; reg = <0x03ee0000 0x00020000>; }; partition@3f00000 { label = "firmware"; reg = <0x03f00000 0x00080000>; read-only; }; partition@3f80000 { label = "u-boot"; reg = <0x03f80000 0x00080000>; read-only; }; }; }; pci0: pcie@ff60a000 { reg = <0 0xff60a000 0 0x1000>; ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>; pcie@0 { /* IRQ[0:3] are pulled up on board, set to active-low */ interrupt-map-mask = <0xf800 0 0 7>; interrupt-map = < /* IDSEL 0x0 */ 0000 0 0 1 &mpic 0 1 0 0 0000 0 0 2 &mpic 1 1 0 0 0000 0 0 3 &mpic 2 1 0 0 0000 0 0 4 &mpic 3 1 0 0 >; ranges = <0x2000000 0x0 0xc0000000 0x2000000 0x0 0xc0000000 0x0 0x20000000 0x1000000 0x0 0x0 0x1000000 0x0 0x0 0x0 0x100000>; }; }; board_pci1: pci1: pcie@ff609000 { reg = <0 0xff609000 0 0x1000>; ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; pcie@0 { /* * IRQ[4:6] only for PCIe, set to active-high, * IRQ[7] is pulled up on board, set to active-low */ interrupt-map-mask = <0xf800 0 0 7>; interrupt-map = < /* IDSEL 0x0 */ 0000 0 0 1 &mpic 4 2 0 0 0000 0 0 2 &mpic 5 2 0 0 0000 0 0 3 &mpic 6 2 0 0 0000 0 0 4 &mpic 7 1 0 0 >; ranges = <0x2000000 0x0 0xa0000000 0x2000000 0x0 0xa0000000 0x0 0x20000000 0x1000000 0x0 0x0 0x1000000 0x0 0x0 0x0 0x100000>; }; }; pci2: pcie@ff60b000 { reg = <0 0xff60b000 0 0x1000>; ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; pcie@0 { /* * IRQ[8:10] are pulled up on board, set to active-low * IRQ[11] only for PCIe, set to active-high, */ interrupt-map-mask = <0xf800 0 0 7>; interrupt-map = < /* IDSEL 0x0 */ 0000 0 0 1 &mpic 8 1 0 0 0000 0 0 2 &mpic 9 1 0 0 0000 0 0 3 &mpic 10 1 0 0 0000 0 0 4 &mpic 11 2 0 0 >; ranges = <0x2000000 0x0 0x80000000 0x2000000 0x0 0x80000000 0x0 0x20000000 0x1000000 0x0 0x0 0x1000000 0x0 0x0 0x0 0x100000>; }; }; fsl,dpaa { compatible = "fsl,p1023-dpaa", "fsl,dpaa"; ethernet@0 { compatible = "fsl,p1023-dpa-ethernet", "fsl,dpa-ethernet"; fsl,fman-mac = <&enet0>; }; ethernet@1 { compatible = "fsl,p1023-dpa-ethernet", "fsl,dpa-ethernet"; fsl,fman-mac = <&enet1>; }; }; dsa@0 { compatible = "marvell,dsa"; #address-cells = <2>; #size-cells = <0>; interrupt-parent = <&mpic>; interrupts = <3 1 0 0>; dsa,ethernet = <&enet1>; dsa,mii-bus = <&mdio0>; switch@0 { #address-cells = <1>; #size-cells = <0>; reg = <3 0>; /* MDIO address 3, switch 0 in tree */ port@0 { reg = <0>; label = "lan1"; }; port@1 { reg = <1>; label = "lan2"; }; port@2 { reg = <2>; label = "lan3"; }; port@3 { reg = <3>; label = "lan4"; }; port@4 { reg = <4>; label = "lan5"; }; port@5 { reg = <5>; label = "cpu"; }; }; }; }; /include/ "fsl/p1023si-post.dtsi" /include/ "fsl/qoriq-dpaa-res2.dtsi" ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Device Tree Binding for Marvell DSA on P1023RDB 2014-06-16 16:30 ` Device Tree Binding for Marvell DSA on P1023RDB Pannirselvam Kanagaratnam @ 2014-06-16 16:38 ` Florian Fainelli 2014-06-17 6:41 ` Pannirselvam Kanagaratnam 0 siblings, 1 reply; 6+ messages in thread From: Florian Fainelli @ 2014-06-16 16:38 UTC (permalink / raw) To: Pannirselvam Kanagaratnam; +Cc: netdev 2014-06-16 9:30 GMT-07:00 Pannirselvam Kanagaratnam <pannir@xsmail.com>: > Freescale's QORIQ P1023RDB has an option to populate the Marvell 88E6165 > Ethernet switch. We populated this device and were able to initialize it > as a basic switch in U-Boot. However, the switch driver was not loaded > upon kernel bootup. DSA kernel config was enabled for Marvell's 88E6165. > The following patch was applied: > > http://patchwork.ozlabs.org/patch/230257/ > We are using Freescale's QorIQ-SDK-V1.5-20131219-yocto (3.8-r11.1). The > switch is attached to phy address 0x3 via dtsec2. IRQ3 from the CPU is > also physically connected to the switch (pin #122). My dts file is as > below. Would appreciate any feedback on whether the DSA is structured > correctly in the dts. > > The following mdio, mdio_bus and ethernet parameters were captured: > > 1) For mdio = of_parse_phandle(np, "dsa,mii-bus", 0); I get the following: > np_name: dsa > mdio_name: mdio > mdio_type: <NULL> > mdio_full-name: /soc@ff600000/fman@100000/mdio@e1120 > > 2) mdio_bus = of_mdio_find_bus(mdio); > mdio_bus_name: Freescale PowerQUICC MII Bus > mdio_bus_id: mdio@ff7e1120 > > 3) ethernet = of_parse_phandle(np, "dsa,ethernet", 0); > ethernet-name: ethernet > ethernet-type: <NULL> > ethernet-full-name: /soc@ff600000/fman@100000/ethernet@e2000 > > 4) ethernet_dev = of_find_device_by_node(ethernet); > ethernet_dev-name: ff7e2000.ethernet > ethernet_dev-id: -1 The id is -1 because this driver has been probed using device tree and not using a non-device Tree platform device/driver which would set explicit id numbers, this is not a problem here. > > Not sure why ethernet-dev-id is showing -1. Kindly advise. This is the > output log during kernel booutp: > > Distributed Switch Architecture driver version 0.1 > dsa: probe of dsa.16 failed with error -22 This error might not come from dsa_of_probe(), please instrument the code where -EINVAL is returned to see exactly which part of the probing code is failing. > > Pannir > > > /* > * P1023 RDB Device Tree Source > * > * Copyright 2013 Freescale Semiconductor Inc. > * > * Author: Roy Zang <tie-fei.zang@freescale.com> > * Chunhe Lan <Chunhe.Lan@freescale.com> > * > * 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. > */ > > /include/ "fsl/p1023si-pre.dtsi" > > / { > model = "fsl,P1023"; > compatible = "fsl,P1023RDB"; > #address-cells = <2>; > #size-cells = <2>; > interrupt-parent = <&mpic>; > > aliases { > ethernet0 = &enet0; > ethernet1 = &enet1; > }; > > memory { > device_type = "memory"; > }; > > qportals: qman-portals@ff000000 { > ranges = <0x0 0xf 0xff000000 0x200000>; > }; > > bportals: bman-portals@ff200000 { > ranges = <0x0 0xf 0xff200000 0x200000>; > }; > > soc: soc@ff600000 { > ranges = <0x0 0x0 0xff600000 0x200000>; > > i2c@3000 { > eeprom@53 { > compatible = "at24,24c04"; > reg = <0x53>; > }; > > rtc@6f { > compatible = "microchip,mcp7941x"; > reg = <0x6f>; > }; > }; > > usb@22000 { > dr_mode = "host"; > phy_type = "ulpi"; > }; > > fman0: fman@100000 { > enet0: ethernet@e0000 { > phy-handle = <&phy0>; > phy-connection-type = "rgmii"; > }; > mdio0: mdio@e1120 { > phy0: ethernet-phy@1 { > reg = <0x01>; > }; > tbi0: tbi-phy@8 { > reg = <0x8>; > device_type = "tbi-phy"; > }; > }; > enet1: ethernet@e2000 { > fixed-link = <3 1 1000 0 0>; > phy-connection-type = "rgmii-id"; > }; > }; > }; > > lbc: localbus@ff605000 { > reg = <0 0xff605000 0 0x1000>; > > /* NOR Flash */ > ranges = <0x0 0x0 0x0 0xec000000 0x04000000>; > > nor@0,0 { > #address-cells = <1>; > #size-cells = <1>; > compatible = "cfi-flash"; > reg = <0x0 0x0 0x04000000>; > bank-width = <2>; > device-width = <1>; > > partition@0 { > label = "ramdisk"; > reg = <0x00000000 0x03000000>; > }; > partition@3000000 { > label = "kernel"; > reg = <0x03000000 0x00ee0000>; > }; > partiton@3ee0000 { > label = "dtb"; > reg = <0x03ee0000 0x00020000>; > }; > partition@3f00000 { > label = "firmware"; > reg = <0x03f00000 0x00080000>; > read-only; > }; > partition@3f80000 { > label = "u-boot"; > reg = <0x03f80000 0x00080000>; > read-only; > }; > }; > }; > > pci0: pcie@ff60a000 { > reg = <0 0xff60a000 0 0x1000>; > ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000 > 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>; > pcie@0 { > /* IRQ[0:3] are pulled up on board, set to active-low */ > interrupt-map-mask = <0xf800 0 0 7>; > interrupt-map = < > /* IDSEL 0x0 */ > 0000 0 0 1 &mpic 0 1 0 0 > 0000 0 0 2 &mpic 1 1 0 0 > 0000 0 0 3 &mpic 2 1 0 0 > 0000 0 0 4 &mpic 3 1 0 0 > >; > ranges = <0x2000000 0x0 0xc0000000 > 0x2000000 0x0 0xc0000000 > 0x0 0x20000000 > > 0x1000000 0x0 0x0 > 0x1000000 0x0 0x0 > 0x0 0x100000>; > }; > }; > > board_pci1: pci1: pcie@ff609000 { > reg = <0 0xff609000 0 0x1000>; > ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 > 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; > pcie@0 { > /* > * IRQ[4:6] only for PCIe, set to active-high, > * IRQ[7] is pulled up on board, set to active-low > */ > interrupt-map-mask = <0xf800 0 0 7>; > interrupt-map = < > /* IDSEL 0x0 */ > 0000 0 0 1 &mpic 4 2 0 0 > 0000 0 0 2 &mpic 5 2 0 0 > 0000 0 0 3 &mpic 6 2 0 0 > 0000 0 0 4 &mpic 7 1 0 0 > >; > ranges = <0x2000000 0x0 0xa0000000 > 0x2000000 0x0 0xa0000000 > 0x0 0x20000000 > > 0x1000000 0x0 0x0 > 0x1000000 0x0 0x0 > 0x0 0x100000>; > }; > }; > > pci2: pcie@ff60b000 { > reg = <0 0xff60b000 0 0x1000>; > ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 > 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; > pcie@0 { > /* > * IRQ[8:10] are pulled up on board, set to active-low > * IRQ[11] only for PCIe, set to active-high, > */ > interrupt-map-mask = <0xf800 0 0 7>; > interrupt-map = < > /* IDSEL 0x0 */ > 0000 0 0 1 &mpic 8 1 0 0 > 0000 0 0 2 &mpic 9 1 0 0 > 0000 0 0 3 &mpic 10 1 0 0 > 0000 0 0 4 &mpic 11 2 0 0 > >; > ranges = <0x2000000 0x0 0x80000000 > 0x2000000 0x0 0x80000000 > 0x0 0x20000000 > > 0x1000000 0x0 0x0 > 0x1000000 0x0 0x0 > 0x0 0x100000>; > }; > }; > > fsl,dpaa { > compatible = "fsl,p1023-dpaa", "fsl,dpaa"; > > ethernet@0 { > compatible = "fsl,p1023-dpa-ethernet", "fsl,dpa-ethernet"; > fsl,fman-mac = <&enet0>; > }; > ethernet@1 { > compatible = "fsl,p1023-dpa-ethernet", "fsl,dpa-ethernet"; > fsl,fman-mac = <&enet1>; > }; > }; > > dsa@0 { > compatible = "marvell,dsa"; > #address-cells = <2>; > #size-cells = <0>; > interrupt-parent = <&mpic>; > interrupts = <3 1 0 0>; > dsa,ethernet = <&enet1>; > dsa,mii-bus = <&mdio0>; > > switch@0 { > #address-cells = <1>; > #size-cells = <0>; > reg = <3 0>; /* MDIO address 3, switch 0 in tree */ > > port@0 { > reg = <0>; > label = "lan1"; > }; > > port@1 { > reg = <1>; > label = "lan2"; > }; > > port@2 { > reg = <2>; > label = "lan3"; > }; > > port@3 { > reg = <3>; > label = "lan4"; > }; > > port@4 { > reg = <4>; > label = "lan5"; > }; > > port@5 { > reg = <5>; > label = "cpu"; > }; > > }; > > }; > }; > > /include/ "fsl/p1023si-post.dtsi" > > /include/ "fsl/qoriq-dpaa-res2.dtsi" > > > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Florian ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Device Tree Binding for Marvell DSA on P1023RDB 2014-06-16 16:38 ` Florian Fainelli @ 2014-06-17 6:41 ` Pannirselvam Kanagaratnam 2014-06-17 16:44 ` Florian Fainelli 0 siblings, 1 reply; 6+ messages in thread From: Pannirselvam Kanagaratnam @ 2014-06-17 6:41 UTC (permalink / raw) To: Florian Fainelli; +Cc: netdev On 17/06/2014 12:38 AM, Florian Fainelli wrote: > 2014-06-16 9:30 GMT-07:00 Pannirselvam Kanagaratnam <pannir@xsmail.com>: > Distributed Switch Architecture driver version 0.1 > dsa: probe of dsa.16 failed with error -22 > This error might not come from dsa_of_probe(), please instrument the > code where -EINVAL is returned to see exactly which part of the > probing code is failing. The error is coming from: dev = dev_to_net_device(pd->netdev); if (dev == NULL) { ret = -EINVAL; goto out; } Is my device tree ok? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Device Tree Binding for Marvell DSA on P1023RDB 2014-06-17 6:41 ` Pannirselvam Kanagaratnam @ 2014-06-17 16:44 ` Florian Fainelli 2014-06-17 23:43 ` Pannirselvam Kanagaratnam [not found] ` <53A0D1C2.4080305@xsmail.com> 0 siblings, 2 replies; 6+ messages in thread From: Florian Fainelli @ 2014-06-17 16:44 UTC (permalink / raw) To: Pannirselvam Kanagaratnam; +Cc: netdev On Jun 16, 2014 11:41 PM, "Pannirselvam Kanagaratnam" <pannir@xsmail.com> wrote: > > > On 17/06/2014 12:38 AM, Florian Fainelli wrote: >> >> 2014-06-16 9:30 GMT-07:00 Pannirselvam Kanagaratnam <pannir@xsmail.com>: >> Distributed Switch Architecture driver version 0.1 >> dsa: probe of dsa.16 failed with error -22 >> This error might not come from dsa_of_probe(), please instrument the >> code where -EINVAL is returned to see exactly which part of the >> probing code is failing. > > > The error is coming from: > > dev = dev_to_net_device(pd->netdev); > if (dev == NULL) { > ret = -EINVAL; > goto out; > } Ok, I could not find which Freescale Ethernet driver you are using, but my guess is that we cannot look up the struct net_device that is associated with the struct platform_device of your network driver, most likely because the network driver failed to call SET_NETDEV_DEV(). Also, if your Ethernet driver is modular, that might be a problem if it get probed after DSA. > > Is my device tree ok? It is. -- Florian ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Device Tree Binding for Marvell DSA on P1023RDB 2014-06-17 16:44 ` Florian Fainelli @ 2014-06-17 23:43 ` Pannirselvam Kanagaratnam [not found] ` <53A0D1C2.4080305@xsmail.com> 1 sibling, 0 replies; 6+ messages in thread From: Pannirselvam Kanagaratnam @ 2014-06-17 23:43 UTC (permalink / raw) To: Florian Fainelli; +Cc: netdev On 18/06/2014 12:44 AM, Florian Fainelli wrote: > On Jun 16, 2014 11:41 PM, "Pannirselvam Kanagaratnam" > <pannir@xsmail.com> wrote: >> >> The error is coming from: >> >> dev = dev_to_net_device(pd->netdev); >> if (dev == NULL) { >> ret = -EINVAL; >> goto out; >> } > Ok, I could not find which Freescale Ethernet driver you are using, > but my guess is that we cannot look up the struct net_device that is > associated with the struct platform_device of your network driver, > most likely because the network driver failed to call > SET_NETDEV_DEV(). Also, if your Ethernet driver is modular, that might > be a problem if it get probed after DSA. > The Freescale Ethernet Driver is from SDK. The driver code can be viewed here: https://lists.ubuntu.com/archives/kernel-team/2012-June/020687.html This is my startup log. Looks like dsa is probed after ethernet: libphy: Fixed MDIO Bus: probed libphy: Freescale PowerQUICC MII Bus: probed FMAN(0) Fifo size settings: - Total buffers available(192 - 256B/buffer) - Total throughput(2Gbps) - Max frame size(1522B) - 1G ports TX 2(12 bufs set (min: 12)) - 1G ports RX 2(68 bufs set (min: 8)) - OH-HC ports 4(8) - Shared extra buffers(0) FMAN(0) open dma settings: - Total open dma available(16) - 1G ports TX 2(3) - 1G ports RX 2(3) - OH-HC ports 4(1) - Shared extra open dma(0) FMAN(0) Tnums settings: - Total Tnums available(64) - 1G ports TX 2(13) - 1G ports RX 2(14) - OH-HC ports 4(2) - Shared extra tnums(2) Freescale FM module (Jun 16 2014:02:20:25), FMD API version 21.1.0 Freescale FM Ports module (Jun 16 2014:02:20:27) dpaa_debugfs: FSL DPAA Ethernet debugfs entries () fsl_mac: mac.c:416:mac_load() fsl_mac: FSL FMan MAC API based driver () fsl_mac ff7e0000.ethernet: FMan dTSEC version: 0x08240101 fsl_mac ff7e0000.ethernet: FMan MAC address: 00:22:33:44:55:44 fsl_mac ff7e2000.ethernet: FMan dTSEC version: 0x08240101 fsl_mac ff7e2000.ethernet: FMan MAC address: 00:22:33:44:55:45 fsl_dpa: FSL DPAA Ethernet driver () fsl_dpa: Probed interface eth0 fsl_dpa: Probed interface eth1 fsl_dpa_shared: FSL DPAA Shared Ethernet driver () fsl_dpa_proxy: FSL DPAA Proxy initialization driver () fsl_oh: FSL FMan Offline Parsing port driver () e1000e: Intel(R) PRO/1000 Network Driver - 2.1.4-k e1000e: Copyright(c) 1999 - 2012 Intel Corporation. PPP generic driver version 2.4.2 NET: Registered protocol family 24 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-pci: EHCI PCI platform driver fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1 fsl-ehci fsl-ehci.0: irq 28, io mem 0xff622000 fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. i2c /dev entries driver mpc-i2c ff603000.i2c: timeout 1000000 us at24 0-0053: 512 byte 24c04 EEPROM, writable, 1 bytes/write usb 1-1: new high-speed USB device number 2 using fsl-ehci hub 1-1:1.0: USB hub found hub 1-1:1.0: 4 ports detected rtc-ds1307: probe of 0-006f failed with error -5 mpc-i2c ff603100.i2c: timeout 1000000 us EDAC MC: Ver: 3.0.0 platform caam_qi.0: Linux CAAM Queue I/F driver initialised caam ff630000.crypto: device ID = 0x0a12010100000000 (Era 3) caam ff630000.crypto: job rings = 4, qi = 1 caam ff630000.crypto: tls10-hmac-sha1-cbc-aes-caam needs Era 4 or higher but SEC is Era 3, skipping it caam ff630000.crypto: fsl,sec-v4.2 algorithms registered in /proc/crypto platform ff631000.jr: registering rng-caam platform caam_qi.0: fsl,sec-v4.2 algorithms registered in /proc/crypto caam ff630000.crypto: fsl,sec-v4.2 algorithms registered in /proc/crypto usbcore: registered new interface driver usbhid usbhid: USB HID core driver Freescale USDPAA process driver fsl-usdpaa: no region found Freescale USDPAA process IRQ driver u32 classifier nf_conntrack version 0.5.0 (7137 buckets, 28548 max) IPv4 over IPv4 tunneling driver ip_tables: (C) 2000-2006 Netfilter Core Team TCP: cubic registered Initializing XFRM netlink socket NET: Registered protocol family 10 ip6_tables: (C) 2000-2006 Netfilter Core Team sit: IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 NET: Registered protocol family 15 Distributed Switch Architecture driver version 0.1 dsa: probe of dsa.16 failed with error -22 8021q: 802.1Q VLAN Support v1.8 Key type dns_resolver registered fsl_dpa_macless: FSL DPAA MACless Ethernet driver () drivers/rtc/hctosys.c: unable to open rtc device (rtc0) ALSA device list: No soundcards found. RAMDISK: gzip image found at block 0 VFS: Mounted root (ext2 filesystem) on device 1:0. devtmpfs: mounted Freeing unused kernel memory: 248k freed INIT: version 2.88 booting Starting udev udevd[1332]: starting version 182 Starting Bootlog daemon: bootlogd. Configuring network interfaces... done. hwclock: can't open '/dev/misc/rtc': No such file or directory Sun Jun 15 23:41:00 UTC 2014 hwclock: can't open '/dev/misc/rtc': No such file or directory Running postinst /etc/rpm-postinsts/sysvinit-inittab... INIT: Entering runlevel: 5 hwclock: can't open '/dev/misc/rtc': No such file or directory Starting syslogd/klogd: done Stopping Bootlog daemon: bootlogd. Poky 9.0 (Yocto Project 1.4 Reference Distro) 1.4.1 p1023 ttyS0 ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <53A0D1C2.4080305@xsmail.com>]
* Re: Device Tree Binding for Marvell DSA on P1023RDB [not found] ` <53A0D1C2.4080305@xsmail.com> @ 2014-06-17 23:44 ` Florian Fainelli 0 siblings, 0 replies; 6+ messages in thread From: Florian Fainelli @ 2014-06-17 23:44 UTC (permalink / raw) To: Pannirselvam Kanagaratnam, netdev 2014-06-17 16:39 GMT-07:00 Pannirselvam Kanagaratnam <pannir@xsmail.com>: > > On 18/06/2014 12:44 AM, Florian Fainelli wrote: >> >> On Jun 16, 2014 11:41 PM, "Pannirselvam Kanagaratnam" <pannir@xsmail.com> >> wrote: >>> >>> >>> The error is coming from: >>> >>> dev = dev_to_net_device(pd->netdev); >>> if (dev == NULL) { >>> ret = -EINVAL; >>> goto out; >>> } >> >> Ok, I could not find which Freescale Ethernet driver you are using, >> but my guess is that we cannot look up the struct net_device that is >> associated with the struct platform_device of your network driver, >> most likely because the network driver failed to call >> SET_NETDEV_DEV(). Also, if your Ethernet driver is modular, that might >> be a problem if it get probed after DSA. >> > > The Freescale Ethernet Driver is from SDK. The driver code can be viewed > here: > https://lists.ubuntu.com/archives/kernel-team/2012-June/020687.html > > This is my startup log. Looks like dsa is probed after ethernet: Yes, so you should be good. You should investigate why dev_to_net() does not work with your specific out of tree Ethernet driver. On all drivers that I have tested: mv643xx_eth, mvneta and bcmsysport which are all in the kernel, I had no problems, most likely something is not done correctly by this out of tree driver, but that is beyond the scope of the dsa code for now. > > libphy: Fixed MDIO Bus: probed > libphy: Freescale PowerQUICC MII Bus: probed > FMAN(0) Fifo size settings: > - Total buffers available(192 - 256B/buffer) > - Total throughput(2Gbps) > - Max frame size(1522B) > - 1G ports TX 2(12 bufs set (min: 12)) > - 1G ports RX 2(68 bufs set (min: 8)) > - OH-HC ports 4(8) > - Shared extra buffers(0) > FMAN(0) open dma settings: > - Total open dma available(16) > - 1G ports TX 2(3) > - 1G ports RX 2(3) > - OH-HC ports 4(1) > - Shared extra open dma(0) > FMAN(0) Tnums settings: > - Total Tnums available(64) > - 1G ports TX 2(13) > - 1G ports RX 2(14) > - OH-HC ports 4(2) > - Shared extra tnums(2) > Freescale FM module (Jun 16 2014:02:20:25), FMD API version 21.1.0 > Freescale FM Ports module (Jun 16 2014:02:20:27) > dpaa_debugfs: FSL DPAA Ethernet debugfs entries () > fsl_mac: mac.c:416:mac_load() fsl_mac: FSL FMan MAC API based driver () > fsl_mac ff7e0000.ethernet: FMan dTSEC version: 0x08240101 > fsl_mac ff7e0000.ethernet: FMan MAC address: 00:22:33:44:55:44 > fsl_mac ff7e2000.ethernet: FMan dTSEC version: 0x08240101 > fsl_mac ff7e2000.ethernet: FMan MAC address: 00:22:33:44:55:45 > fsl_dpa: FSL DPAA Ethernet driver () > fsl_dpa: Probed interface eth0 > fsl_dpa: Probed interface eth1 > fsl_dpa_shared: FSL DPAA Shared Ethernet driver () > fsl_dpa_proxy: FSL DPAA Proxy initialization driver () > fsl_oh: FSL FMan Offline Parsing port driver () > e1000e: Intel(R) PRO/1000 Network Driver - 2.1.4-k > e1000e: Copyright(c) 1999 - 2012 Intel Corporation. > PPP generic driver version 2.4.2 > NET: Registered protocol family 24 > ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver > ehci-pci: EHCI PCI platform driver > fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller > fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1 > fsl-ehci fsl-ehci.0: irq 28, io mem 0xff622000 > fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00 > hub 1-0:1.0: USB hub found > hub 1-0:1.0: 1 port detected > Initializing USB Mass Storage driver... > usbcore: registered new interface driver usb-storage > USB Mass Storage support registered. > i2c /dev entries driver > mpc-i2c ff603000.i2c: timeout 1000000 us > at24 0-0053: 512 byte 24c04 EEPROM, writable, 1 bytes/write > usb 1-1: new high-speed USB device number 2 using fsl-ehci > hub 1-1:1.0: USB hub found > hub 1-1:1.0: 4 ports detected > rtc-ds1307: probe of 0-006f failed with error -5 > mpc-i2c ff603100.i2c: timeout 1000000 us > EDAC MC: Ver: 3.0.0 > platform caam_qi.0: Linux CAAM Queue I/F driver initialised > caam ff630000.crypto: device ID = 0x0a12010100000000 (Era 3) > caam ff630000.crypto: job rings = 4, qi = 1 > caam ff630000.crypto: tls10-hmac-sha1-cbc-aes-caam needs Era 4 or higher but > SEC is Era 3, skipping it > caam ff630000.crypto: fsl,sec-v4.2 algorithms registered in /proc/crypto > platform ff631000.jr: registering rng-caam > platform caam_qi.0: fsl,sec-v4.2 algorithms registered in /proc/crypto > caam ff630000.crypto: fsl,sec-v4.2 algorithms registered in /proc/crypto > usbcore: registered new interface driver usbhid > usbhid: USB HID core driver > Freescale USDPAA process driver > fsl-usdpaa: no region found > Freescale USDPAA process IRQ driver > u32 classifier > nf_conntrack version 0.5.0 (7137 buckets, 28548 max) > IPv4 over IPv4 tunneling driver > ip_tables: (C) 2000-2006 Netfilter Core Team > TCP: cubic registered > Initializing XFRM netlink socket > NET: Registered protocol family 10 > ip6_tables: (C) 2000-2006 Netfilter Core Team > sit: IPv6 over IPv4 tunneling driver > NET: Registered protocol family 17 > NET: Registered protocol family 15 > > Distributed Switch Architecture driver version 0.1 > dsa: probe of dsa.16 failed with error -22 > 8021q: 802.1Q VLAN Support v1.8 > Key type dns_resolver registered > fsl_dpa_macless: FSL DPAA MACless Ethernet driver () > drivers/rtc/hctosys.c: unable to open rtc device (rtc0) > ALSA device list: > No soundcards found. > RAMDISK: gzip image found at block 0 > VFS: Mounted root (ext2 filesystem) on device 1:0. > devtmpfs: mounted > Freeing unused kernel memory: 248k freed > INIT: version 2.88 booting > Starting udev > udevd[1332]: starting version 182 > Starting Bootlog daemon: bootlogd. > Configuring network interfaces... done. > hwclock: can't open '/dev/misc/rtc': No such file or directory > Sun Jun 15 23:41:00 UTC 2014 > hwclock: can't open '/dev/misc/rtc': No such file or directory > Running postinst /etc/rpm-postinsts/sysvinit-inittab... > INIT: Entering runlevel: 5 > hwclock: can't open '/dev/misc/rtc': No such file or directory > Starting syslogd/klogd: done > Stopping Bootlog daemon: bootlogd. > > Poky 9.0 (Yocto Project 1.4 Reference Distro) 1.4.1 p1023 ttyS0 > > > -- Florian ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-06-17 23:45 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <539F1B3F.6060203@xsmail.com> 2014-06-16 16:30 ` Device Tree Binding for Marvell DSA on P1023RDB Pannirselvam Kanagaratnam 2014-06-16 16:38 ` Florian Fainelli 2014-06-17 6:41 ` Pannirselvam Kanagaratnam 2014-06-17 16:44 ` Florian Fainelli 2014-06-17 23:43 ` Pannirselvam Kanagaratnam [not found] ` <53A0D1C2.4080305@xsmail.com> 2014-06-17 23:44 ` Florian Fainelli
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).