* 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
* 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).