Re: [BUG]odroid-c2 does not hotplug usb-devices
Hi Martin, i think the the u-boot fix made the new u-boot for me usable. Because i boot from emmc it fixes a long standing problem since 2020.04 in not booting from emmc. The latest uboot, booting from emmc before the fix was 2020.04, but this old uboot does not funktion well (hotpluging and others) with newer kernel (5.8.10 was the latest i new of). Therefore the latest Uboot initialized the kernel in a way that new kernels work again. I haven't run kernel in between, with newer uboots like 2020.07 or 2020.10, because they din't boot from emmc. so if the uboot patch is the real reason, i don't think. best regrads Otto Am 19.12.20 um 23:31 schrieb Martin Blumenstingl: Hi Anand, On Sat, Dec 19, 2020 at 8:53 PM Anand Moon wrote: [...] I was also looking into this issue so I made some changes in the phy driver to resolve the issue. Plz share your thoughts on the changes below. first I have some questions :-) 1. do you see the same problem that Otto sees? this means: a) USB hotplug works as long as at least one device is plugged in at boot b) (if I understand Otto correctly then) it breaks once all USB devices have been removed 2. does the mainline u-boot patch mentioned by Otto fix the problem for you? according to him it fixes the problem and he did not have to modify the USB PHY driver amoon@ThinkPad-T440s:~/mainline/linux-aml-5.y-devel$ git diff diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi index 7c029f552a23..363dd2ac17e6 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi @@ -20,6 +20,7 @@ usb0_phy: phy@c000 { #phy-cells = <0>; reg = <0x0 0xc000 0x0 0x20>; resets = <&reset RESET_USB_OTG>; + reset-names = "phy-reset"; clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB0>; clock-names = "usb_general", "usb"; status = "disabled"; @@ -30,6 +31,7 @@ usb1_phy: phy@c020 { #phy-cells = <0>; reg = <0x0 0xc020 0x0 0x20>; resets = <&reset RESET_USB_OTG>; + reset-names = "phy-reset"; clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1>; clock-names = "usb_general", "usb"; status = "disabled"; I don't see why the above two changes are needed see my comment about of_reset_control_get_shared below diff --git a/drivers/phy/amlogic/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c index 03c061dd5f0d..31523becc878 100644 --- a/drivers/phy/amlogic/phy-meson8b-usb2.c +++ b/drivers/phy/amlogic/phy-meson8b-usb2.c @@ -143,14 +143,6 @@ static int phy_meson8b_usb2_power_on(struct phy *phy) u32 reg; int ret; - if (!IS_ERR_OR_NULL(priv->reset)) { - ret = reset_control_reset(priv->reset); - if (ret) { - dev_err(&phy->dev, "Failed to trigger USB reset\n"); - return ret; - } - } - ret = clk_prepare_enable(priv->clk_usb_general); if (ret) { dev_err(&phy->dev, "Failed to enable USB general clock\n"); @@ -222,9 +214,23 @@ static int phy_meson8b_usb2_power_off(struct phy *phy) return 0; } +static int phy_meson8b_usb2_reset(struct phy *phy) +{ + struct phy_meson8b_usb2_priv *priv = phy_get_drvdata(phy); + + if (priv->reset) { + reset_control_assert(priv->reset); + udelay(10); + reset_control_deassert(priv->reset); + } + + return 0; +} + static const struct phy_ops phy_meson8b_usb2_ops = { .power_on = phy_meson8b_usb2_power_on, .power_off = phy_meson8b_usb2_power_off, + .reset = phy_meson8b_usb2_reset, .owner = THIS_MODULE, }; I tested this on my Odroid-C1: phy_meson8b_usb2_reset is never called after checking the dwc2 code this is expected: only in one very specific case the dwc2 driver calls phy_reset can you please find out how phy_meson8b_usb2_reset is called in your kernel? @@ -271,6 +277,10 @@ static int phy_meson8b_usb2_probe(struct platform_device *pdev) return -EINVAL; } + priv->reset = of_reset_control_get_shared(pdev->dev.of_node, "phy-reset"); this causes a memory-leak upon driver removal also a few lines above we are already getting the reset line, so why is this needed? Best regards, Martin
Re: [BUG]odroid-c2 does not hotplug usb-devices
Hi Martin, Am 19.12.20 um 14:58 schrieb Martin Blumenstingl: Hi Otto, On Mon, Dec 14, 2020 at 8:34 PM Otto Meier wrote: Hi Martin, Am 13.12.20 um 19:46 schrieb Martin Blumenstingl: Hi Otto, On Mon, Dec 7, 2020 at 1:43 PM Otto Meier wrote: [...] So with the latest u-boot and the kernel from https://github.com/chewitt/linux/tree/amlogic-5.10.y commit 725fc8df7898102f9031ba2075f763884ffa3ee8 everything is working again. USB does hotplugging as expected. So, this fixes USB under Linux ?? It's not clear if you have time it would be great if you could figure out which of the patches from Christian's tree fixes USB hotplugging for you. Or is it fixed in Linux 5.10-rcX even without any patches? The new mainline kernel 5.10.0 from Linus, without any other patches does detect USB hotpluging, when using u-boot DMI: Hardkernel Co., Ltd. ODROID-C2/ODROID-C2, BIOS 2021.01-rc3-00039-gec79f5ce22-dirty 12/08/2020 and the following u-boot patch: [...] When i use the last unpatched emmc bootable u-boot 2020.04 the kernel boots, but usb hotplugging does not work. Thank you for testing this! Hope this describes my findings. If i can help further, please give me a note. to be honest: I am a bit lost here. I don't understand how the BOOT_* pins interfere with USB. I also don't have any Odroid-C2 board myself so I cannot do any experiments myself. Neil, please let me know if you have any idea here. The latest Patch from Neil in U-boot also fixes all the problems: This fixes the wrong usage of clrsetbits_le32(), badly setting the set argument. Fixes: c4c726c26b ("pinctrl: meson: add pinconf support") Reported-by: Anton Arapov Reported-by: Otto Meier Signed-off-by: Neil Armstrong --- Hi Anton, Otto, This should fix eMMC booting on Odroid-C2, could you have a quick try to confirm ? Thanks, Neil drivers/pinctrl/meson/pinctrl-meson.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c index d4539b02d8..5065b62436 100644 --- a/drivers/pinctrl/meson/pinctrl-meson.c +++ b/drivers/pinctrl/meson/pinctrl-meson.c @@ -216,13 +216,13 @@ static int meson_pinconf_bias_set(struct udevice *dev, unsigned int pin, } /* othewise, enable the bias and select level */ - clrsetbits_le32(priv->reg_pullen + reg, BIT(bit), 1); + clrsetbits_le32(priv->reg_pullen + reg, BIT(bit), BIT(bit)); ret = meson_gpio_calc_reg_and_bit(dev, offset, REG_PULL, ®, &bit); if (ret) return ret; clrsetbits_le32(priv->reg_pull + reg, BIT(bit), - param == PIN_CONFIG_BIAS_PULL_UP); + (param == PIN_CONFIG_BIAS_PULL_UP ? BIT(bit) : 0)); return 0; } -- 2.25.1 perhaps this gives an idea of what was wrong. But anyhow for me the issues with U-boot and usb hotplug is solved so far. For me this is even more i understand. Best regards, Martin Thanks for your help. Otto
Re: [PATCH] pinctrl: meson: fix bit manipulation of pin bias configuration
Hi, I tested it also with newest U-boot DMI: Hardkernel Co., Ltd. ODROID-C2/ODROID-C2, BIOS 2021.01-rc3-00134-gf40825e18e-dirty 12/15/2020 and it definitly fixes the emmc boot issue. Am 15.12.20 um 08:52 schrieb Neil Armstrong: On 14/12/2020 21:48, Anton Arapov wrote: Hi Neil, I tested it and it does fix the issue. I am able to boot from eMMC. Thanks a lot! Anton On Mon, Dec 14, 2020 at 7:48 PM Neil Armstrong wrote: This fixes the wrong usage of clrsetbits_le32(), badly setting the set argument. Fixes: c4c726c26b ("pinctrl: meson: add pinconf support") Reported-by: Anton Arapov Reported-by: Otto Meier Signed-off-by: Neil Armstrong --- Hi Anton, Otto, This should fix eMMC booting on Odroid-C2, could you have a quick try to confirm ? Thanks, Neil drivers/pinctrl/meson/pinctrl-meson.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c index d4539b02d8..5065b62436 100644 --- a/drivers/pinctrl/meson/pinctrl-meson.c +++ b/drivers/pinctrl/meson/pinctrl-meson.c @@ -216,13 +216,13 @@ static int meson_pinconf_bias_set(struct udevice *dev, unsigned int pin, } /* othewise, enable the bias and select level */ - clrsetbits_le32(priv->reg_pullen + reg, BIT(bit), 1); + clrsetbits_le32(priv->reg_pullen + reg, BIT(bit), BIT(bit)); ret = meson_gpio_calc_reg_and_bit(dev, offset, REG_PULL, ®, &bit); if (ret) return ret; clrsetbits_le32(priv->reg_pull + reg, BIT(bit), - param == PIN_CONFIG_BIAS_PULL_UP); + (param == PIN_CONFIG_BIAS_PULL_UP ? BIT(bit) : 0)); return 0; } -- 2.25.1 Thanks for testing ! Applied to u-boot-amlogic Neil Thank you very much for this correct fix. Best regards Otto
Re: [BUG]odroid-c2 does not hotplug usb-devices
Hi Martin, Am 13.12.20 um 19:46 schrieb Martin Blumenstingl: Hi Otto, On Mon, Dec 7, 2020 at 1:43 PM Otto Meier wrote: [...] So with the latest u-boot and the kernel from https://github.com/chewitt/linux/tree/amlogic-5.10.y commit 725fc8df7898102f9031ba2075f763884ffa3ee8 everything is working again. USB does hotplugging as expected. So, this fixes USB under Linux ?? It's not clear if you have time it would be great if you could figure out which of the patches from Christian's tree fixes USB hotplugging for you. Or is it fixed in Linux 5.10-rcX even without any patches? The new mainline kernel 5.10.0 from Linus, without any other patches does detect USB hotpluging, when using u-boot DMI: Hardkernel Co., Ltd. ODROID-C2/ODROID-C2, BIOS 2021.01-rc3-00039-gec79f5ce22-dirty 12/08/2020 and the following u-boot patch: --- u-boot.git/arch/arm/dts/meson-gxbb.dtsi.orig 2020-11-27 17:20:04.624193561 +0100 +++ u-boot.git/arch/arm/dts/meson-gxbb.dtsi 2020-11-27 17:23:18.472088934 +0100 @@ -403,36 +403,33 @@ gpio-ranges = <&pinctrl_periphs 0 0 119>; }; - emmc_pins: emmc { - mux-0 { - groups = "emmc_nand_d07", - "emmc_cmd"; - function = "emmc"; - bias-pull-up; - }; - mux-1 { - groups = "emmc_clk"; - function = "emmc"; - bias-disable; - }; - }; + emmc_pins: emmc { + mux { + groups = "emmc_nand_d07", + "emmc_cmd", + "emmc_clk"; + function = "emmc"; + }; + }; - emmc_ds_pins: emmc-ds { - mux { - groups = "emmc_ds"; - function = "emmc"; - bias-pull-down; - }; - }; + emmc_ds_pins: emmc-ds { + mux { + groups = "emmc_ds"; + function = "emmc"; + }; + }; - emmc_clk_gate_pins: emmc_clk_gate { - mux { - groups = "BOOT_8"; - function = "gpio_periphs"; - bias-pull-down; - }; - }; + emmc_clk_gate_pins: emmc_clk_gate { + mux { + groups = "BOOT_8"; + function = "gpio_periphs"; + }; + cfg-pull-down { + pins = "BOOT_8"; + bias-pull-down; + }; + }; nor_pins: nor { mux { When i use the last unpatched emmc bootable u-boot 2020.04 the kernel boots, but usb hotplugging does not work. Hope this describes my findings. If i can help further, please give me a note. Best regards, Martin Best regards Otto
Re: [BUG]odroid-c2 does not hotplug usb-devices
Am 07.12.20 um 13:29 schrieb Neil Armstrong: Hi, (Please CC u-boot-amlo...@groups.io when U-Boot is concerned) On 07/12/2020 13:19, Otto Meier wrote: Hi Martin, I did a lot of googling this weekend and found some interesting problems with odroid-c2. 1. booting from emmc stop after u-boot 2020.04 (this hits me also) Indeed, this already has been reported, but the root cause is unknown 2. usb did not work with newer kernels. This gaves me the idea that something in the configuration of the s905 soc is not ok. here: https://forum.libreelec.tv/thread/12330-balbes150-le-images-with-kodi-19-for-s9xxx/?postID=147212#post147212 and here: https://lists.denx.de/pipermail/u-boot/2020-November/thread.html in https://groups.io/g/u-boot-amlogic/topic/77816805#661 some problems in pinctrl related to booting from emmc is discussed. i found that commit dd5f2351e99aad8fcbedbc1305b8b51b09952336 of u-boot rendered the situation for odroid-c2 bad. i gave the following patch on Top of commit ee1e04558ff8c8ed812b986939447f129bb0b0bb of u-boot a try ad it fixes the odroid-c2 boot issue. --- u-boot.git/arch/arm/dts/meson-gxbb.dtsi.orig 2020-11-27 17:20:04.624193561 +0100 +++ u-boot.git/arch/arm/dts/meson-gxbb.dtsi 2020-11-27 17:23:18.472088934 +0100 @@ -403,36 +403,33 @@ gpio-ranges = <&pinctrl_periphs 0 0 119>; }; - emmc_pins: emmc { - mux-0 { - groups = "emmc_nand_d07", - "emmc_cmd"; - function = "emmc"; - bias-pull-up; - }; - mux-1 { - groups = "emmc_clk"; - function = "emmc"; - bias-disable; - }; - }; + emmc_pins: emmc { + mux { + groups = "emmc_nand_d07", + "emmc_cmd", + "emmc_clk"; + function = "emmc"; + }; + }; - emmc_ds_pins: emmc-ds { - mux { - groups = "emmc_ds"; - function = "emmc"; - bias-pull-down; - }; - }; + emmc_ds_pins: emmc-ds { + mux { + groups = "emmc_ds"; + function = "emmc"; + }; + }; - emmc_clk_gate_pins: emmc_clk_gate { - mux { - groups = "BOOT_8"; - function = "gpio_periphs"; - bias-pull-down; - }; - }; + emmc_clk_gate_pins: emmc_clk_gate { + mux { + groups = "BOOT_8"; + function = "gpio_periphs"; + }; + cfg-pull-down { + pins = "BOOT_8"; + bias-pull-down; + }; + }; nor_pins: nor { mux { So with the latest u-boot and the kernel from https://github.com/chewitt/linux/tree/amlogic-5.10.y commit 725fc8df7898102f9031ba2075f763884ffa3ee8 everything is working again. USB does hotplugging as expected. So, this fixes USB under Linux ?? It's not clear Neil The above patch fixes booting from emmc for me. Using a newer uboot then 2020.04 is mandatory for using the above mentioned kernel. The usb issue, i had with earlier kernels from the above mentioned tree. Hope that clearifies it. I wanted to run the newest kernel on my system which boots from emmc. I think these issues are probaly independant but in my system they did interfere. Best regards Otto For me this make it work again. But i`m sorry, I don´t know what would be a real fix. Am 05.12.20 um 20:55 schrieb Martin Blumenstingl: Hi Otto, On Sat, Dec 5, 2020 at 6:40 PM Otto Meier wrote: Hi Martin, i have tried your second notice. but it does'nt solve the issue. if at leased on device is pluged in new devices are detected. if all devices have been removed, no new device will be detected anymore. thanks for trying this out and for reporting back. can you please also test if running "lsusb -vvv" (as root) makes the devices show up? background info: the Amlog
Re: [BUG]odroid-c2 does not hotplug usb-devices
Hi Martin, I did a lot of googling this weekend and found some interesting problems with odroid-c2. 1. booting from emmc stop after u-boot 2020.04 (this hits me also) 2. usb did not work with newer kernels. This gaves me the idea that something in the configuration of the s905 soc is not ok. here: https://forum.libreelec.tv/thread/12330-balbes150-le-images-with-kodi-19-for-s9xxx/?postID=147212#post147212 and here: https://lists.denx.de/pipermail/u-boot/2020-November/thread.html in https://groups.io/g/u-boot-amlogic/topic/77816805#661 some problems in pinctrl related to booting from emmc is discussed. i found that commit dd5f2351e99aad8fcbedbc1305b8b51b09952336 of u-boot rendered the situation for odroid-c2 bad. i gave the following patch on Top of commit ee1e04558ff8c8ed812b986939447f129bb0b0bb of u-boot a try ad it fixes the odroid-c2 boot issue. --- u-boot.git/arch/arm/dts/meson-gxbb.dtsi.orig2020-11-27 17:20:04.624193561 +0100 +++ u-boot.git/arch/arm/dts/meson-gxbb.dtsi 2020-11-27 17:23:18.472088934 +0100 @@ -403,36 +403,33 @@ gpio-ranges = <&pinctrl_periphs 0 0 119>; }; - emmc_pins: emmc { - mux-0 { - groups = "emmc_nand_d07", - "emmc_cmd"; - function = "emmc"; - bias-pull-up; - }; - mux-1 { - groups = "emmc_clk"; - function = "emmc"; - bias-disable; - }; - }; +emmc_pins: emmc { +mux { +groups = "emmc_nand_d07", + "emmc_cmd", + "emmc_clk"; +function = "emmc"; +}; +}; - emmc_ds_pins: emmc-ds { - mux { - groups = "emmc_ds"; - function = "emmc"; - bias-pull-down; - }; - }; +emmc_ds_pins: emmc-ds { +mux { +groups = "emmc_ds"; +function = "emmc"; +}; +}; - emmc_clk_gate_pins: emmc_clk_gate { - mux { - groups = "BOOT_8"; - function = "gpio_periphs"; - bias-pull-down; - }; - }; +emmc_clk_gate_pins: emmc_clk_gate { +mux { +groups = "BOOT_8"; +function = "gpio_periphs"; +}; +cfg-pull-down { +pins = "BOOT_8"; +bias-pull-down; +}; +}; nor_pins: nor { mux { So with the latest u-boot and the kernel from https://github.com/chewitt/linux/tree/amlogic-5.10.y commit 725fc8df7898102f9031ba2075f763884ffa3ee8 everything is working again. USB does hotplugging as expected. For me this make it work again. But i`m sorry, I don´t know what would be a real fix. Am 05.12.20 um 20:55 schrieb Martin Blumenstingl: Hi Otto, On Sat, Dec 5, 2020 at 6:40 PM Otto Meier wrote: Hi Martin, i have tried your second notice. but it does'nt solve the issue. if at leased on device is pluged in new devices are detected. if all devices have been removed, no new device will be detected anymore. thanks for trying this out and for reporting back. can you please also test if running "lsusb -vvv" (as root) makes the devices show up? background info: the Amlogic Meson GXBB SoC on your Odroid-C2 board uses a "dwc2" USB 2.0 controller. I don't have any GXBB based board, but my Odroid-C1+ uses the same controller and overall setup. There I can reproduce the problem you are seeing. I am not sure which part of the "infrastructure" (on-board 4-port USB hub, dwc2 controller, ...) is causing this issue. My suggestion is to involve the linux-usb mailing list and dwc2 driver maintainer: - Minas Harutyunyan (dwc2 driver maintainer) - linux-...@vger.kernel.org (usb mailing list) In the past they provided information and helped to debug issues. Please also keep me Cc'ed so I can help with any Amlogic specific questions, drivers, etc. Best regards, Martin
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
Hi, I did a guess and reverted the following in the actual git from arch/arm/dts/meson-gxbb.dtsi of the bad commit and booting from emmc on odroid-c worked again: @@ -354,11 +381,17 @@ }; emmc_pins: emmc { - mux { + mux-0 { groups = "emmc_nand_d07", - "emmc_cmd", - "emmc_clk"; + "emmc_cmd"; function = "emmc"; + bias-pull-up; + }; + + mux-1 { + groups = "emmc_clk"; + function = "emmc"; + bias-disable; }; }; @@ -366,6 +399,7 @@ mux { groups = "emmc_ds"; function = "emmc"; + bias-pull-down; }; }; @@ -373,9 +407,6 @@ mux { groups = "BOOT_8"; function = "gpio_periphs"; - }; - cfg-pull-down { - pins = "BOOT_8"; bias-pull-down; }; }; Hope this helps the devs to find the right fix. Best regards and thanks for the support. Otto Hi, I bisected it and this is the result: dd5f2351e99aad8fcbedbc1305b8b51b09952336 is the first bad commit commit dd5f2351e99aad8fcbedbc1305b8b51b09952336 Author: Jerome Brunet Date: Thu Mar 5 12:12:38 2020 +0100 arm64: dts: meson: sync dt and bindings from v5.6-rc2 Sync the device tree and dt-bindings from Linux v5.6-rc2 11a48a5a18c6 ("Linux 5.6-rc2") The only exception to this is the mmc pinctrl pin bias of gxl SoC family. This is a fix which found its way to u-boot but not Linux yet. Acked-by: Neil Armstrong Signed-off-by: Jerome Brunet Signed-off-by: Neil Armstrong arch/arm/dts/meson-axg-s400.dts | 70 ++- arch/arm/dts/meson-axg.dtsi | 273 ++-- arch/arm/dts/meson-g12-common.dtsi | 478 +++-- arch/arm/dts/meson-g12.dtsi | 398 + arch/arm/dts/meson-g12a-sei510.dts | 64 +++ arch/arm/dts/meson-g12a-u200.dts | 54 +++ arch/arm/dts/meson-g12a.dtsi | 33 +- arch/arm/dts/meson-g12b-a311d-khadas-vim3.dts | 25 ++ arch/arm/dts/meson-g12b-odroid-n2.dts | 2 +- arch/arm/dts/meson-g12b.dtsi | 26 +- arch/arm/dts/meson-gx.dtsi | 87 +++- arch/arm/dts/meson-gxbb-nanopi-k2.dts | 26 +- arch/arm/dts/meson-gxbb-odroidc2.dts | 100 - arch/arm/dts/meson-gxbb-p200.dts | 9 +- arch/arm/dts/meson-gxbb-p201.dts | 2 +- arch/arm/dts/meson-gxbb-p20x.dtsi | 9 +- arch/arm/dts/meson-gxbb.dtsi | 118 - arch/arm/dts/meson-gxl-s805x-libretech-ac.dts | 2 +- arch/arm/dts/meson-gxl-s905x-khadas-vim.dts | 20 +- arch/arm/dts/meson-gxl-s905x-libretech-cc.dts | 26 +- arch/arm/dts/meson-gxl-s905x-p212.dtsi | 10 +- arch/arm/dts/meson-gxl.dtsi | 76 +++- arch/arm/dts/meson-gxm-khadas-vim2.dts | 71 +-- arch/arm/dts/meson-gxm.dtsi | 39 +- arch/arm/dts/meson-khadas-vim3.dtsi | 7 + arch/arm/dts/meson-sm1-sei610.dts | 236 +- arch/arm/dts/meson-sm1.dtsi | 356 +++ include/dt-bindings/clock/axg-audio-clkc.h | 10 + include/dt-bindings/clock/gxbb-aoclkc.h | 7 + include/dt-bindings/clock/gxbb-clkc.h | 21 + include/dt-bindings/gpio/meson-gxbb-gpio.h | 8 +- include/dt-bindings/gpio/meson-gxl-gpio.h | 8 +- .../reset/amlogic,meson-axg-audio-arb.h | 2 + .../dt-bindings/reset/amlogic,meson-axg-reset.h | 3 +- .../reset/amlogic,meson-g12a-audio-reset.h | 15 + .../dt-bindings/reset/amlogic,meson-gxbb-reset.h | 51 +-- 36 files changed, 2119 insertions(+), 623 deletions(-) create mode 100644 arch/arm/dts/meson-g12.dtsi Hope this helps Best Regards Otto Am 26.11.20 um 12:46 schrieb Jaehoon Chung: Hi, On 11/26/20 8:26 PM, Otto Meier wrote: Hi Jaehoon, no i did not run git bisect. I don't know how to process this. Could you guide me? You can see usage with "$git bisect --help" You mentioned v2020.07 doesn't work fine. then checkout v2020.07 git checkout v2020.07 git bisect start git bisect bad git bisect good v2020.04 1) build odroid-c2 2) check whether it's working fine or not. 2-1) if not work, $git bisect bad 2-2) if work fine, $git bisect good Repeat to do above sequence until find commit. (maybe you can find what commit is problem.) Best Regards, Jaehoon Chung best regards Otto Am 26.11.20 um 12:11 schrieb Jaehoon Chung: Hi Otto, Sorry for sending personally. Did you try to run "git bisect" ? Best Regards, Jaehoon Chung On 11/20/20 12:52 AM, Otto Meier wro
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
Hi, I bisected it and this is the result: dd5f2351e99aad8fcbedbc1305b8b51b09952336 is the first bad commit commit dd5f2351e99aad8fcbedbc1305b8b51b09952336 Author: Jerome Brunet Date: Thu Mar 5 12:12:38 2020 +0100 arm64: dts: meson: sync dt and bindings from v5.6-rc2 Sync the device tree and dt-bindings from Linux v5.6-rc2 11a48a5a18c6 ("Linux 5.6-rc2") The only exception to this is the mmc pinctrl pin bias of gxl SoC family. This is a fix which found its way to u-boot but not Linux yet. Acked-by: Neil Armstrong Signed-off-by: Jerome Brunet Signed-off-by: Neil Armstrong arch/arm/dts/meson-axg-s400.dts| 70 ++- arch/arm/dts/meson-axg.dtsi| 273 ++-- arch/arm/dts/meson-g12-common.dtsi | 478 +++-- arch/arm/dts/meson-g12.dtsi| 398 + arch/arm/dts/meson-g12a-sei510.dts | 64 +++ arch/arm/dts/meson-g12a-u200.dts | 54 +++ arch/arm/dts/meson-g12a.dtsi | 33 +- arch/arm/dts/meson-g12b-a311d-khadas-vim3.dts | 25 ++ arch/arm/dts/meson-g12b-odroid-n2.dts | 2 +- arch/arm/dts/meson-g12b.dtsi | 26 +- arch/arm/dts/meson-gx.dtsi | 87 +++- arch/arm/dts/meson-gxbb-nanopi-k2.dts | 26 +- arch/arm/dts/meson-gxbb-odroidc2.dts | 100 - arch/arm/dts/meson-gxbb-p200.dts | 9 +- arch/arm/dts/meson-gxbb-p201.dts | 2 +- arch/arm/dts/meson-gxbb-p20x.dtsi | 9 +- arch/arm/dts/meson-gxbb.dtsi | 118 - arch/arm/dts/meson-gxl-s805x-libretech-ac.dts | 2 +- arch/arm/dts/meson-gxl-s905x-khadas-vim.dts| 20 +- arch/arm/dts/meson-gxl-s905x-libretech-cc.dts | 26 +- arch/arm/dts/meson-gxl-s905x-p212.dtsi | 10 +- arch/arm/dts/meson-gxl.dtsi| 76 +++- arch/arm/dts/meson-gxm-khadas-vim2.dts | 71 +-- arch/arm/dts/meson-gxm.dtsi| 39 +- arch/arm/dts/meson-khadas-vim3.dtsi| 7 + arch/arm/dts/meson-sm1-sei610.dts | 236 +- arch/arm/dts/meson-sm1.dtsi| 356 +++ include/dt-bindings/clock/axg-audio-clkc.h | 10 + include/dt-bindings/clock/gxbb-aoclkc.h| 7 + include/dt-bindings/clock/gxbb-clkc.h | 21 + include/dt-bindings/gpio/meson-gxbb-gpio.h | 8 +- include/dt-bindings/gpio/meson-gxl-gpio.h | 8 +- .../reset/amlogic,meson-axg-audio-arb.h| 2 + .../dt-bindings/reset/amlogic,meson-axg-reset.h| 3 +- .../reset/amlogic,meson-g12a-audio-reset.h | 15 + .../dt-bindings/reset/amlogic,meson-gxbb-reset.h | 51 +-- 36 files changed, 2119 insertions(+), 623 deletions(-) create mode 100644 arch/arm/dts/meson-g12.dtsi Hope this helps Best Regards Otto Am 26.11.20 um 12:46 schrieb Jaehoon Chung: Hi, On 11/26/20 8:26 PM, Otto Meier wrote: Hi Jaehoon, no i did not run git bisect. I don't know how to process this. Could you guide me? You can see usage with "$git bisect --help" You mentioned v2020.07 doesn't work fine. then checkout v2020.07 git checkout v2020.07 git bisect start git bisect bad git bisect good v2020.04 1) build odroid-c2 2) check whether it's working fine or not. 2-1) if not work, $git bisect bad 2-2) if work fine, $git bisect good Repeat to do above sequence until find commit. (maybe you can find what commit is problem.) Best Regards, Jaehoon Chung best regards Otto Am 26.11.20 um 12:11 schrieb Jaehoon Chung: Hi Otto, Sorry for sending personally. Did you try to run "git bisect" ? Best Regards, Jaehoon Chung On 11/20/20 12:52 AM, Otto Meier wrote: Hi, I have extended the previous post. with these modifications i get: U-Boot 2021.01-rc2-00047-g9324c9a823-dirty (Nov 19 2020 - 15:33:00 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In: serial Out: serial Err: serial Net: Could not get PHY for ethernet@c941: addr -1 No ethernet found. Hit any key to stop autoboot: 0 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] Card did not respond to voltage select! : -110 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC statu
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
Hi Am 26.11.20 um 04:13 schrieb Jaehoon Chung: Hi, On 11/19/20 11:39 PM, Otto Meier wrote: Hi, with these modifications i get: U-Boot 2021.01-rc2-00047-g9324c9a823-dirty (Nov 19 2020 - 15:33:00 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In:serial Out: serial Err: serial Net: Could not get PHY for ethernet@c941: addr -1 No ethernet found. Hit any key to stop autoboot: 0 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] Card did not respond to voltage select! : -110 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 00ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] Card did not respond to voltage select! : -110 MMC Device 2 not found no mmc device at slot 2 starting USB... Hope this shed more light on the issue. Sorry for late. Did you check more? or Is its status same? If my understanding is correct, it seems that it's working fine with SD-card, right? When i have checked its register value, resp timeout bit[11] is set. Adnd Bus_fsm is 1100. I don't know what mean bus_fsm(0x1100).. According to my understanding, resp_timeout value can be increased with cmd's argument. Current u-boot is set to 4s. but maximum timeout value is 32.768s. But i don't think that it's not affected with your target.. Because you mentioned that v2020.04 u-boot is working. So i'm checking what is different to u-boot v2020.04. Best Regards, Jaehoon Chung Best regards Am 19.11.20 um 12:50 schrieb Jaehoon Chung: Hi, Yes i have tried different things: i have tried uboot-2020.07, 2020.10 all do not work. SO it started with 2020.07. A diff between 2020.04 and 2020.07 in meson_gx_mmc.c gives the following don´t know if it shows some point. --- u-boot-2020.04/drivers/mmc/meson_gx_mmc.c 2020-11-21 20:42:01.768860866 +0100 +++ u-boot-2020.07/drivers/mmc/meson_gx_mmc.c 2020-07-06 21:22:53.0 +0200 @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -13,6 +14,7 @@ #include #include #include +#include #include static inline void *get_regbase(const struct mmc *mmc) @@ -198,7 +200,7 @@ status = meson_read(mmc, MESON_SD_EMMC_STATUS); } while(!(status & STATUS_END_OF_CHAIN) && get_timer(start) < 1); - if (!(status & STATUS_END_OF_CHAIN)) + if (!(status & STATUS_END_OF_CHAIN)) ret = -ETIMEDOUT; else if (status & STATUS_RESP_TIMEOUT) ret = -ETIMEDOUT; @@ -241,12 +243,23 @@ struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); struct mmc *mmc = &pdata->mmc; struct mmc_config *cfg = &pdata->cfg; + struct clk_bulk clocks; uint32_t val; + int ret; + #ifdef CONFIG_PWRSEQ struct udevice *pwr_dev; - int ret; #endif + /* Enable the clocks feeding the MMC controller */ + ret = clk_get_bulk(dev, &clocks); + if (ret) + return ret; + + ret = clk_enable_bulk(&clocks); + if (ret) + return ret; + cfg->voltages = MMC_VDD_33_34 | MMC_VDD_32_33 | MMC_VDD_31_32 | MMC_VDD_165_195; cfg->host_caps = MMC_MODE_8BIT | MMC_MODE_4BIT | - SD Card is working, i can boot to u-boot command line , insert an SD card and get with u-Boot git: U-Boot 2021.01-rc2-00136-gd361eafe82-dirty (Nov 24 2020 - 16:23:10 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In:serial Out: serial Err: serial Net: eth0: ethernet@c941 Hit any key to stop autoboot: 0 only with emmc i get : => mmc info Card did not respond to voltage select! => mmc dev 1 Card did not respond to voltage select! after inserting SD Card i get: => mmc info Device: mmc@72000 Manufacturer ID: 74 OEM: 4a60 Name: USDU1 Bus Speed: 5000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 119.1 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes => mmc dev 1 Card did not respond to
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
Hi Anand, Am 19.11.20 um 18:53 schrieb Anand Moon: Hi Otto, On Thu, 19 Nov 2020 at 21:23, Otto Meier wrote: Hi, I have extended the previous post. with these modifications i get: U-Boot 2021.01-rc2-00047-g9324c9a823-dirty (Nov 19 2020 - 15:33:00 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In:serial Out: serial Err: serial Net: Could not get PHY for ethernet@c941: addr -1 No ethernet found. Hit any key to stop autoboot: 0 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] Card did not respond to voltage select! : -110 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 00ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] Card did not respond to voltage select! : -110 MMC Device 2 not found no mmc device at slot 2 starting USB... Hope this shed more light on the issue. Following you find the output of 2020.04 with this mod. and working reading off mmc info of the emmc => mmc dev 1 MESON EMMC status = c5ff MESON EMMC status = c5ff MESON EMMC status = c8ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[206] MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[206] MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = d9fe MESON EMMC status = d9fe MESON EMMC status = d9fe MESON EMMC status = d9fe MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 switch to partitions
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
D4 Bus Speed: 5200 Mode: MMC High Speed (52MHz) Rd Block Len: 512 MMC version 5.1 High Capacity: Yes Capacity: 58.2 GiB Bus Width: 8-bit Erase Group Size: 512 KiB HC WP Group Size: 8 MiB User Capacity: 58.2 GiB WRREL Boot Capacity: 4 MiB ENH RPMB Capacity: 4 MiB ENH Best regards Am 19.11.20 um 12:50 schrieb Jaehoon Chung: Hi, On 11/19/20 12:54 AM, Otto Meier wrote: Hi, i have reverted the commit fe95905ffed57d617cad81a71ac419d53aaa1ebf and set regulator-allways-on in meson-gxbb-odroidc2.dts. And i also applied "PATCH V2] mmc: display an error number to debug" from list and disabled CONFIG_MMC_DEBUG after that i got the following result: U-Boot 2021.01-rc2-00047-g9324c9a823-dirty (Nov 18 2020 - 16:38:40 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In: serial Out: serial Err: serial Net: eth0: ethernet@c941 Hit any key to stop autoboot: 0 Card did not respond to voltage select! : -110 Card did not respond to voltage select! : -110 MMC Device 2 not found no mmc device at slot 2 starting USB... Bus usb@c910: USB DWC2 scanning bus usb@c910 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Device 0: unknown device Speed: 1000, full duplex BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 BOOTP broadcast 4 BOOTP broadcast 5 DHCP client bound to address 192.168.20.199 (3767 ms) *** Warning: no boot file name; using 'C0A814C7.img' Using ethernet@c941 device It Does not seem to have fixed it. The above mentioned patch prints ERROR 110. I'm not able to bisect. Perhaps if any other reason comes to mind. I will try and test it. I think your targets's status is something special. I'm not sure but it seems that something is affected. Frankly, it's difficult to me about finding correct problem without Odroid-c2. But TIMEOUT is returned two locations. When i saw your previous log, i guess that it's below location. /* use 10s timeout */ start = get_timer(0); do { status = meson_read(mmc, MESON_SD_EMMC_STATUS); } while(!(status & STATUS_END_OF_CHAIN) && get_timer(start) < 1); if (!(status & STATUS_END_OF_CHAIN)) ret = -ETIMEDOUT; else if (status & STATUS_RESP_TIMEOUT) ret = -ETIMEDOUT; else if (status & STATUS_ERR_MASK) ret = -EIO; To Workaround check, increase timeout value from 1000 to other value. And check which condition is hit, plz. likes below. do { status = meson_read(mmc, MESON_SD_EMMC_STATUS); printf("MESON EMMC status = %08x\n", status); } while(!(status & STATUS_END_OF_CHAIN) && get_timer(start) < 100); if (!(status & STATUS_END_OF_CHAIN)) { printf("%s[%d]\n",__func__,__LINE__); ret = -ETIMEDOUT; } else if (status & STATUS_RESP_TIMEOUT) { printf("%s[%d]\n",__func__,__LINE__); ret = -ETIMEDOUT; } else if (status & STATUS_ERR_MASK) ret = -EIO; Sorry for not being able to help you much. Best Regards, Jaehoon Chung Best regards otto Am 18.11.20 um 13:23 schrieb Jaehoon Chung: On 11/18/20 8:44 PM, Otto Meier wrote: Hi, it is not a new issue, since u-boot 2020.07 this issue exists. even by using the repo you mention the error exist. Yes, git repo doesn't matter. When i have checked, you are using almost latest u-boot. (commit 9324c9a823) If it's existed since 2020.07, it seems that relevant to below commit. commit fe95905ffed57d617cad81a71ac419d53aaa1ebf Author: Haibo Chen Date: Mon Jun 15 17:18:12 2020 +0800 mmc: retry CMD1 in mmc_send_op_cond() until the eMMC is ready According to eMMC specification v5.1 section 6.4.3, we should issue CMD1 repeatedly in the idle state until the eMMC is ready even if mmc_send_op_cond() send CMD1 with argument = 0. Otherwise some eMMC devices seems to enter the inactive mode after mmc_complete_op_cond() issued CMD0 when the eMMC device is busy. Signed-off-by: Haibo Chen Reviewed-by: Peng Fan Could you check it? Best Regards, Jaehoon Chung I allways use : make odroid-c2_defconfig with no other config option set to build u-boot. Best regards Otto Am 18.11.20 um 09:12 schrieb Alexander Dahl: Hei hei, FWIW see below, Am Dienstag, 17. November 2020, 20:08:21 CET schrieb Otto Meier: Dear Jaehoon Chung, I cloned github.com/u-boot which i believe is the master repo. That seems to be an up to date mirror. However, according to [1] and [2] the real upstream repository is here: https://protect2.fireeye.com/v1/url?k=6b6d3e43-34f6074f-6b6cb50c-000babff3563-39827ce0c87bb58b&q=1&e=29cccebd-0f84-49bd-a69e-c1c8a1916260&u=https%3A%2F%2Fgitlab.denx.de%2Fu-boot%2Fu-boot Greets Alex [1] https://protect2.fireeye.com/v1/url?k=582063cf-07bb5ac3-5821e880-000babff3563-5e4585439f04bb00&q=1&e=29cccebd-0f84-49bd-a69e-c1c8a1916260&u=https%3A%2F%2Fw
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
Hi, with these modifications i get: U-Boot 2021.01-rc2-00047-g9324c9a823-dirty (Nov 19 2020 - 15:33:00 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In: serial Out: serial Err: serial Net: Could not get PHY for ethernet@c941: addr -1 No ethernet found. Hit any key to stop autoboot: 0 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] Card did not respond to voltage select! : -110 MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = cdff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] MESON EMMC status = c5ff MESON EMMC status = 01ff2000 MESON EMMC status = c5ff MESON EMMC status = 00ff2000 MESON EMMC status = c5ff MESON EMMC status = 01ff2800 meson_dm_mmc_send_cmd[226] Card did not respond to voltage select! : -110 MMC Device 2 not found no mmc device at slot 2 starting USB... Hope this shed more light on the issue. Best regards Am 19.11.20 um 12:50 schrieb Jaehoon Chung: Hi, On 11/19/20 12:54 AM, Otto Meier wrote: Hi, i have reverted the commit fe95905ffed57d617cad81a71ac419d53aaa1ebf and set regulator-allways-on in meson-gxbb-odroidc2.dts. And i also applied "PATCH V2] mmc: display an error number to debug" from list and disabled CONFIG_MMC_DEBUG after that i got the following result: U-Boot 2021.01-rc2-00047-g9324c9a823-dirty (Nov 18 2020 - 16:38:40 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In: serial Out: serial Err: serial Net: eth0: ethernet@c941 Hit any key to stop autoboot: 0 Card did not respond to voltage select! : -110 Card did not respond to voltage select! : -110 MMC Device 2 not found no mmc device at slot 2 starting USB... Bus usb@c910: USB DWC2 scanning bus usb@c910 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Device 0: unknown device Speed: 1000, full duplex BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 BOOTP broadcast 4 BOOTP broadcast 5 DHCP client bound to address 192.168.20.199 (3767 ms) *** Warning: no boot file name; using 'C0A814C7.img' Using ethernet@c941 device It Does not seem to have fixed it. The above mentioned patch prints ERROR 110. I'm not able to bisect. Perhaps if any other reason comes to mind. I will try and test it. I think your targets's status is something special. I'm not sure but it seems that something is affected. Frankly, it's difficult to me about finding correct problem without Odroid-c2. But TIMEOUT is returned two locations. When i saw your previous log, i guess that it's below location. /* use 10s timeout */ start = get_timer(0); do { status = meson_read(mmc, MESON_SD_EMMC_STATUS); } while(!(status & STATUS_END_OF_CHAIN) && get_timer(start) < 1); if (!(status & STATUS_END_OF_CHAIN)) ret = -ETIMEDOUT; else if (status & STATUS_RESP_TIMEOUT) ret = -ETIMEDOUT; else if (status & STATUS_ERR_MASK) ret = -EIO; To Workaround check, increase timeout value from 1000 to other value. And check which condition is hit, plz. likes below. do { status = meson_read(mmc, MESON_SD_EMMC_STATUS); printf("MESON EMMC status = %08x\n", status); } while(!(status & STATUS_END_OF_CHAIN) && get_timer(start) < 100); if (!(status & STATUS_END_OF_CHAIN)) { printf("%s[%d]\n",__func__,__LINE__); ret = -ETIMEDOUT; } else if (status & STATUS_RESP_TIMEOUT) { printf("%s[%d]\n",__func__,__LINE__); ret = -ETIMEDOUT; } else if (status & STATUS_ERR_MASK) ret = -EIO; Sorry for not being able to help you much. Best Regards, Jaehoon Chung Best regards otto Am 18.11.20 um 13:23 schrieb Jaehoon Chung: On 11/18/20 8:44 PM, Otto Meier wrote: Hi, it is not a new issue, since u-boot 2020.07 this issue exists. even by using the repo you mention the error exist. Yes, git repo doesn't matter. When i have checked, you are using almost latest u-boot. (commit 9324c9a823) If it's existed since 2020.07, it seems that relev
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
I only have the emmc installed. U-Boot 2021.01-rc2-00047-g9324c9a823-dirty (Nov 18 2020 - 16:38:40 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In: serial Out: serial Err: serial Net: eth0: ethernet@c941 Hit any key to stop autoboot: 0 => mmcinfo Card did not respond to voltage select! : -110 => mmc list mmc@72000: 0 mmc@74000: 1 => mmc dev 0 Card did not respond to voltage select! : -110 => mmc dev 1 Card did not respond to voltage select! : -110 these are the results. This is the output from mmc info command in u-boot 2020.04 => mmc info Device: mmc@74000 Manufacturer ID: 15 OEM: 100 Name: CJTD4 Bus Speed: 5200 Mode: MMC High Speed (52MHz) Rd Block Len: 512 MMC version 5.1 High Capacity: Yes Capacity: Bus Width: 8-bit Erase Group Size: 512 KiB HC WP Group Size: 8 MiB User Capacity: 58.2 GiB WRREL Boot Capacity: 4 MiB ENH RPMB Capacity: 4 MiB ENH => for a sdcard under U-Boot 2021.01-rc2-00047-g9324c9a823-dirty i get => mmc info Device: mmc@72000 Manufacturer ID: 1b OEM: 534d Name: 0 Bus Speed: 5000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 119.7 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes best regards Otto Am 18.11.20 um 18:09 schrieb Heinrich Schuchardt: On 16.11.20 15:16, Otto Meier wrote: I tried to build an actual u-boot from git for my odroid-c2 board. It doesn't find the emmc card and therefore does not boot from it. emmc is Ok and boots with u-boot 2020.04 fine. Newer u-boot then 2020.04 show these messages: GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0; TE: 156394 no sdio debug board detected BL2 Built : 11:44:26, Nov 25 2015. gxb gfb13a3b-c2 - jcao@wonton Board ID = 8 set vcck to 1100 mv set vddee to 1050 mv CPU clk: 1536MHz DDR channel setting: DDR0 Rank0+1 same DDR0: 2048MB(auto) @ 912MHz(2T)-13 DataBus test pass! AddrBus test pass! Load fip header from eMMC, src: 0xc200, des: 0x0140, size: 0x00b0 Load bl30 from eMMC, src: 0x00010200, des: 0x0100, size: 0x9ef0 Sending bl30OK. Run bl30... Load bl301 from eMMC, src: 0x0001c200, des: 0x0100, size: 0x18c0 Wait bl30...Done Sending bl301...OK. Run bl301... 31 from eMMC, src: 0x00020200, des: 0x1010, size: 0x00011130 --- UART initialized after reboot --- [Reset cause: unknown] [Image: unknown, amlogic_v1.1.3046-00db630-dirty 2016-08-31 09:24:14 tao.zeng@droid04] bl30: check_permit, count is 1 bl30: check_permit: ok! chipidLoad bl33 from eMMC, src: 0x00034200, des: 0x0100, size: 0x0009e8f0 : ef be ad de d f0 ad ba ef be ad de not ES chip [0.271464 Inits done] secure task start! high task start! low task start! NOTICE: BL3-1: v1.0(debug):4d2e34d NOTICE: BL3-1: Built : 17:08:35, Oct 29 2015 INFO: BL3-1: Initializing runtime services INFO: BL3-1: Preparing for EL3 exit to normal world INFO: BL3-1: Next image address = 0x100 INFO: BL3-1: Next image spsr = 0x3c9 U-Boot 2021.01-rc2 (Nov 15 2020 - 19:06:55 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In: serial Out: serial Err: serial Net: eth0: ethernet@c941 Hit any key to stop autoboot: 0 Card did not respond to voltage select! Card did not respond to voltage select! MMC Device 2 not found no mmc device at slot 2 starting USB... Bus usb@c910: USB DWC2 scanning bus usb@c910 for devices... 2 USB Device(s) found Does anybody know how to fixes this breakage? Best regards Otto On my Odroid C2 I cannot see the reported error. The devices are numbered 0 and 1 and these are reported in your boot log. Where do you select "MMC Device 2"? Do you have a boot.scr which tries to select the wrong device number? Please, provide the output of mmc dev 0; mmc info mmc dev 1; mmc info Here is my boot log: U-Boot 2021.01-rc1-00247-g530e3803ab (Nov 02 2020 - 19:41:17 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:b (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In:serial Out: serial Err: serial Net: eth_designware ethernet@c941: Can't get reset: -2 eth0: ethernet@c941 Hit any key to stop autoboot: 0 => mmc info Device: mmc@72000 Manufacturer ID: 3 OEM: 5344 Name: ACLCE Bus Speed: 5000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 59.5 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes => mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device => mmc info Device: mmc@74000 Manufacturer ID: d6 OEM: 103 Name: SOD16 Bus Speed: 5200 Mode: MMC High Speed (52MHz) Rd Block Len: 512 MMC version 5.1 High Capacity: Yes Capacity: 14.6 GiB Bus Width: 8-bit Erase Group Size: 512 KiB HC WP Group Size: 4 MiB
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
Hi, i have reverted the commit fe95905ffed57d617cad81a71ac419d53aaa1ebf and set regulator-allways-on in meson-gxbb-odroidc2.dts. And i also applied "PATCH V2] mmc: display an error number to debug" from list and disabled CONFIG_MMC_DEBUG after that i got the following result: U-Boot 2021.01-rc2-00047-g9324c9a823-dirty (Nov 18 2020 - 16:38:40 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In: serial Out: serial Err: serial Net: eth0: ethernet@c941 Hit any key to stop autoboot: 0 Card did not respond to voltage select! : -110 Card did not respond to voltage select! : -110 MMC Device 2 not found no mmc device at slot 2 starting USB... Bus usb@c910: USB DWC2 scanning bus usb@c910 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Device 0: unknown device Speed: 1000, full duplex BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 BOOTP broadcast 4 BOOTP broadcast 5 DHCP client bound to address 192.168.20.199 (3767 ms) *** Warning: no boot file name; using 'C0A814C7.img' Using ethernet@c941 device It Does not seem to have fixed it. The above mentioned patch prints ERROR 110. I'm not able to bisect. Perhaps if any other reason comes to mind. I will try and test it. Best regards otto Am 18.11.20 um 13:23 schrieb Jaehoon Chung: On 11/18/20 8:44 PM, Otto Meier wrote: Hi, it is not a new issue, since u-boot 2020.07 this issue exists. even by using the repo you mention the error exist. Yes, git repo doesn't matter. When i have checked, you are using almost latest u-boot. (commit 9324c9a823) If it's existed since 2020.07, it seems that relevant to below commit. commit fe95905ffed57d617cad81a71ac419d53aaa1ebf Author: Haibo Chen Date: Mon Jun 15 17:18:12 2020 +0800 mmc: retry CMD1 in mmc_send_op_cond() until the eMMC is ready According to eMMC specification v5.1 section 6.4.3, we should issue CMD1 repeatedly in the idle state until the eMMC is ready even if mmc_send_op_cond() send CMD1 with argument = 0. Otherwise some eMMC devices seems to enter the inactive mode after mmc_complete_op_cond() issued CMD0 when the eMMC device is busy. Signed-off-by: Haibo Chen Reviewed-by: Peng Fan Could you check it? Best Regards, Jaehoon Chung I allways use : make odroid-c2_defconfig with no other config option set to build u-boot. Best regards Otto Am 18.11.20 um 09:12 schrieb Alexander Dahl: Hei hei, FWIW see below, Am Dienstag, 17. November 2020, 20:08:21 CET schrieb Otto Meier: Dear Jaehoon Chung, I cloned github.com/u-boot which i believe is the master repo. That seems to be an up to date mirror. However, according to [1] and [2] the real upstream repository is here: https://protect2.fireeye.com/v1/url?k=6b6d3e43-34f6074f-6b6cb50c-000babff3563-39827ce0c87bb58b&q=1&e=29cccebd-0f84-49bd-a69e-c1c8a1916260&u=https%3A%2F%2Fgitlab.denx.de%2Fu-boot%2Fu-boot Greets Alex [1] https://protect2.fireeye.com/v1/url?k=582063cf-07bb5ac3-5821e880-000babff3563-5e4585439f04bb00&q=1&e=29cccebd-0f84-49bd-a69e-c1c8a1916260&u=https%3A%2F%2Fwww.denx.de%2Fwiki%2FU-Boot%2FSourceCode [2] https://protect2.fireeye.com/v1/url?k=d5f680f6-8a6db9fa-d5f70bb9-000babff3563-dc85cc723e07fae0&q=1&e=29cccebd-0f84-49bd-a69e-c1c8a1916260&u=https%3A%2F%2Fu-boot.readthedocs.io%2Fen%2Flatest%2Fbuild%2Fsource.html I enabled CONFIG_MMC_TRACE and got following response: GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0; TE: 308588 no sdio debug board detected BL2 Built : 11:44:26, Nov 25 2015. gxb gfb13a3b-c2 - jcao@wonton Board ID = 8 set vcck to 1100 mv set vddee to 1050 mv CPU clk: 1536MHz DDR channel setting: DDR0 Rank0+1 same DDR0: 2048MB(auto) @ 912MHz(2T)-13 DataBus test pass! AddrBus test pass! Load fip header from eMMC, src: 0xc200, des: 0x0140, size: 0x00b0 Load bl30 from eMMC, src: 0x00010200, des: 0x0100, size: 0x9ef0 Sending bl30OK. Run bl30... Load bl301 from eMMC, src: 0x0001c200, des: 0x0100, size: 0x18c0 Wait bl30...Done Sending bl301...OK. Run bl301... from eMMC, src: 0x00020200, des: 0x1010, size: 0x00011130 --- UART initialized after reboot --- [Reset cause: unknown] [Image: unknown, amlogic_v1.1.3046-00db630-dirty 2016-08-31 09:24:14 tao.zeng@droid04] bl30: check_permit, count is 1 bl30: check_permit: ok! chipidLoad bl33 from eMMC, src: 0x00034200, des: 0x0100, size: 0x0009e330 : ef be ad de d f0 ad ba ef be ad de not ES chip [0.423714 Inits done] secure task start! high task start! low task start! NOTICE: BL3-1: v1.0(debug):4d2e34d NOTICE: BL3-1: Built : 17:08:35, Oct 29 2015 INFO: BL3-1: Initializing runtime services INFO: BL3-1: Preparing for EL3 exit to normal world INFO: BL3-1: Next image addre
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
Hi, it is not a new issue, since u-boot 2020.07 this issue exists. even by using the repo you mention the error exist. I allways use : make odroid-c2_defconfig with no other config option set to build u-boot. Best regards Otto Am 18.11.20 um 09:12 schrieb Alexander Dahl: Hei hei, FWIW see below, Am Dienstag, 17. November 2020, 20:08:21 CET schrieb Otto Meier: Dear Jaehoon Chung, I cloned github.com/u-boot which i believe is the master repo. That seems to be an up to date mirror. However, according to [1] and [2] the real upstream repository is here: https://gitlab.denx.de/u-boot/u-boot Greets Alex [1] https://www.denx.de/wiki/U-Boot/SourceCode [2] https://u-boot.readthedocs.io/en/latest/build/source.html I enabled CONFIG_MMC_TRACE and got following response: GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0; TE: 308588 no sdio debug board detected BL2 Built : 11:44:26, Nov 25 2015. gxb gfb13a3b-c2 - jcao@wonton Board ID = 8 set vcck to 1100 mv set vddee to 1050 mv CPU clk: 1536MHz DDR channel setting: DDR0 Rank0+1 same DDR0: 2048MB(auto) @ 912MHz(2T)-13 DataBus test pass! AddrBus test pass! Load fip header from eMMC, src: 0xc200, des: 0x0140, size: 0x00b0 Load bl30 from eMMC, src: 0x00010200, des: 0x0100, size: 0x9ef0 Sending bl30OK. Run bl30... Load bl301 from eMMC, src: 0x0001c200, des: 0x0100, size: 0x18c0 Wait bl30...Done Sending bl301...OK. Run bl301... from eMMC, src: 0x00020200, des: 0x1010, size: 0x00011130 --- UART initialized after reboot --- [Reset cause: unknown] [Image: unknown, amlogic_v1.1.3046-00db630-dirty 2016-08-31 09:24:14 tao.zeng@droid04] bl30: check_permit, count is 1 bl30: check_permit: ok! chipidLoad bl33 from eMMC, src: 0x00034200, des: 0x0100, size: 0x0009e330 : ef be ad de d f0 ad ba ef be ad de not ES chip [0.423714 Inits done] secure task start! high task start! low task start! NOTICE: BL3-1: v1.0(debug):4d2e34d NOTICE: BL3-1: Built : 17:08:35, Oct 29 2015 INFO:BL3-1: Initializing runtime services INFO:BL3-1: Preparing for EL3 exit to normal world INFO:BL3-1: Next image address = 0x100 INFO:BL3-1: Next image spsr = 0x3c9 U-Boot 2021.01-rc2-00047-g9324c9a823 (Nov 17 2020 - 19:34:41 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In:serial Out: serial Err: serial Net: Could not get PHY for ethernet@c941: addr -1 No ethernet found. Hit any key to stop autoboot: 0 CMD_SEND:0 ARG 0x MMC_RSP_NONE CMD_SEND:8 ARG 0x01aa RET -110 CMD_SEND:55 ARG 0x RET -110 CMD_SEND:0 ARG 0x MMC_RSP_NONE CMD_SEND:1 ARG 0x RET -110 Card did not respond to voltage select! CMD_SEND:0 ARG 0x MMC_RSP_NONE CMD_SEND:8 ARG 0x01aa RET -110 CMD_SEND:55 ARG 0x RET -110 CMD_SEND:0 ARG 0x MMC_RSP_NONE CMD_SEND:1 ARG 0x MMC_RSP_R3,4 0x CMD_SEND:1 ARG 0x4000 RET -110 Card did not respond to voltage select! MMC Device 2 not found no mmc device at slot 2 starting USB... Bus usb@c910: USB DWC2 scanning bus usb@c910 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Following you find a working boot from emmc: GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0; TE: 303447 no sdio debug board detected BL2 Built : 11:44:26, Nov 25 2015. gxb gfb13a3b-c2 - jcao@wonton Board ID = 8 set vcck to 1100 mv set vddee to 1050 mv CPU clk: 1536MHz DDR channel setting: DDR0 Rank0+1 same DDR0: 2048MB(auto) @ 912MHz(2T)-13 DataBus test pass! AddrBus test pass! Load fip header from eMMC, src: 0xc200, des: 0x0140, size: 0x00b0 Load bl30 from eMMC, src: 0x00010200, des: 0x0100, size: 0x9ef0 Sending bl30OK. Run bl30... Load bl301 from eMMC, src: 0x0001c200, des: 0x0100, size: 0x18c0 Wait bl30...Done Sending bl301...OK. Run bl301... MC, src: 0x00020200, des: 0x1010, size: 0x00011130 --- UART initialized after reboot --- [Reset cause: unknown] [Image: unknown, amlogic_v1.1.3046
Re: [BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:17 ARG 0x MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:17 ARG 0x0800 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:18 ARG 0x0844 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:12 ARG 0x MMC_RSP_R1b 0x0b00 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:17 ARG 0x MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:17 ARG 0x0800 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:18 ARG 0x0844 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:12 ARG 0x MMC_RSP_R1b 0x0b00 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:17 ARG 0x MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:17 ARG 0x0800 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:18 ARG 0x0844 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:12 ARG 0x MMC_RSP_R1b 0x0b00 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:18 ARG 0x0868 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:12 ARG 0x MMC_RSP_R1b 0x0b00 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:18 ARG 0x0804 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:12 ARG 0x MMC_RSP_R1b 0x0b00 CMD_SEND:16 ARG 0x0200 MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:18 ARG 0x086c MMC_RSP_R1,5,6,7 0x0900 CMD_SEND:12 ARG 0x MMC_RSP_R1b 0x0b00 Found EFI removable media binary efi/boot/bootaa64.efi This is the output from mmc info command u-boot 2020.04 => mmc info Device: mmc@74000 Manufacturer ID: 15 OEM: 100 Name: CJTD4 Bus Speed: 5200 Mode: MMC High Speed (52MHz) Rd Block Len: 512 MMC version 5.1 High Capacity: Yes Capacity: 58.2 GiB Bus Width: 8-bit Erase Group Size: 512 KiB HC WP Group Size: 8 MiB User Capacity: 58.2 GiB WRREL Boot Capacity: 4 MiB ENH RPMB Capacity: 4 MiB ENH => Any Idea? best regards Otto Am 16.11.20 um 23:39 schrieb Jaehoon Chung: Dear Otto, On 11/16/20 11:16 PM, Otto Meier wrote: I tried to build an actual u-boot from git for my odroid-c2 board. Which git repository did you use? If you can enable CONFIG_MMC_TRACE, it's more helpful to debug. Best Regards, Jaehoon Chung It doesn't find the emmc card and therefore does not boot from it. emmc is Ok and boots with u-boot 2020.04 fine. Newer u-boot then 2020.04 show these messages: GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0; TE: 156394 no sdio debug board detected BL2 Built : 11:44:26, Nov 25 2015. gxb gfb13a3b-c2 - jcao@wonton Board ID = 8 set vcck to 1100 mv set vddee to 1050 mv CPU clk: 1536MHz DDR channel setting: DDR0 Rank0+1 same DDR0: 2048MB(auto) @ 912MHz(2T)-13 DataBus test pass! AddrBus test pass! Load fip header from eMMC, src: 0xc200, des: 0x0140, size: 0x00b0 Load bl30 from eMMC, src: 0x00010200, des: 0x0100, size: 0x9ef0 Sending bl30OK. Run bl30... Load bl301 from eMMC, src: 0x0001c200, des:
[BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04
I tried to build an actual u-boot from git for my odroid-c2 board. It doesn't find the emmc card and therefore does not boot from it. emmc is Ok and boots with u-boot 2020.04 fine. Newer u-boot then 2020.04 show these messages: GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0; TE: 156394 no sdio debug board detected BL2 Built : 11:44:26, Nov 25 2015. gxb gfb13a3b-c2 - jcao@wonton Board ID = 8 set vcck to 1100 mv set vddee to 1050 mv CPU clk: 1536MHz DDR channel setting: DDR0 Rank0+1 same DDR0: 2048MB(auto) @ 912MHz(2T)-13 DataBus test pass! AddrBus test pass! Load fip header from eMMC, src: 0xc200, des: 0x0140, size: 0x00b0 Load bl30 from eMMC, src: 0x00010200, des: 0x0100, size: 0x9ef0 Sending bl30OK. Run bl30... Load bl301 from eMMC, src: 0x0001c200, des: 0x0100, size: 0x18c0 Wait bl30...Done Sending bl301...OK. Run bl301... 31 from eMMC, src: 0x00020200, des: 0x1010, size: 0x00011130 --- UART initialized after reboot --- [Reset cause: unknown] [Image: unknown, amlogic_v1.1.3046-00db630-dirty 2016-08-31 09:24:14 tao.zeng@droid04] bl30: check_permit, count is 1 bl30: check_permit: ok! chipidLoad bl33 from eMMC, src: 0x00034200, des: 0x0100, size: 0x0009e8f0 : ef be ad de d f0 ad ba ef be ad de not ES chip [0.271464 Inits done] secure task start! high task start! low task start! NOTICE: BL3-1: v1.0(debug):4d2e34d NOTICE: BL3-1: Built : 17:08:35, Oct 29 2015 INFO:BL3-1: Initializing runtime services INFO:BL3-1: Preparing for EL3 exit to normal world INFO:BL3-1: Next image address = 0x100 INFO:BL3-1: Next image spsr = 0x3c9 U-Boot 2021.01-rc2 (Nov 15 2020 - 19:06:55 +0100) odroid-c2 Model: Hardkernel ODROID-C2 SoC: Amlogic Meson GXBB (S905) Revision 1f:c (0:1) DRAM: 2 GiB MMC: mmc@72000: 0, mmc@74000: 1 In:serial Out: serial Err: serial Net: eth0: ethernet@c941 Hit any key to stop autoboot: 0 Card did not respond to voltage select! Card did not respond to voltage select! MMC Device 2 not found no mmc device at slot 2 starting USB... Bus usb@c910: USB DWC2 scanning bus usb@c910 for devices... 2 USB Device(s) found Does anybody know how to fixes this breakage? Best regards Otto