Re: [Patch] dwc_eth_qos: Revert regression handling fixed phy
On 4/17/24 13:15, Marek Vasut wrote: On 4/17/24 10:41 AM, Nicole Battenfeld wrote: Subject: [PATCH] dwc_eth_qos: Revert regression handling fixed phy In imx8mp operation on eqos with fixed phy I get without that patch: ERROR: no/invalid Which commit is being reverted here ? True. I just checked the mails last year and my confusion grows. It was right here at the bottom: https://lists.denx.de/pipermail/u-boot/2023-February/509156.html But already in PATCH_v2 it seems that line was dropped, my fault.
Re: [PATCH v3] Let the EQoS in imx8mp handle fixed-phy too.
Am 19.03.23 um 18:21 schrieb Marek Vasut: On 3/19/23 11:43, Elmar Psilog wrote: Without that patch it lost track to the node to scan speed and duplex. Patch was created by Marek Vasut, just tested by me. Signed-off-by: Elmar Psilog Reviewed-by: Marek Vasut --- changes v2: fix format issues changes v3: remove {} around single if, add reviewd.. drivers/net/dwc_eth_qos.c | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index 112deb546d..b9de205b8a 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -788,9 +788,21 @@ static int eqos_start(struct udevice *dev) */ if (!eqos->phy) { int addr = -1; - addr = eqos_get_phy_addr(eqos, dev); - eqos->phy = phy_connect(eqos->mii, addr, dev, - eqos->config->interface(dev)); + ofnode fixed_node; + + if (IS_ENABLED(CONFIG_PHY_FIXED)) { + fixed_node = ofnode_find_subnode(dev_ofnode(dev), + "fixed-link"); + if (ofnode_valid(fixed_node)) + eqos->phy = fixed_phy_create(dev_ofnode(dev)); + } + + if (!eqos->phy) { + addr = eqos_get_phy_addr(eqos, dev); + eqos->phy = phy_connect(eqos->mii, addr, dev, + eqos->config->interface(dev)); + } + if (!eqos->phy) { pr_err("phy_connect() failed"); goto err_stop_resets; -- 2.34.1 I would give a short reminder about the patch. Reviewed by Marek, ok for Ramon. Would be glad to see it in 2023.04. We're already in 2023.04-rc4 , this is material for v2023.07 , i.e. for u-boot/next branch . Ok, but does it change anything for the patch itself? As source isn't touched in last weeks it is still needed. Other way asked: Any action (from my side) needed? I just afraid your (@Marek) and my work gets lost. I would expect either an "accepted" or "rejected" (for a reason).
Re: [PATCH v3] Let the EQoS in imx8mp handle fixed-phy too.
Without that patch it lost track to the node to scan speed and duplex. Patch was created by Marek Vasut, just tested by me. Signed-off-by: Elmar Psilog Reviewed-by: Marek Vasut --- changes v2: fix format issues changes v3: remove {} around single if, add reviewd.. drivers/net/dwc_eth_qos.c | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index 112deb546d..b9de205b8a 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -788,9 +788,21 @@ static int eqos_start(struct udevice *dev) */ if (!eqos->phy) { int addr = -1; - addr = eqos_get_phy_addr(eqos, dev); - eqos->phy = phy_connect(eqos->mii, addr, dev, - eqos->config->interface(dev)); + ofnode fixed_node; + + if (IS_ENABLED(CONFIG_PHY_FIXED)) { + fixed_node = ofnode_find_subnode(dev_ofnode(dev), +"fixed-link"); + if (ofnode_valid(fixed_node)) + eqos->phy = fixed_phy_create(dev_ofnode(dev)); + } + + if (!eqos->phy) { + addr = eqos_get_phy_addr(eqos, dev); + eqos->phy = phy_connect(eqos->mii, addr, dev, + eqos->config->interface(dev)); + } + if (!eqos->phy) { pr_err("phy_connect() failed"); goto err_stop_resets; -- 2.34.1 I would give a short reminder about the patch. Reviewed by Marek, ok for Ramon. Would be glad to see it in 2023.04. Thanks Elmar
[PATCH v3] Let the EQoS in imx8mp handle fixed-phy too.
Without that patch it lost track to the node to scan speed and duplex. Patch was created by Marek Vasut, just tested by me. Signed-off-by: Elmar Psilog Reviewed-by: Marek Vasut --- changes v2: fix format issues changes v3: remove {} around single if, add reviewd.. drivers/net/dwc_eth_qos.c | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index 112deb546d..b9de205b8a 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -788,9 +788,21 @@ static int eqos_start(struct udevice *dev) */ if (!eqos->phy) { int addr = -1; - addr = eqos_get_phy_addr(eqos, dev); - eqos->phy = phy_connect(eqos->mii, addr, dev, - eqos->config->interface(dev)); + ofnode fixed_node; + + if (IS_ENABLED(CONFIG_PHY_FIXED)) { + fixed_node = ofnode_find_subnode(dev_ofnode(dev), +"fixed-link"); + if (ofnode_valid(fixed_node)) + eqos->phy = fixed_phy_create(dev_ofnode(dev)); + } + + if (!eqos->phy) { + addr = eqos_get_phy_addr(eqos, dev); + eqos->phy = phy_connect(eqos->mii, addr, dev, + eqos->config->interface(dev)); + } + if (!eqos->phy) { pr_err("phy_connect() failed"); goto err_stop_resets; -- 2.34.1
[PATCH v2] Let the EQoS in imx8mp handle fixed-phy too.
Without that patch it lost track to the node to scan speed and duplex. Patch was created by Marek Vasut, just tested by me. Signed-off-by: Elmar Psilog --- changes v2: fix format issues drivers/net/dwc_eth_qos.c | 19 --- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index 112deb546d..ff638b0f1e 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -788,9 +788,22 @@ static int eqos_start(struct udevice *dev) */ if (!eqos->phy) { int addr = -1; - addr = eqos_get_phy_addr(eqos, dev); - eqos->phy = phy_connect(eqos->mii, addr, dev, - eqos->config->interface(dev)); + ofnode fixed_node; + + if (IS_ENABLED(CONFIG_PHY_FIXED)) { + fixed_node = ofnode_find_subnode(dev_ofnode(dev), +"fixed-link"); + if (ofnode_valid(fixed_node)) { + eqos->phy = fixed_phy_create(dev_ofnode(dev)); + } + } + + if (!eqos->phy) { + addr = eqos_get_phy_addr(eqos, dev); + eqos->phy = phy_connect(eqos->mii, addr, dev, + eqos->config->interface(dev)); + } + if (!eqos->phy) { pr_err("phy_connect() failed"); goto err_stop_resets; -- 2.34.1
[Patch] net: dwc_eth_qos - works with fixed-phy
Let the EQoS in imx8mp handle fixed-phy too. Without that patch it lost track to the node to scan speed and duplex. Patch was created by Marek Vasut, just tested by me. Signed-off-by: Elmar Psilog --- drivers/net/dwc_eth_qos.c 1 file changed diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index afc47b56ff..10915d8e47 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -785,9 +785,21 @@ static int eqos_start(struct udevice *dev) */ if (!eqos->phy) { int addr = -1; - addr = eqos_get_phy_addr(eqos, dev); - eqos->phy = phy_connect(eqos->mii, addr, dev, - eqos->config->interface(dev)); + ofnode fixed_node; + + if (IS_ENABLED(CONFIG_PHY_FIXED)) { + fixed_node = ofnode_find_subnode(dev_ofnode(dev), + "fixed-link"); + if (ofnode_valid(fixed_node)) { + eqos->phy = fixed_phy_create(dev_ofnode(dev)); + eqos->phy_of_node = fixed_node; + } + } + if (!eqos->phy) { + addr = eqos_get_phy_addr(eqos, dev); + eqos->phy = phy_connect(eqos->mii, addr, dev, eqos->config->interface(dev)); + } + if (!eqos->phy) { pr_err("phy_connect() failed"); goto err_stop_resets;
Re: imx8mp EQOS regression in dwc_eth_qos,c
Am 15.02.23 um 01:19 schrieb Marek Vasut: On 2/14/23 18:31, Elmar Psilog wrote: Am 13.02.23 um 22:20 schrieb Marek Vasut: On 2/13/23 22:04, Fabio Estevam wrote: Adding Marek, who has sent some EQOS patches recently. On Mon, Feb 13, 2023 at 6:02 PM Elmar Psilog wrote: Hello, Think I found a regression in EQOS driver with fixed-phy. Maybe someone with a imx8mp board might check that use case to confirm? That would be great. While ethernet was working in v2022.04 a "ping" in v2023.01 returns ERROR: no/invalid property! invalid speed 0 eqos_adjust_link() failed: -22 FAILED although devicetree/hardware kept unchanged. This happens because in file fixed.c in in function fixedphy_config() the call val = ofnode_read_u32_default(node, "speed", 0); returns 0 instead of 1000 and also the duplex is not set. Found that in file/function dwc_eth_qos.c / eqos_start() the line eqos->phy->node = eqos->phy_of_node; is responsible for losing the information. Don't know what magic happens here - so I can't fix it - I just followed the data. So all works well and even the parsing of old and new fixed-link devicetree works til that line. After that I don't get speed anymore. Maybe you can have a look at this? Try this patch (needs CONFIG_FIXED_PHY=y) : diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index d488bd0c288..592af53b352 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -791,9 +791,21 @@ static int eqos_start(struct udevice *dev) */ if (!eqos->phy) { int addr = -1; - addr = eqos_get_phy_addr(eqos, dev); - eqos->phy = phy_connect(eqos->mii, addr, dev, - eqos->config->interface(dev)); + ofnode fixed_node; + + if (IS_ENABLED(CONFIG_PHY_FIXED)) { + fixed_node = ofnode_find_subnode(dev_ofnode(dev), + "fixed-link"); + if (ofnode_valid(fixed_node)) { + eqos->phy = fixed_phy_create(dev_ofnode(dev)); + } + + if (!eqos->phy) { + addr = eqos_get_phy_addr(eqos, dev); + eqos->phy = phy_connect(eqos->mii, addr, dev, + eqos->config->interface(dev)); + } + if (!eqos->phy) { pr_err("phy_connect() failed"); goto err_stop_resets; Thanks Fabio for forwarding and Marek for the quick patch! Don't get this exactly. Bit confused about the closing "}" in if(IS_ENABLED) seems to be missed (or an else path)? Where exactly should this be? From the insertion it looks like you mean: Yes, the { shouldn't be at the end of 'if (ofnode_valid(fixed_node)) {' . + if (IS_ENABLED(CONFIG_PHY_FIXED)) { + fixed_node = ofnode_find_subnode(dev_ofnode(dev), + "fixed-link"); + if (ofnode_valid(fixed_node)) { + eqos->phy = fixed_phy_create(dev_ofnode(dev)); Add this here (*) too (see below): eqos->phy_of_node = fixed_node; + } This works too. + } + if (!eqos->phy) { + addr = eqos_get_phy_addr(eqos, dev); + eqos->phy = phy_connect(eqos->mii, addr, dev, eqos->config->interface(dev)); + } But that doesn't solve the issue. The magic line eqos->phy->node = eqos->phy_of_node; will still executed. See (*) above , does that help ? Likely a different issue but connected to EQOS: I am wondering why the clocks for ethernet look so much different if FEC is not configured. Shouldn't be the case, right? At least imx8mp.dtsi doesn't tell about any 24MHz clock. Also counter is "0"? Well, EQOS works with uncommenting the line above and this clock, but why? Each device is probed on first use, so the clock are left unconfigured until the device is actually used (e.g. for ethernet transfer). Note that there is a huge series which overhauls the EQoS and FEC clock on the ML, see: [PATCH v3 01/14] clk: imx8mp: Add EQoS MAC clock Marek, great! Can confirm that this patch (just to be sure attached complete below) does it's job. My concern with the clock is, that what is done in u-boot seems to have an effect in linux/kernel too. Not all clocks seems to be reconfigured in kernel. I'll try the upcoming 2023.04 release next. Again, big thanks. diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index afc47b56ff..10915d8e47 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -785,9 +785,21 @@ static int eqos_start(struct udevice *dev) */ if (!eqos->phy) {
Re: imx8mp EQOS regression in dwc_eth_qos,c
Am 13.02.23 um 22:20 schrieb Marek Vasut: On 2/13/23 22:04, Fabio Estevam wrote: Adding Marek, who has sent some EQOS patches recently. On Mon, Feb 13, 2023 at 6:02 PM Elmar Psilog wrote: Hello, Think I found a regression in EQOS driver with fixed-phy. Maybe someone with a imx8mp board might check that use case to confirm? That would be great. While ethernet was working in v2022.04 a "ping" in v2023.01 returns ERROR: no/invalid property! invalid speed 0 eqos_adjust_link() failed: -22 FAILED although devicetree/hardware kept unchanged. This happens because in file fixed.c in in function fixedphy_config() the call val = ofnode_read_u32_default(node, "speed", 0); returns 0 instead of 1000 and also the duplex is not set. Found that in file/function dwc_eth_qos.c / eqos_start() the line eqos->phy->node = eqos->phy_of_node; is responsible for losing the information. Don't know what magic happens here - so I can't fix it - I just followed the data. So all works well and even the parsing of old and new fixed-link devicetree works til that line. After that I don't get speed anymore. Maybe you can have a look at this? Try this patch (needs CONFIG_FIXED_PHY=y) : diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index d488bd0c288..592af53b352 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -791,9 +791,21 @@ static int eqos_start(struct udevice *dev) */ if (!eqos->phy) { int addr = -1; - addr = eqos_get_phy_addr(eqos, dev); - eqos->phy = phy_connect(eqos->mii, addr, dev, - eqos->config->interface(dev)); + ofnode fixed_node; + + if (IS_ENABLED(CONFIG_PHY_FIXED)) { + fixed_node = ofnode_find_subnode(dev_ofnode(dev), + "fixed-link"); + if (ofnode_valid(fixed_node)) { + eqos->phy = fixed_phy_create(dev_ofnode(dev)); + } + + if (!eqos->phy) { + addr = eqos_get_phy_addr(eqos, dev); + eqos->phy = phy_connect(eqos->mii, addr, dev, + eqos->config->interface(dev)); + } + if (!eqos->phy) { pr_err("phy_connect() failed"); goto err_stop_resets; Thanks Fabio for forwarding and Marek for the quick patch! Don't get this exactly. Bit confused about the closing "}" in if(IS_ENABLED) seems to be missed (or an else path)? Where exactly should this be? From the insertion it looks like you mean: + if (IS_ENABLED(CONFIG_PHY_FIXED)) { + fixed_node = ofnode_find_subnode(dev_ofnode(dev), + "fixed-link"); + if (ofnode_valid(fixed_node)) { + eqos->phy = fixed_phy_create(dev_ofnode(dev)); + } + } + if (!eqos->phy) { + addr = eqos_get_phy_addr(eqos, dev); + eqos->phy = phy_connect(eqos->mii, addr, dev, eqos->config->interface(dev)); + } But that doesn't solve the issue. The magic line eqos->phy->node = eqos->phy_of_node; will still executed. Likely a different issue but connected to EQOS: I am wondering why the clocks for ethernet look so much different if FEC is not configured. Shouldn't be the case, right? At least imx8mp.dtsi doesn't tell about any 24MHz clock. Also counter is "0"? Well, EQOS works with uncommenting the line above and this clock, but why? clk_dump returns on NXP EVK board with FEC configured: 2 1 | | |-- sys_pll1_266m 2 0 | | | |-- nand_usdhc_bus 2 4 | | | `-- enet_axi 2 2 | | | |-- enet1_root_clk 2 2 | | | `-- sim_enet_root_clk ... 10 1 | | `-- sys_pll2_bypass 10 3 | | `-- sys_pll2_out 5000 2 | | |-- sys_pll2_50m 5000 2 | | | `-- enet_phy_ref 1 2 | | |-- sys_pll2_100m 1 2 | | | `-- enet_timer 12500 2 | | |-- sys_pll2_125m 12500 2 | | | `-- enet_ref 1 0 | | |-- sys_pll2_166m and without FEC configured: 2400 0 | |-- enet_axi 2400 0 | | |-- enet1_root_clk 2400 0 |
imx8mp EQOS regression in dwc_eth_qos,c
Hello, Think I found a regression in EQOS driver with fixed-phy. Maybe someone with a imx8mp board might check that use case to confirm? That would be great. While ethernet was working in v2022.04 a "ping" in v2023.01 returns ERROR: no/invalid property! invalid speed 0 eqos_adjust_link() failed: -22 FAILED although devicetree/hardware kept unchanged. This happens because in file fixed.c in in function fixedphy_config() the call val = ofnode_read_u32_default(node, "speed", 0); returns 0 instead of 1000 and also the duplex is not set. Found that in file/function dwc_eth_qos.c / eqos_start() the line eqos->phy->node = eqos->phy_of_node; is responsible for losing the information. Don't know what magic happens here - so I can't fix it - I just followed the data. So all works well and even the parsing of old and new fixed-link devicetree works til that line. After that I don't get speed anymore. Maybe you can have a look at this? Thank you and best regards, Elmar DTS should be correct &eqos { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_eqos>; phy-mode = "rgmii-id"; status = "okay"; // fixed-link = <0 1 1000 0 0>; // old - just for test fixed-link { speed = <1000>; full-duplex; }; };
Re: imx8mp spi fail
Thank you so much, you made my day! Sorry, I didn't see the alias was used different. Although my credibility gambled away I think I found a real bug in EQOS driver with fixed-phy: In file fixed.c in in function fixedphy_config() the call val = ofnode_read_u32_default(node, "speed", 0); returns 0 instead of 1000 and also the duplex is not set. I found that in file/function dwc_eth_qos.c / eqos_start() the line eqos->phy->node = eqos->phy_of_node; is reponsible for losing the info. Don't know what magic happens here - so I can't fix it - just followed the data. So all works well and even the parsing of old and new fixed-link devicetree works til that line. After that I don't get speed anymore. Can someone please confirm? Best regards, Elmar Am 13.02.23 um 00:38 schrieb Fabio Estevam: Hi Elmar, On Sun, Feb 12, 2023 at 3:04 PM Elmar Psilog wrote: Hello, kindly ask for help about SPI at an IMX8MP. I tried latest 2023.01. If you can please have a look and check it works on your side? sspi command returns: Invalid bus 0 Could you try passing an aliases entry in your dts like this? aliases { spi0 = &ecspi1; }; Does this help? What am I doing wrong or is this a bug? Thanks ahead for any hint. dt: (tested with both types of cs-gpios) &ecspi1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ecspi1>; cs-gpios = <0>, <&gpio5 9 GPIO_ACTIVE_LOW>; // cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; This last format is the correct one.
imx8mp spi fail
Hello, kindly ask for help about SPI at an IMX8MP. I tried latest 2023.01. If you can please have a look and check it works on your side? sspi command returns: Invalid bus 0 Turning on the log-level: drivers/core/lists.c:201- lists_bind_fdt() bind node spi@3082 drivers/core/lists.c:222- lists_bind_fdt()- attempt to match compatible string 'fsl,imx8mp-ecspi' drivers/core/lists.c:222- lists_bind_fdt()- attempt to match compatible string 'fsl,imx51-ecspi' drivers/core/lists.c:250- lists_bind_fdt()- found match at 'mxc_spi': 'fsl,imx51-ecspi' matches 'fsl,imx51-ecspi' u-boot=> sspi drivers/core/uclass.c:338-uclass_find_device_by_seq() 0 drivers/core/uclass.c:346-uclass_find_device_by_seq()- 1 'spi@3082' drivers/core/uclass.c:353-uclass_find_device_by_seq()- not found drivers/spi/spi-uclass.c:431- _spi_get_bus_and_cs() Invalid bus 0 (err=-19) What am I doing wrong or is this a bug? Thanks ahead for any hint. Best regards, Elmar --- Pretty sure my config and devicetree is not wrong as long there are no changes about in last few month. I attache it below. my config file: CONFIG_SPL_DM_SPI=y CONFIG_CMD_SPI=y CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_MXC_SPI=y dt: (tested with both types of cs-gpios) &ecspi1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ecspi1>; cs-gpios = <0>, <&gpio5 9 GPIO_ACTIVE_LOW>; // cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; status = "okay"; }; pinctrl_ecspi1: ecspi1grp { fsl,pins = < MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO 0x0104 MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI 0x0104 MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK 0x0104 MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x0104 >; };
[u-boot] SPI imx8mp problem
Hello, do have some problems with SPI at an IMX8MP. I tried latest 2023.01. I have a device attached to SPI, that needs to be configured with an SSPI command at u-boot level. Please help me debug that, I am clueless. sspi command returns: Invalid bus 0 my config file: CONFIG_SPL_DM_SPI=y CONFIG_CMD_SPI=y CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_MXC_SPI=y dt: (tested with both types of cs-gpios) &ecspi1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ecspi1>; cs-gpios = <0>, <&gpio5 9 GPIO_ACTIVE_LOW>; // cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; status = "okay"; }; pinctrl_ecspi1: ecspi1grp { fsl,pins = < MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO 0x0104 MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI 0x0104 MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK 0x0104 MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x0104 >; }; Turning on the log-level: drivers/core/lists.c:201- lists_bind_fdt() bind node spi@3082 drivers/core/lists.c:222- lists_bind_fdt()- attempt to match compatible string 'fsl,imx8mp-ecspi' drivers/core/lists.c:222- lists_bind_fdt()- attempt to match compatible string 'fsl,imx51-ecspi' drivers/core/lists.c:250- lists_bind_fdt()- found match at 'mxc_spi': 'fsl,imx51-ecspi' matches 'fsl,imx51-ecspi' u-boot=> sspi drivers/core/uclass.c:338-uclass_find_device_by_seq() 0 drivers/core/uclass.c:346-uclass_find_device_by_seq()- 1 'spi@3082' drivers/core/uclass.c:353-uclass_find_device_by_seq()- not found drivers/spi/spi-uclass.c:431- _spi_get_bus_and_cs() Invalid bus 0 (err=-19) What am I doing wrong or is this a bug? Thanks ahead for any hint. Best regards, Elmar PS: Got SPI working at v2022.04 but an other issues occur, not sure how severe it is. At v2022.04 the SPI command is send, but at very first call I get "Enable clock-controller@3038 failed".
Re: get file via tftp and write to filesystem, get length of tftp transfer
On Tue, Nov 30, 2021 at 07:51:28AM +0100, Elmar Psilog wrote: Hello, is it possible to download a file via network (tftp) and write it to a filesystem as ext4? This looks like a combination of tftpboot and ext4write but how to get sizebytes? I don't find how to get the length information from tftpboot into a variable - it seems to me only displayed on screen. Did I miss something? The filesize environment variable is almost always set when we "read" something from a source, including tftp. Thanks Tom! How could I miss that? Writing ext4 only works if it was formatted with -O ^metadata_csum. Best regards, Elmar
get file via tftp and write to filesystem, get length of tftp transfer
Hello, is it possible to download a file via network (tftp) and write it to a filesystem as ext4? This looks like a combination of tftpboot and ext4write but how to get sizebytes? I don't find how to get the length information from tftpboot into a variable - it seems to me only displayed on screen. Did I miss something? Thanks for you patience. Elmar
Re: imx8mp evk - boot stucks at BL31
On 21.01.21 07:37, Elmar Psilog wrote: I am on a imx8.mp evk board. I could build and start loader (SPL, UBOOT, DT, ATF/BL31, mkimage) from the freescale git. Due to some problems I switched to mainland Uboot 2021-1. I found SPL/ATF is booting, but it stops with: NOTICE: BL31: If I replace in imx-mkimage just the file u-boot-nodtb.bin with NXP's uboot, than it boots (it shows the U-Boot-2020.04 banner). So something went wrong with 2021-1 uboot or its default config. What can this be? I enabled log level 7, but nothing to be seen. (BTW: When enables loglevel >6 for SPL, SPL fails in DDR training. In NXP 20.04 SPL I couldn't compile with SPL log support) On Denx-Git I found Uboot boots imx8mp-evk with 2020.07, but not with 2020.10 - even not first RC).
imx8mp evk - boot stucks at BL31
I am on a imx8.mp evk board. I could build and start loader (SPL, UBOOT, DT, ATF/BL31, mkimage) from the freescale git. Due to some problems I switched to mainland Uboot 2021-1. I found SPL/ATF is booting, but it stops with: NOTICE: BL31: If I replace in imx-mkimage just the file u-boot-nodtb.bin with NXP's uboot, than it boots (it shows the U-Boot-2020.04 banner). So something went wrong with 2021-1 uboot or its default config. What can this be? I enabled log level 7, but nothing to be seen. (BTW: When enables loglevel >6 for SPL, SPL fails in DDR training. In NXP 20.04 SPL I couldn't compile with SPL log support)