Re: [BUG]odroid-c2 does not hotplug usb-devices

2020-12-20 Thread Otto Meier

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

2020-12-19 Thread Otto Meier

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

2020-12-15 Thread Otto Meier

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

2020-12-14 Thread Otto Meier

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

2020-12-07 Thread Otto Meier




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

2020-12-07 Thread Otto Meier

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

2020-11-27 Thread Otto Meier

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

2020-11-26 Thread Otto Meier



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

2020-11-26 Thread Otto Meier

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

2020-11-20 Thread Otto Meier

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

2020-11-19 Thread Otto Meier
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

2020-11-19 Thread Otto Meier

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

2020-11-18 Thread Otto Meier

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

2020-11-18 Thread Otto Meier

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

2020-11-18 Thread Otto Meier

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

2020-11-17 Thread Otto Meier
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

2020-11-16 Thread Otto Meier

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