Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-22 Thread Matwey V. Kornilov
вт, 23 авг. 2022 г., 06:54 Nishanth Menon :

> On 08:56-20220819, Robert Nelson wrote:
> > On Fri, Aug 19, 2022 at 4:30 AM Nishanth Menon  wrote:
> > >
> > > On 11:28-20220818, Matwey V. Kornilov wrote:
> [..]
> > >
> > > Tom, Robert, folks: what do you folks think?
> >
> >
> > I'm okay with the delay. if we only had 'one' production run it would
> > be a different story.. But with 10 years of manufacturing, parts will
> > EOL and vary. Let's go with the safe slower route..
>
> Matwey, would you post your fix formally?
>

Ok. I'll do.

-- 
> Regards,
> Nishanth Menon
> Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34
> DDB5 849D 1736 249D
>


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-22 Thread Nishanth Menon
On 08:56-20220819, Robert Nelson wrote:
> On Fri, Aug 19, 2022 at 4:30 AM Nishanth Menon  wrote:
> >
> > On 11:28-20220818, Matwey V. Kornilov wrote:
[..]
> >
> > Tom, Robert, folks: what do you folks think?
> 
> 
> I'm okay with the delay. if we only had 'one' production run it would
> be a different story.. But with 10 years of manufacturing, parts will
> EOL and vary. Let's go with the safe slower route..

Matwey, would you post your fix formally?
-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 
849D 1736 249D


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-19 Thread Robert Nelson
On Fri, Aug 19, 2022 at 4:30 AM Nishanth Menon  wrote:
>
> On 11:28-20220818, Matwey V. Kornilov wrote:
> > I've played a little and now I believe that the issue is that EEPROM read 
> > addr
> > pointer is somehow corrupted due to 1-byte address write. The EEPROM is
> > definitely have two-byte read address accoring the datasheet.
> > I've failed to unravel exact rule what is happening when only one address 
> > byte
> > is set, but was able to read random places of EEPROM.
> >
> >
> > However, the following diff makes the board bootable.
> >
> >
> > diff --git a/board/ti/common/board_detect.c b/board/ti/common/board_detect.c
> > index ed34991377..26edddccc6 100644
> > --- a/board/ti/common/board_detect.c
> > +++ b/board/ti/common/board_detect.c
> > @@ -86,7 +86,6 @@ __weak void gpi2c_init(void)
> >  static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, int dev_addr,
> > u32 header, u32 size, uint8_t 
> > *ep)
> >  {
> > -   u32 hdr_read = 0xdeadbeef;
> > int rc;
> >
> >  #if CONFIG_IS_ENABLED(DM_I2C)
> > @@ -113,10 +112,10 @@ static int __maybe_unused ti_i2c_eeprom_get(int 
> > bus_addr, int dev_addr,
> >  * We must allow for fall through to check the data if 2 byte
> >  * addressing works
> >  */
> > -   (void)dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> > +   rc = dm_i2c_read(dev, 0, ep, size);
> >
> > /* Corrupted data??? */
> > -   if (hdr_read != header) {
> > +   if (rc || (*((u32*)ep) != header)) {
> > /*
> >  * read the eeprom header using i2c again, but use only a
> >  * 2 byte address (some newer boards need this..)
> > @@ -125,16 +124,13 @@ static int __maybe_unused ti_i2c_eeprom_get(int 
> > bus_addr, int dev_addr,
> > if (rc)
> > return rc;
> >
> > -   rc = dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> > +   rc = dm_i2c_read(dev, 0, ep, size);
> > if (rc)
> > return rc;
> > }
> > -   if (hdr_read != header)
> > +   if (*((u32*)ep) != header)
> > return -1;
> >
> > -   rc = dm_i2c_read(dev, 0, ep, size);
> > -   if (rc)
> > -   return rc;
> >  #else
> > u32 byte;
>
> This does work. I tested a few variations of boards to check this
> concept out.. but anyways.. on beaglebone black (element 14 boards):
>
> NOTE: This will improve detection times for 1 byte eeprom based boot,
> since there is no retry..
>
> However for boards with 2 byte addressing eeproms:
>
> master branch: https://pasteboard.co/n3P8yhSq6pem.png
> Time from first attempt to read eeprom to actual trigger of final eeprom
> read attempt: ~4ms
>
> With this patch: https://pasteboard.co/IVQzHwMuhc4p.png
> Time from first attempt to read eeprom to actual trigger of final eeprom
> read attempt: ~18ms
>
> IMHO, 14ms penalty is'nt a bad deal for dealing with variations of
> eeproms we are seeing in the wild.
>
> You can find the data (analog+digital capture) here:
> https://github.com/nmenon/data-captures/tree/main/i2c-eeprom-1byte-captures
> Tool used to capture (and view): https://www.saleae.com/downloads/
>
> Tom, Robert, folks: what do you folks think?


I'm okay with the delay. if we only had 'one' production run it would
be a different story.. But with 10 years of manufacturing, parts will
EOL and vary. Let's go with the safe slower route..

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-19 Thread Nishanth Menon
On 11:28-20220818, Matwey V. Kornilov wrote:
> I've played a little and now I believe that the issue is that EEPROM read addr
> pointer is somehow corrupted due to 1-byte address write. The EEPROM is
> definitely have two-byte read address accoring the datasheet.
> I've failed to unravel exact rule what is happening when only one address byte
> is set, but was able to read random places of EEPROM.
> 
> 
> However, the following diff makes the board bootable.
> 
> 
> diff --git a/board/ti/common/board_detect.c b/board/ti/common/board_detect.c
> index ed34991377..26edddccc6 100644
> --- a/board/ti/common/board_detect.c
> +++ b/board/ti/common/board_detect.c
> @@ -86,7 +86,6 @@ __weak void gpi2c_init(void)
>  static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, int dev_addr,
> u32 header, u32 size, uint8_t *ep)
>  {
> -   u32 hdr_read = 0xdeadbeef;
> int rc;
> 
>  #if CONFIG_IS_ENABLED(DM_I2C)
> @@ -113,10 +112,10 @@ static int __maybe_unused ti_i2c_eeprom_get(int 
> bus_addr, int dev_addr,
>  * We must allow for fall through to check the data if 2 byte
>  * addressing works
>  */
> -   (void)dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> +   rc = dm_i2c_read(dev, 0, ep, size);
> 
> /* Corrupted data??? */
> -   if (hdr_read != header) {
> +   if (rc || (*((u32*)ep) != header)) {
> /*
>  * read the eeprom header using i2c again, but use only a
>  * 2 byte address (some newer boards need this..)
> @@ -125,16 +124,13 @@ static int __maybe_unused ti_i2c_eeprom_get(int 
> bus_addr, int dev_addr,
> if (rc)
> return rc;
> 
> -   rc = dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> +   rc = dm_i2c_read(dev, 0, ep, size);
> if (rc)
> return rc;
> }
> -   if (hdr_read != header)
> +   if (*((u32*)ep) != header)
> return -1;
> 
> -   rc = dm_i2c_read(dev, 0, ep, size);
> -   if (rc)
> -   return rc;
>  #else
> u32 byte;

This does work. I tested a few variations of boards to check this
concept out.. but anyways.. on beaglebone black (element 14 boards):

NOTE: This will improve detection times for 1 byte eeprom based boot,
since there is no retry..

However for boards with 2 byte addressing eeproms:

master branch: https://pasteboard.co/n3P8yhSq6pem.png
Time from first attempt to read eeprom to actual trigger of final eeprom
read attempt: ~4ms

With this patch: https://pasteboard.co/IVQzHwMuhc4p.png
Time from first attempt to read eeprom to actual trigger of final eeprom
read attempt: ~18ms

IMHO, 14ms penalty is'nt a bad deal for dealing with variations of
eeproms we are seeing in the wild.

You can find the data (analog+digital capture) here:
https://github.com/nmenon/data-captures/tree/main/i2c-eeprom-1byte-captures
Tool used to capture (and view): https://www.saleae.com/downloads/

Tom, Robert, folks: what do you folks think?


-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 
849D 1736 249D


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-18 Thread Matwey V. Kornilov
I've played a little and now I believe that the issue is that EEPROM read addr
pointer is somehow corrupted due to 1-byte address write. The EEPROM is
definitely have two-byte read address accoring the datasheet.
I've failed to unravel exact rule what is happening when only one address byte
is set, but was able to read random places of EEPROM.


However, the following diff makes the board bootable.


diff --git a/board/ti/common/board_detect.c b/board/ti/common/board_detect.c
index ed34991377..26edddccc6 100644
--- a/board/ti/common/board_detect.c
+++ b/board/ti/common/board_detect.c
@@ -86,7 +86,6 @@ __weak void gpi2c_init(void)
 static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, int dev_addr,
u32 header, u32 size, uint8_t *ep)
 {
-   u32 hdr_read = 0xdeadbeef;
int rc;

 #if CONFIG_IS_ENABLED(DM_I2C)
@@ -113,10 +112,10 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
int dev_addr,
 * We must allow for fall through to check the data if 2 byte
 * addressing works
 */
-   (void)dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
+   rc = dm_i2c_read(dev, 0, ep, size);

/* Corrupted data??? */
-   if (hdr_read != header) {
+   if (rc || (*((u32*)ep) != header)) {
/*
 * read the eeprom header using i2c again, but use only a
 * 2 byte address (some newer boards need this..)
@@ -125,16 +124,13 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
int dev_addr,
if (rc)
return rc;

-   rc = dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
+   rc = dm_i2c_read(dev, 0, ep, size);
if (rc)
return rc;
}
-   if (hdr_read != header)
+   if (*((u32*)ep) != header)
return -1;

-   rc = dm_i2c_read(dev, 0, ep, size);
-   if (rc)
-   return rc;
 #else
u32 byte;





Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-16 Thread Matwey V. Kornilov
I cannot understand what is going on. As far as I understand, read
consists of i2c write of address and subsequent i2c read of data.
During the i2c write process, EEPROM handles ACK/NOACK and - since
there is no error code - the EEPROM handles i2c write correctly. And
then it looks like no EEPROM device during the i2c read stage.

вт, 16 авг. 2022 г. в 04:27, Nishanth Menon :
>
> On 23:32-20220815, Matwey V. Kornilov wrote:
> > Only the first one dm_i2c_read is successful, whenever the size value.
>
> I wonder if we need to add complete ep read... this is what I see on my
> element 14 board:
> 
> ti_i2c_eeprom_get: 98: rc=0 header=0xee3355aa
> ti_i2c_eeprom_get: 102: rc=0
> ti_i2c_eeprom_get: 110: rc=0
> ti_i2c_eeprom_get: 121: header=0x rc=0
> ti_i2c_eeprom_get: 130: rc=0
> ti_i2c_eeprom_get: 135: rc=0
> ti_i2c_eeprom_get: 139: header=0xee3355aa
> ti_i2c_eeprom_get: 144: rc=0
> ep[0]=0xaa
> ep[1]=0x55
> ep[2]=0x33
> ep[3]=0xee
> ep[4]=0x41
> ep[5]=0x33
> ep[6]=0x33
> ep[7]=0x35
> ep[8]=0x42
> ep[9]=0x4e
> ep[10]=0x4c
> ep[11]=0x54
> ep[12]=0x30
> ep[13]=0x30
> ep[14]=0x43
> ep[15]=0x30
> ep[16]=0x34
> ep[17]=0x31
> ep[18]=0x34
> ep[19]=0x42
> ep[20]=0x42
> ep[21]=0x42
> ep[22]=0x4b
> ep[23]=0x30
> ep[24]=0x31
> ep[25]=0x36
> ep[26]=0x37
> ep[27]=0xff
> ep[28]=0xff
> ep[29]=0xff
> ep[30]=0xff
> ep[31]=0xff
> ep[32]=0xff
> ep[33]=0xff
> ep[34]=0xff
> ep[35]=0xff
> ep[36]=0xff
> ep[37]=0xff
> ep[38]=0xff
> ep[39]=0xff
> ep[40]=0xff
> ep[41]=0xff
> ep[42]=0xff
> ep[43]=0xff
> ep[44]=0xff
> ep[45]=0xff
> ep[46]=0xff
> ep[47]=0xff
> ep[48]=0xff
> ep[49]=0xff
> ep[50]=0xff
> ep[51]=0xff
> ep[52]=0xff
> ep[53]=0xff
> ep[54]=0xff
> ep[55]=0xff
> ep[56]=0xff
> ep[57]=0xff
> ep[58]=0xff
> ep[59]=0xff
> ep[60]=0xff
> ep[61]=0xff
> ep[62]=0xff
> ep[63]=0xff
> ep[64]=0xff
> ep[65]=0xff
> ep[66]=0xff
> ep[67]=0xff
> ep[68]=0xff
> ep[69]=0xff
> ep[70]=0xff
> ep[71]=0xff
> ep[72]=0xff
> ep[73]=0xff
> ep[74]=0xff
> ep[75]=0xff
> ep[76]=0xff
> ep[77]=0xff
> ti_i2c_eeprom_get: 195: Out OK
>
> U-Boot SPL 2022.10-rc2-00030-g29d075bc05ca-dirty (Aug 15 2022 - 14:50:17 
> -0500)
> Trying to boot from MMC1
>
>
> U-Boot 2022.10-rc2-00030-g29d075bc05ca-dirty (Aug 15 2022 - 14:50:17 -0500)
>
> CPU  : AM335X-GP rev 2.1
> Model: TI AM335x BeagleBone Black
> DRAM:  512 MiB
> Core:  160 devices, 18 uclasses, devicetree: separate
> WDT:   Started wdt@44e35000 with servicing (60s timeout)
> NAND:  0 MiB
> MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
> Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
>  not set. Validating first E-fuse MAC
> Net:   eth2: ethernet@4a10, eth3: usb_ether
> Hit any key to stop autoboot:  0
> =>
>
> >
> > пн, 15 авг. 2022 г. в 23:21, Matwey V. Kornilov :
> > >
> > > I have one idea. I'll try dm_i2c_read() with different `size' argument
> > > values tomorrow.
> > >
> > > пн, 15 авг. 2022 г. в 23:13, Matwey V. Kornilov 
> > > :
> > > >
> > > > пн, 15 авг. 2022 г. в 22:56, Nishanth Menon :
> > > > >
> > > > > On 21:12-20220815, Matwey V. Kornilov wrote:
> > > > > []
> > > > >
> > > > > Trying offline for now (I am also on libera.chat #linux-ti and 
> > > > > #u-boot)..
> > > > >
> > > > > >
> > > > > > 
> > > > > > ti_i2c_eeprom_get: 98: rc=0 header=0xee3355aa
> > > > > > ti_i2c_eeprom_get: 102: rc=0
> > > > > > ti_i2c_eeprom_get: 110: rc=0
> > > > > > ti_i2c_eeprom_get: 121: header=0xee3355aa
> > > > > > ti_i2c_eeprom_get: 139: header=0xee3355aa
> > > > > > ti_i2c_eeprom_get: 144: rc=0
> > > > > > ep[0]=0xff
> > > > >
> > > > > gaah... data seems stuck... with one more potential fixup... Dont know
> > > > > how this might behave..
> > > >
> > > > ti_i2c_eeprom_get: 121: header=0xee3355aa rc=0
> > > >
> > > > >
> > > > > main change is this:
> > > > > @@ -113,33 +117,42 @@ static int __maybe_unused ti_i2c_eeprom_get(int 
> > > > > bus_addr, int dev_addr,
> > > > >  * We must allow for fall through to check the data if 2 byte
> > > > >  * addressing works
> > > > >  */
> > > > > -   (void)dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> > > > > +   rc = dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> > > > > +   printf("%s: %d: header=0x%08x rc=%d\n", __func__, __LINE__, 
> > > > > hdr_read, rc);
> > > > >
> > > > > /* Corrupted data??? */
> > > > > -   if (hdr_read != header) {
> > > > > +   if (rc || hdr_read != header) {
> > > > >
> > > > > 8<---
> > > > > diff --git a/board/ti/common/board_detect.c 
> > > > > b/board/ti/common/board_detect.c
> > > > > index ed34991377ee..f4e5da34b70a 100644
> > > > > --- a/board/ti/common/board_detect.c
> > > > > +++ b/board/ti/common/board_detect.c
> > > > > @@ -90,13 +90,16 @@ static int __maybe_unused ti_i2c_eeprom_get(int 
> > > > > bus_addr, int dev_addr,
> > > > > int rc;
> > > > >
> > > > >  #if CONFIG_IS_ENABLED(DM_I2C)
> > > > > +   int i;
> > > > > struct udevice *dev;
> > > > > struct udevice *bus;
> > > > >
> > > > > rc = uclass_get_device_by_seq(U

Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-15 Thread Matwey V. Kornilov
пн, 15 авг. 2022 г. в 20:53, Nishanth Menon :
>
> On 20:30-20220815, Matwey V. Kornilov wrote:
> > Hi Nishanth,
> >
> > I just reverted 0dba4586 and have the following diff in the config:
> >
> > diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
> > index b500ed0fdd..b403901879 100644
> > --- a/configs/am335x_evm_defconfig
> > +++ b/configs/am335x_evm_defconfig
> > @@ -9,6 +9,9 @@ CONFIG_AM335X_USB0=y
> >  CONFIG_AM335X_USB0_PERIPHERAL=y
> >  CONFIG_AM335X_USB1=y
> >  CONFIG_SPL=y
> > +CONFIG_DEBUG_UART_BASE=0x44e09000
> > +CONFIG_DEBUG_UART_CLOCK=4800
> > +CONFIG_DEBUG_UART=y
> >  CONFIG_DISTRO_DEFAULTS=y
> >  CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> >  CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4030ff00
> > @@ -102,6 +105,9 @@ CONFIG_DRIVER_TI_CPSW=y
> >  CONFIG_DM_PMIC=y
> >  # CONFIG_SPL_DM_PMIC is not set
> >  CONFIG_PMIC_TPS65217=y
> > +CONFIG_DEBUG_UART_OMAP=y
> > +CONFIG_DEBUG_UART_SHIFT=2
> > +CONFIG_DEBUG_UART_ANNOUNCE=y
> >  CONFIG_SPI=y
> >  CONFIG_DM_SPI=y
> >  CONFIG_OMAP3_SPI=y
> >
> >
> > I've applied your patch and see the following output now:
>
> Thanks.
>
> >
> > 
> > ti_i2c_eeprom_get: 97: rc=0 header=0xee3355aa
> > ti_i2c_eeprom_get: 101: rc=0
> > ti_i2c_eeprom_get: 109: rc=0
> > ti_i2c_eeprom_get: 120: header=0xee3355aa
>
> 1 byte read operation passed here. so it never enters the 2 byte read op
> check. Is'nt this supposed to be a 2 byte addressing eeprom device?
>
> I wonder if changing that code to:
> (void)dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> if (hdr_read != header) {
> to:
>
> rc = dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> if (rc || (hdr_read != header) {
>
> might help?
>
> > ti_i2c_eeprom_get: 138: header=0xee3355aa
>
> > ti_i2c_eeprom_get: 143: rc=0
> > ti_i2c_eeprom_get: 191: Out OK
>
> So the header for sure matched, but not the data, I presume. Can we
> cross check with the updated debug printf("ep[%d]=0x%02x\n",i, ep[i]);
> that I added below?
>
> > Bad EEPROM or unknown board, cannot configure pinmux.
> >
>
> 8<---
> diff --git a/board/ti/common/board_detect.c b/board/ti/common/board_detect.c
> index ed34991377ee..34dfc1acb3a0 100644
> --- a/board/ti/common/board_detect.c
> +++ b/board/ti/common/board_detect.c
> @@ -90,13 +90,16 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
> int dev_addr,
> int rc;
>
>  #if CONFIG_IS_ENABLED(DM_I2C)
> +   int i;
> struct udevice *dev;
> struct udevice *bus;
>
> rc = uclass_get_device_by_seq(UCLASS_I2C, bus_addr, &bus);
> +   printf("%s: %d: rc=%d header=0x%08x\n", __func__, __LINE__, rc, 
> header);
> if (rc)
> return rc;
> rc = dm_i2c_probe(bus, dev_addr, 0, &dev);
> +   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
> if (rc)
> return rc;
>
> @@ -104,6 +107,7 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
> int dev_addr,
>  * Read the header first then only read the other contents.
>  */
> rc = i2c_set_chip_offset_len(dev, 1);
> +   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
> if (rc)
> return rc;
>
> @@ -114,6 +118,7 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
> int dev_addr,
>  * addressing works
>  */
> (void)dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> +   printf("%s: %d: header=0x%08x\n", __func__, __LINE__, hdr_read);
>
> /* Corrupted data??? */
> if (hdr_read != header) {
> @@ -122,24 +127,32 @@ static int __maybe_unused ti_i2c_eeprom_get(int 
> bus_addr, int dev_addr,
>  * 2 byte address (some newer boards need this..)
>  */
> rc = i2c_set_chip_offset_len(dev, 2);
> +   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
> if (rc)
> return rc;
>
> rc = dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
> +   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
> if (rc)
> return rc;
> }
> +   printf("%s: %d: header=0x%08x\n", __func__, __LINE__, hdr_read);
> if (hdr_read != header)
> return -1;
>
> rc = dm_i2c_read(dev, 0, ep, size);
> +   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
> if (rc)
> return rc;
> +
> +   for (i = 0; i< size; i++)
> +   printf("ep[%d]=0x%02x\n",i, ep[i]);
>  #else
> u32 byte;
>
> gpi2c_init();
> rc = ti_i2c_eeprom_init(bus_addr, dev_addr);
> +   printf("%s: %d: rc=%d header=0x%08x\n", __func__, __LINE__, rc, 
> header);
> if (rc)
> return rc;
>
> @@ -157,6 +170,7 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
> int dev_addr,
> (void)i2c_read(dev_addr, 0x0, byte, (uint8_t *)&hdr_read, 4);
>
> /* Corrupted data??? */
> +   printf("%s: %d: header=0x%08x\n", __func__, __LINE__, hdr_read);
>

Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-15 Thread Nishanth Menon
On 20:30-20220815, Matwey V. Kornilov wrote:
> Hi Nishanth,
> 
> I just reverted 0dba4586 and have the following diff in the config:
> 
> diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
> index b500ed0fdd..b403901879 100644
> --- a/configs/am335x_evm_defconfig
> +++ b/configs/am335x_evm_defconfig
> @@ -9,6 +9,9 @@ CONFIG_AM335X_USB0=y
>  CONFIG_AM335X_USB0_PERIPHERAL=y
>  CONFIG_AM335X_USB1=y
>  CONFIG_SPL=y
> +CONFIG_DEBUG_UART_BASE=0x44e09000
> +CONFIG_DEBUG_UART_CLOCK=4800
> +CONFIG_DEBUG_UART=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
>  CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4030ff00
> @@ -102,6 +105,9 @@ CONFIG_DRIVER_TI_CPSW=y
>  CONFIG_DM_PMIC=y
>  # CONFIG_SPL_DM_PMIC is not set
>  CONFIG_PMIC_TPS65217=y
> +CONFIG_DEBUG_UART_OMAP=y
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_DEBUG_UART_ANNOUNCE=y
>  CONFIG_SPI=y
>  CONFIG_DM_SPI=y
>  CONFIG_OMAP3_SPI=y
> 
> 
> I've applied your patch and see the following output now:

Thanks.

> 
> 
> ti_i2c_eeprom_get: 97: rc=0 header=0xee3355aa
> ti_i2c_eeprom_get: 101: rc=0
> ti_i2c_eeprom_get: 109: rc=0
> ti_i2c_eeprom_get: 120: header=0xee3355aa

1 byte read operation passed here. so it never enters the 2 byte read op
check. Is'nt this supposed to be a 2 byte addressing eeprom device?

I wonder if changing that code to:
(void)dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
if (hdr_read != header) {
to:

rc = dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
if (rc || (hdr_read != header) {

might help?

> ti_i2c_eeprom_get: 138: header=0xee3355aa

> ti_i2c_eeprom_get: 143: rc=0
> ti_i2c_eeprom_get: 191: Out OK

So the header for sure matched, but not the data, I presume. Can we
cross check with the updated debug printf("ep[%d]=0x%02x\n",i, ep[i]);
that I added below?

> Bad EEPROM or unknown board, cannot configure pinmux.
> 

8<---
diff --git a/board/ti/common/board_detect.c b/board/ti/common/board_detect.c
index ed34991377ee..34dfc1acb3a0 100644
--- a/board/ti/common/board_detect.c
+++ b/board/ti/common/board_detect.c
@@ -90,13 +90,16 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
int dev_addr,
int rc;
 
 #if CONFIG_IS_ENABLED(DM_I2C)
+   int i;
struct udevice *dev;
struct udevice *bus;
 
rc = uclass_get_device_by_seq(UCLASS_I2C, bus_addr, &bus);
+   printf("%s: %d: rc=%d header=0x%08x\n", __func__, __LINE__, rc, header);
if (rc)
return rc;
rc = dm_i2c_probe(bus, dev_addr, 0, &dev);
+   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
if (rc)
return rc;
 
@@ -104,6 +107,7 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
int dev_addr,
 * Read the header first then only read the other contents.
 */
rc = i2c_set_chip_offset_len(dev, 1);
+   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
if (rc)
return rc;
 
@@ -114,6 +118,7 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
int dev_addr,
 * addressing works
 */
(void)dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
+   printf("%s: %d: header=0x%08x\n", __func__, __LINE__, hdr_read);
 
/* Corrupted data??? */
if (hdr_read != header) {
@@ -122,24 +127,32 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
int dev_addr,
 * 2 byte address (some newer boards need this..)
 */
rc = i2c_set_chip_offset_len(dev, 2);
+   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
if (rc)
return rc;
 
rc = dm_i2c_read(dev, 0, (uint8_t *)&hdr_read, 4);
+   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
if (rc)
return rc;
}
+   printf("%s: %d: header=0x%08x\n", __func__, __LINE__, hdr_read);
if (hdr_read != header)
return -1;
 
rc = dm_i2c_read(dev, 0, ep, size);
+   printf("%s: %d: rc=%d\n", __func__, __LINE__, rc);
if (rc)
return rc;
+
+   for (i = 0; i< size; i++)
+   printf("ep[%d]=0x%02x\n",i, ep[i]);
 #else
u32 byte;
 
gpi2c_init();
rc = ti_i2c_eeprom_init(bus_addr, dev_addr);
+   printf("%s: %d: rc=%d header=0x%08x\n", __func__, __LINE__, rc, header);
if (rc)
return rc;
 
@@ -157,6 +170,7 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
int dev_addr,
(void)i2c_read(dev_addr, 0x0, byte, (uint8_t *)&hdr_read, 4);
 
/* Corrupted data??? */
+   printf("%s: %d: header=0x%08x\n", __func__, __LINE__, hdr_read);
if (hdr_read != header) {
/*
 * read the eeprom header using i2c again, but use only a
@@ -165,16 +179,20 @@ static int __maybe_unused ti_i2c_eeprom_get(int bus_addr, 
int dev_addr,
byte = 2;
rc = i2c_read(dev_addr, 0x0, byte, (uint8_t *)&hdr_read,
 

Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-15 Thread Matwey V. Kornilov
Hi Nishanth,

I just reverted 0dba4586 and have the following diff in the config:

diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
index b500ed0fdd..b403901879 100644
--- a/configs/am335x_evm_defconfig
+++ b/configs/am335x_evm_defconfig
@@ -9,6 +9,9 @@ CONFIG_AM335X_USB0=y
 CONFIG_AM335X_USB0_PERIPHERAL=y
 CONFIG_AM335X_USB1=y
 CONFIG_SPL=y
+CONFIG_DEBUG_UART_BASE=0x44e09000
+CONFIG_DEBUG_UART_CLOCK=4800
+CONFIG_DEBUG_UART=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4030ff00
@@ -102,6 +105,9 @@ CONFIG_DRIVER_TI_CPSW=y
 CONFIG_DM_PMIC=y
 # CONFIG_SPL_DM_PMIC is not set
 CONFIG_PMIC_TPS65217=y
+CONFIG_DEBUG_UART_OMAP=y
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y


I've applied your patch and see the following output now:


ti_i2c_eeprom_get: 97: rc=0 header=0xee3355aa
ti_i2c_eeprom_get: 101: rc=0
ti_i2c_eeprom_get: 109: rc=0
ti_i2c_eeprom_get: 120: header=0xee3355aa
ti_i2c_eeprom_get: 138: header=0xee3355aa
ti_i2c_eeprom_get: 143: rc=0
ti_i2c_eeprom_get: 191: Out OK
Bad EEPROM or unknown board, cannot configure pinmux.



Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-13 Thread Matwey V. Kornilov
чт, 11 авг. 2022 г. в 01:52, Nishanth Menon :
>
> On 11:40-20220807, Matwey V. Kornilov wrote:
> > пт, 5 авг. 2022 г. в 18:01, Robert Nelson :
> > >
> > > On Fri, Jul 29, 2022 at 12:07 PM Matwey V. Kornilov
> > >  wrote:
> > > >
> > > > пт, 29 июл. 2022 г. в 19:46, Tom Rini :
> > > > >
> > > > > On Fri, Jul 29, 2022 at 07:38:28PM +0300, Matwey V. Kornilov wrote:
> > > > > > пт, 29 июл. 2022 г. в 19:32, Tom Rini :
> > > > > > >
> > > > > > > On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov 
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > I've tried to build an am335x_evm_defconfig u-boot to use it on 
> > > > > > > > my
> > > > > > > > BeagleBone Black board. Surprisingly, I've found that it 
> > > > > > > > doesn't work,
> > > > > > > > I see the silent console: no messages even from SPL.
> > > > > > > >
> > > > > > > > Using bisect I've found that the following commit breaks the 
> > > > > > > > booting:
> > > > > > > >
> > > > > > > > a58147c2dbbf ("board: ti: common: board_detect: Do 1byte 
> > > > > > > > address
> > > > > > > > checks first.")
> > > > > > > >
> > > > > > > > Could you please help me?
> > > > > > >
> > > > > > > Can you share some more details about which BeagleBone Black you 
> > > > > > > have,
> > > > > > > specifically the revision?
> > > > > >
> > > > > > It is an ordinary C revision. Unfortunately, I cannot remember who 
> > > > > > the
> > > > > > producer was. As far as I know many companies made BeagleBone Black
> > > > > > and EEPROM content can be different.
> > > > >
> > > > > OK, that'll help some.  Can you see what the specific part number of 
> > > > > the
> > > > > EEPROM is?  That might also help Nishanth figure out what to do here.
> > > >
> > > > Attached here is the EEPROM dump.
> > >
> > > .U3.A335BNLT00C0
> > >
> > > Ah, the "CO"... i'm pretty sure that board was made by Element14,
> > > (they messed up the position of the "C") not that it really mattered
> > > as the A335BNLT is only used..
> >
> > Hi Robert,
> >
> > I have BBB from different vendors, and I do remember that I've
> > purchased the Element14 version at some point. However, I've messed
> > everything up and cannot figure out which board from which vendor. You
> > are the most probably right, but still I cannot confirm the origin.
> >
> > >
> > > Can you please take a quick snapshot of the eeprom, it should be...
> > > 24LC32AT-I/OT but maybe they used another variation..
> >
> > Attached here is U7. It says M67E. 24AA32A/24LC32A datasheet page 14
> > says that it should be 24LC32AI.
> >
>
> Wierd.. took me a bit of digging, but I did get the element14 beaglebone
> rev C black board as well.. but it boots fine for me.
>
> https://gist.github.com/nmenon/104f040a67a6af0b0418c95ad83ad50b
>
> I tested the very tip of master:
> 3dd4e916324e Merge https://source.denx.de/u-boot/custodians/u-boot-marvell
>
> Seemed to boot fine. Apparently it is supposed to be the same type as
> your board as well and it boots just fine on master.
>
> U7, however, on my board, is unmarked.
>
> Not really sure what to make of this.

Hi,

I am finally able to run debug UART (temporarily reverting 0dba4586),
and I see the following now:


Bad EEPROM or unknown board, cannot configure pinmux.


>
> --
> Regards,
> Nishanth Menon
> Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 
> 849D 1736 249D



-- 
With best regards,
Matwey V. Kornilov


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-13 Thread Tom Rini
On Sat, Aug 13, 2022 at 06:31:56PM +0300, Matwey V. Kornilov wrote:
> чт, 11 авг. 2022 г. в 19:11, Matwey V. Kornilov :
> >
> > чт, 11 авг. 2022 г. в 15:53, Alex Kiernan :
> > >
> > > On Thu, Aug 11, 2022 at 1:46 PM Tom Rini  wrote:
> > > >
> > > > On Thu, Aug 11, 2022 at 10:47:18AM +0300, Matwey V. Kornilov wrote:
> > > >
> > > > > Can somebody please advise me working CONFIG_DEBUG_UART _* values for
> > > > > the board? I think I need to obtain some output from the board to
> > > > > debug it further.
> > > >
> > > > Reading arch/arm/dts/am33xx-l4.dtsi isn't as easy to read as I would
> > > > personally like but 0x44e09000 is UART0 and so forth. Updating
> > > > doc/board/ti/am335x_evm.rst once you're done with a note about using
> > > > DEBUG_UART would be appreciated, thanks.
> > > >
> > >
> > > Some notes I have from a previous life which may be useful, but I'm
> > > afraid I've no way of checking these days:
> > >
> > > * CONFIG_DEBUG_UART=y
> > > * CONFIG_DEBUG_UART_BASE=0x44e09000
> > > * CONFIG_DEBUG_UART_CLOCK=4800
> > > * CONFIG_DEBUG_UART_OMAP=y
> > > * CONFIG_DEBUG_UART_SHIFT=2
> > > * CONFIG_DEBUG_UART_BOARD_INIT=y
> > > * CONFIG_DEBUG_UART_ANNOUNCE=y
> > >
> >
> > Thanks. Unfortunately, these don't work.
> 
> Ok. The settings were working before 0dba4586 ("arm: Init the debug UART")

Simon, any ideas? This is on am335x_evm_defconfig, for example.

-- 
Tom


signature.asc
Description: PGP signature


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-13 Thread Matwey V. Kornilov
чт, 11 авг. 2022 г. в 19:11, Matwey V. Kornilov :
>
> чт, 11 авг. 2022 г. в 15:53, Alex Kiernan :
> >
> > On Thu, Aug 11, 2022 at 1:46 PM Tom Rini  wrote:
> > >
> > > On Thu, Aug 11, 2022 at 10:47:18AM +0300, Matwey V. Kornilov wrote:
> > >
> > > > Can somebody please advise me working CONFIG_DEBUG_UART _* values for
> > > > the board? I think I need to obtain some output from the board to
> > > > debug it further.
> > >
> > > Reading arch/arm/dts/am33xx-l4.dtsi isn't as easy to read as I would
> > > personally like but 0x44e09000 is UART0 and so forth. Updating
> > > doc/board/ti/am335x_evm.rst once you're done with a note about using
> > > DEBUG_UART would be appreciated, thanks.
> > >
> >
> > Some notes I have from a previous life which may be useful, but I'm
> > afraid I've no way of checking these days:
> >
> > * CONFIG_DEBUG_UART=y
> > * CONFIG_DEBUG_UART_BASE=0x44e09000
> > * CONFIG_DEBUG_UART_CLOCK=4800
> > * CONFIG_DEBUG_UART_OMAP=y
> > * CONFIG_DEBUG_UART_SHIFT=2
> > * CONFIG_DEBUG_UART_BOARD_INIT=y
> > * CONFIG_DEBUG_UART_ANNOUNCE=y
> >
>
> Thanks. Unfortunately, these don't work.

Ok. The settings were working before 0dba4586 ("arm: Init the debug UART")

>
> > --
> > Alex Kiernan
>
>
>
> --
> With best regards,
> Matwey V. Kornilov



-- 
With best regards,
Matwey V. Kornilov


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-11 Thread Matwey V. Kornilov
чт, 11 авг. 2022 г. в 15:53, Alex Kiernan :
>
> On Thu, Aug 11, 2022 at 1:46 PM Tom Rini  wrote:
> >
> > On Thu, Aug 11, 2022 at 10:47:18AM +0300, Matwey V. Kornilov wrote:
> >
> > > Can somebody please advise me working CONFIG_DEBUG_UART _* values for
> > > the board? I think I need to obtain some output from the board to
> > > debug it further.
> >
> > Reading arch/arm/dts/am33xx-l4.dtsi isn't as easy to read as I would
> > personally like but 0x44e09000 is UART0 and so forth. Updating
> > doc/board/ti/am335x_evm.rst once you're done with a note about using
> > DEBUG_UART would be appreciated, thanks.
> >
>
> Some notes I have from a previous life which may be useful, but I'm
> afraid I've no way of checking these days:
>
> * CONFIG_DEBUG_UART=y
> * CONFIG_DEBUG_UART_BASE=0x44e09000
> * CONFIG_DEBUG_UART_CLOCK=4800
> * CONFIG_DEBUG_UART_OMAP=y
> * CONFIG_DEBUG_UART_SHIFT=2
> * CONFIG_DEBUG_UART_BOARD_INIT=y
> * CONFIG_DEBUG_UART_ANNOUNCE=y
>

Thanks. Unfortunately, these don't work.

> --
> Alex Kiernan



-- 
With best regards,
Matwey V. Kornilov


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-11 Thread Alex Kiernan
On Thu, Aug 11, 2022 at 1:46 PM Tom Rini  wrote:
>
> On Thu, Aug 11, 2022 at 10:47:18AM +0300, Matwey V. Kornilov wrote:
>
> > Can somebody please advise me working CONFIG_DEBUG_UART _* values for
> > the board? I think I need to obtain some output from the board to
> > debug it further.
>
> Reading arch/arm/dts/am33xx-l4.dtsi isn't as easy to read as I would
> personally like but 0x44e09000 is UART0 and so forth. Updating
> doc/board/ti/am335x_evm.rst once you're done with a note about using
> DEBUG_UART would be appreciated, thanks.
>

Some notes I have from a previous life which may be useful, but I'm
afraid I've no way of checking these days:

* CONFIG_DEBUG_UART=y
* CONFIG_DEBUG_UART_BASE=0x44e09000
* CONFIG_DEBUG_UART_CLOCK=4800
* CONFIG_DEBUG_UART_OMAP=y
* CONFIG_DEBUG_UART_SHIFT=2
* CONFIG_DEBUG_UART_BOARD_INIT=y
* CONFIG_DEBUG_UART_ANNOUNCE=y

-- 
Alex Kiernan


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-11 Thread Tom Rini
On Thu, Aug 11, 2022 at 10:47:18AM +0300, Matwey V. Kornilov wrote:

> Can somebody please advise me working CONFIG_DEBUG_UART _* values for
> the board? I think I need to obtain some output from the board to
> debug it further.

Reading arch/arm/dts/am33xx-l4.dtsi isn't as easy to read as I would
personally like but 0x44e09000 is UART0 and so forth. Updating 
doc/board/ti/am335x_evm.rst once you're done with a note about using
DEBUG_UART would be appreciated, thanks.

-- 
Tom


signature.asc
Description: PGP signature


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-11 Thread Matwey V. Kornilov
Can somebody please advise me working CONFIG_DEBUG_UART _* values for
the board? I think I need to obtain some output from the board to
debug it further.

чт, 11 авг. 2022 г. в 09:56, Matwey V. Kornilov :
>
> чт, 11 авг. 2022 г. в 01:52, Nishanth Menon :
> >
> > On 11:40-20220807, Matwey V. Kornilov wrote:
> > > пт, 5 авг. 2022 г. в 18:01, Robert Nelson :
> > > >
> > > > On Fri, Jul 29, 2022 at 12:07 PM Matwey V. Kornilov
> > > >  wrote:
> > > > >
> > > > > пт, 29 июл. 2022 г. в 19:46, Tom Rini :
> > > > > >
> > > > > > On Fri, Jul 29, 2022 at 07:38:28PM +0300, Matwey V. Kornilov wrote:
> > > > > > > пт, 29 июл. 2022 г. в 19:32, Tom Rini :
> > > > > > > >
> > > > > > > > On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov 
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Hi,
> > > > > > > > >
> > > > > > > > > I've tried to build an am335x_evm_defconfig u-boot to use it 
> > > > > > > > > on my
> > > > > > > > > BeagleBone Black board. Surprisingly, I've found that it 
> > > > > > > > > doesn't work,
> > > > > > > > > I see the silent console: no messages even from SPL.
> > > > > > > > >
> > > > > > > > > Using bisect I've found that the following commit breaks the 
> > > > > > > > > booting:
> > > > > > > > >
> > > > > > > > > a58147c2dbbf ("board: ti: common: board_detect: Do 1byte 
> > > > > > > > > address
> > > > > > > > > checks first.")
> > > > > > > > >
> > > > > > > > > Could you please help me?
> > > > > > > >
> > > > > > > > Can you share some more details about which BeagleBone Black 
> > > > > > > > you have,
> > > > > > > > specifically the revision?
> > > > > > >
> > > > > > > It is an ordinary C revision. Unfortunately, I cannot remember 
> > > > > > > who the
> > > > > > > producer was. As far as I know many companies made BeagleBone 
> > > > > > > Black
> > > > > > > and EEPROM content can be different.
> > > > > >
> > > > > > OK, that'll help some.  Can you see what the specific part number 
> > > > > > of the
> > > > > > EEPROM is?  That might also help Nishanth figure out what to do 
> > > > > > here.
> > > > >
> > > > > Attached here is the EEPROM dump.
> > > >
> > > > .U3.A335BNLT00C0
> > > >
> > > > Ah, the "CO"... i'm pretty sure that board was made by Element14,
> > > > (they messed up the position of the "C") not that it really mattered
> > > > as the A335BNLT is only used..
> > >
> > > Hi Robert,
> > >
> > > I have BBB from different vendors, and I do remember that I've
> > > purchased the Element14 version at some point. However, I've messed
> > > everything up and cannot figure out which board from which vendor. You
> > > are the most probably right, but still I cannot confirm the origin.
> > >
> > > >
> > > > Can you please take a quick snapshot of the eeprom, it should be...
> > > > 24LC32AT-I/OT but maybe they used another variation..
> > >
> > > Attached here is U7. It says M67E. 24AA32A/24LC32A datasheet page 14
> > > says that it should be 24LC32AI.
> > >
> >
> > Wierd.. took me a bit of digging, but I did get the element14 beaglebone
> > rev C black board as well.. but it boots fine for me.
> >
> > https://gist.github.com/nmenon/104f040a67a6af0b0418c95ad83ad50b
> >
> > I tested the very tip of master:
> > 3dd4e916324e Merge https://source.denx.de/u-boot/custodians/u-boot-marvell
>
> 3dd4e916324e doesn't work,
> 3dd4e916324e + reverted a58147c2dbbf boots:
>
> U-Boot SPL 2022.10-rc2-00029-g3dd4e91632-dirty (Aug 11 2022 - 09:50:59 +0300)
> Trying to boot from MMC1
>
>
> U-Boot 2022.10-rc2-00029-g3dd4e91632-dirty (Aug 11 2022 - 09:50:59 +0300)
>
> CPU  : AM335X-GP rev 2.1
> Model: TI AM335x BeagleBone Black
> DRAM:  512 MiB
> Core:  160 devices, 18 uclasses, devicetree: separate
> WDT:   Started wdt@44e35000 with servicing (60s timeout)
> NAND:  0 MiB
> MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
> Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
>  not set. Validating first E-fuse MAC
> Net:   eth2: ethernet@4a10, eth3: usb_ether
> Hit any key to stop autoboot:  0
> => i2c dev 0 ; i2c md 0x50 0x00.2 400
> Setting bus to 0
> : aa 55 33 ee 41 33 33 35 42 4e 4c 54 30 30 43 30.U3.A335BNLT00C0
> 0010: 34 34 31 34 42 42 42 4b 31 30 30 30 ff ff ff ff4414BBBK1000
> 0020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 0030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 0040: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 0050: 58 41 4e 30 30 31 30 30 30 58 58 58 58 58 58 58XAN001000XXX
> 0060: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 0080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 0090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 00a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>
>
>
>
> >
> > Seemed to boot fine. Apparently it is supposed to be the same type as
> >

Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-10 Thread Matwey V. Kornilov
чт, 11 авг. 2022 г. в 01:52, Nishanth Menon :
>
> On 11:40-20220807, Matwey V. Kornilov wrote:
> > пт, 5 авг. 2022 г. в 18:01, Robert Nelson :
> > >
> > > On Fri, Jul 29, 2022 at 12:07 PM Matwey V. Kornilov
> > >  wrote:
> > > >
> > > > пт, 29 июл. 2022 г. в 19:46, Tom Rini :
> > > > >
> > > > > On Fri, Jul 29, 2022 at 07:38:28PM +0300, Matwey V. Kornilov wrote:
> > > > > > пт, 29 июл. 2022 г. в 19:32, Tom Rini :
> > > > > > >
> > > > > > > On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov 
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > I've tried to build an am335x_evm_defconfig u-boot to use it on 
> > > > > > > > my
> > > > > > > > BeagleBone Black board. Surprisingly, I've found that it 
> > > > > > > > doesn't work,
> > > > > > > > I see the silent console: no messages even from SPL.
> > > > > > > >
> > > > > > > > Using bisect I've found that the following commit breaks the 
> > > > > > > > booting:
> > > > > > > >
> > > > > > > > a58147c2dbbf ("board: ti: common: board_detect: Do 1byte 
> > > > > > > > address
> > > > > > > > checks first.")
> > > > > > > >
> > > > > > > > Could you please help me?
> > > > > > >
> > > > > > > Can you share some more details about which BeagleBone Black you 
> > > > > > > have,
> > > > > > > specifically the revision?
> > > > > >
> > > > > > It is an ordinary C revision. Unfortunately, I cannot remember who 
> > > > > > the
> > > > > > producer was. As far as I know many companies made BeagleBone Black
> > > > > > and EEPROM content can be different.
> > > > >
> > > > > OK, that'll help some.  Can you see what the specific part number of 
> > > > > the
> > > > > EEPROM is?  That might also help Nishanth figure out what to do here.
> > > >
> > > > Attached here is the EEPROM dump.
> > >
> > > .U3.A335BNLT00C0
> > >
> > > Ah, the "CO"... i'm pretty sure that board was made by Element14,
> > > (they messed up the position of the "C") not that it really mattered
> > > as the A335BNLT is only used..
> >
> > Hi Robert,
> >
> > I have BBB from different vendors, and I do remember that I've
> > purchased the Element14 version at some point. However, I've messed
> > everything up and cannot figure out which board from which vendor. You
> > are the most probably right, but still I cannot confirm the origin.
> >
> > >
> > > Can you please take a quick snapshot of the eeprom, it should be...
> > > 24LC32AT-I/OT but maybe they used another variation..
> >
> > Attached here is U7. It says M67E. 24AA32A/24LC32A datasheet page 14
> > says that it should be 24LC32AI.
> >
>
> Wierd.. took me a bit of digging, but I did get the element14 beaglebone
> rev C black board as well.. but it boots fine for me.
>
> https://gist.github.com/nmenon/104f040a67a6af0b0418c95ad83ad50b
>
> I tested the very tip of master:
> 3dd4e916324e Merge https://source.denx.de/u-boot/custodians/u-boot-marvell

3dd4e916324e doesn't work,
3dd4e916324e + reverted a58147c2dbbf boots:

U-Boot SPL 2022.10-rc2-00029-g3dd4e91632-dirty (Aug 11 2022 - 09:50:59 +0300)
Trying to boot from MMC1


U-Boot 2022.10-rc2-00029-g3dd4e91632-dirty (Aug 11 2022 - 09:50:59 +0300)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  512 MiB
Core:  160 devices, 18 uclasses, devicetree: separate
WDT:   Started wdt@44e35000 with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
 not set. Validating first E-fuse MAC
Net:   eth2: ethernet@4a10, eth3: usb_ether
Hit any key to stop autoboot:  0
=> i2c dev 0 ; i2c md 0x50 0x00.2 400
Setting bus to 0
: aa 55 33 ee 41 33 33 35 42 4e 4c 54 30 30 43 30.U3.A335BNLT00C0
0010: 34 34 31 34 42 42 42 4b 31 30 30 30 ff ff ff ff4414BBBK1000
0020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0040: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0050: 58 41 4e 30 30 31 30 30 30 58 58 58 58 58 58 58XAN001000XXX
0060: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
00a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff




>
> Seemed to boot fine. Apparently it is supposed to be the same type as
> your board as well and it boots just fine on master.
>
> U7, however, on my board, is unmarked.
>
> Not really sure what to make of this.
>
> --
> Regards,
> Nishanth Menon
> Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 
> 849D 1736 249D



-- 
With best regards,
Matwey V. Kornilov


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-07 Thread Matwey V. Kornilov
пт, 5 авг. 2022 г. в 18:01, Robert Nelson :
>
> On Fri, Jul 29, 2022 at 12:07 PM Matwey V. Kornilov
>  wrote:
> >
> > пт, 29 июл. 2022 г. в 19:46, Tom Rini :
> > >
> > > On Fri, Jul 29, 2022 at 07:38:28PM +0300, Matwey V. Kornilov wrote:
> > > > пт, 29 июл. 2022 г. в 19:32, Tom Rini :
> > > > >
> > > > > On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > I've tried to build an am335x_evm_defconfig u-boot to use it on my
> > > > > > BeagleBone Black board. Surprisingly, I've found that it doesn't 
> > > > > > work,
> > > > > > I see the silent console: no messages even from SPL.
> > > > > >
> > > > > > Using bisect I've found that the following commit breaks the 
> > > > > > booting:
> > > > > >
> > > > > > a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address
> > > > > > checks first.")
> > > > > >
> > > > > > Could you please help me?
> > > > >
> > > > > Can you share some more details about which BeagleBone Black you have,
> > > > > specifically the revision?
> > > >
> > > > It is an ordinary C revision. Unfortunately, I cannot remember who the
> > > > producer was. As far as I know many companies made BeagleBone Black
> > > > and EEPROM content can be different.
> > >
> > > OK, that'll help some.  Can you see what the specific part number of the
> > > EEPROM is?  That might also help Nishanth figure out what to do here.
> >
> > Attached here is the EEPROM dump.
>
> .U3.A335BNLT00C0
>
> Ah, the "CO"... i'm pretty sure that board was made by Element14,
> (they messed up the position of the "C") not that it really mattered
> as the A335BNLT is only used..

Hi Robert,

I have BBB from different vendors, and I do remember that I've
purchased the Element14 version at some point. However, I've messed
everything up and cannot figure out which board from which vendor. You
are the most probably right, but still I cannot confirm the origin.

>
> Can you please take a quick snapshot of the eeprom, it should be...
> 24LC32AT-I/OT but maybe they used another variation..

Attached here is U7. It says M67E. 24AA32A/24LC32A datasheet page 14
says that it should be 24LC32AI.

>
> Regards,
>
> --
> Robert Nelson
> https://rcn-ee.com/



-- 
With best regards,
Matwey V. Kornilov


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-05 Thread Robert Nelson
On Fri, Jul 29, 2022 at 12:07 PM Matwey V. Kornilov
 wrote:
>
> пт, 29 июл. 2022 г. в 19:46, Tom Rini :
> >
> > On Fri, Jul 29, 2022 at 07:38:28PM +0300, Matwey V. Kornilov wrote:
> > > пт, 29 июл. 2022 г. в 19:32, Tom Rini :
> > > >
> > > > On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > I've tried to build an am335x_evm_defconfig u-boot to use it on my
> > > > > BeagleBone Black board. Surprisingly, I've found that it doesn't work,
> > > > > I see the silent console: no messages even from SPL.
> > > > >
> > > > > Using bisect I've found that the following commit breaks the booting:
> > > > >
> > > > > a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address
> > > > > checks first.")
> > > > >
> > > > > Could you please help me?
> > > >
> > > > Can you share some more details about which BeagleBone Black you have,
> > > > specifically the revision?
> > >
> > > It is an ordinary C revision. Unfortunately, I cannot remember who the
> > > producer was. As far as I know many companies made BeagleBone Black
> > > and EEPROM content can be different.
> >
> > OK, that'll help some.  Can you see what the specific part number of the
> > EEPROM is?  That might also help Nishanth figure out what to do here.
>
> Attached here is the EEPROM dump.

.U3.A335BNLT00C0

Ah, the "CO"... i'm pretty sure that board was made by Element14,
(they messed up the position of the "C") not that it really mattered
as the A335BNLT is only used..

Can you please take a quick snapshot of the eeprom, it should be...
24LC32AT-I/OT but maybe they used another variation..

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-08-02 Thread Matwey V. Kornilov
пт, 29 июл. 2022 г. в 20:06, Matwey V. Kornilov :
>
> пт, 29 июл. 2022 г. в 19:46, Tom Rini :
> >
> > On Fri, Jul 29, 2022 at 07:38:28PM +0300, Matwey V. Kornilov wrote:
> > > пт, 29 июл. 2022 г. в 19:32, Tom Rini :
> > > >
> > > > On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > I've tried to build an am335x_evm_defconfig u-boot to use it on my
> > > > > BeagleBone Black board. Surprisingly, I've found that it doesn't work,
> > > > > I see the silent console: no messages even from SPL.
> > > > >
> > > > > Using bisect I've found that the following commit breaks the booting:
> > > > >
> > > > > a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address
> > > > > checks first.")
> > > > >
> > > > > Could you please help me?
> > > >
> > > > Can you share some more details about which BeagleBone Black you have,
> > > > specifically the revision?
> > >
> > > It is an ordinary C revision. Unfortunately, I cannot remember who the
> > > producer was. As far as I know many companies made BeagleBone Black
> > > and EEPROM content can be different.
> >
> > OK, that'll help some.  Can you see what the specific part number of the
> > EEPROM is?  That might also help Nishanth figure out what to do here.
>
> Attached here is the EEPROM dump.
>
> >
> > --
> > Tom
>
>
>
> --
> With best regards,
> Matwey V. Kornilov

My other BeagleBoneBlack successfully boots with this commit (with the
same u-boot image the first board doesn't boot). Attached here is the
EEPROM dump for the second board.


-- 
With best regards,
Matwey V. Kornilov


eeprom2.bin
Description: Binary data


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-07-29 Thread Matwey V. Kornilov
пт, 29 июл. 2022 г. в 19:46, Tom Rini :
>
> On Fri, Jul 29, 2022 at 07:38:28PM +0300, Matwey V. Kornilov wrote:
> > пт, 29 июл. 2022 г. в 19:32, Tom Rini :
> > >
> > > On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov wrote:
> > >
> > > > Hi,
> > > >
> > > > I've tried to build an am335x_evm_defconfig u-boot to use it on my
> > > > BeagleBone Black board. Surprisingly, I've found that it doesn't work,
> > > > I see the silent console: no messages even from SPL.
> > > >
> > > > Using bisect I've found that the following commit breaks the booting:
> > > >
> > > > a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address
> > > > checks first.")
> > > >
> > > > Could you please help me?
> > >
> > > Can you share some more details about which BeagleBone Black you have,
> > > specifically the revision?
> >
> > It is an ordinary C revision. Unfortunately, I cannot remember who the
> > producer was. As far as I know many companies made BeagleBone Black
> > and EEPROM content can be different.
>
> OK, that'll help some.  Can you see what the specific part number of the
> EEPROM is?  That might also help Nishanth figure out what to do here.

Attached here is the EEPROM dump.

>
> --
> Tom



-- 
With best regards,
Matwey V. Kornilov


eeprom.bin
Description: Binary data


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-07-29 Thread Tom Rini
On Fri, Jul 29, 2022 at 07:38:28PM +0300, Matwey V. Kornilov wrote:
> пт, 29 июл. 2022 г. в 19:32, Tom Rini :
> >
> > On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov wrote:
> >
> > > Hi,
> > >
> > > I've tried to build an am335x_evm_defconfig u-boot to use it on my
> > > BeagleBone Black board. Surprisingly, I've found that it doesn't work,
> > > I see the silent console: no messages even from SPL.
> > >
> > > Using bisect I've found that the following commit breaks the booting:
> > >
> > > a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address
> > > checks first.")
> > >
> > > Could you please help me?
> >
> > Can you share some more details about which BeagleBone Black you have,
> > specifically the revision?
> 
> It is an ordinary C revision. Unfortunately, I cannot remember who the
> producer was. As far as I know many companies made BeagleBone Black
> and EEPROM content can be different.

OK, that'll help some.  Can you see what the specific part number of the
EEPROM is?  That might also help Nishanth figure out what to do here.

-- 
Tom


signature.asc
Description: PGP signature


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-07-29 Thread Matwey V. Kornilov
пт, 29 июл. 2022 г. в 19:32, Tom Rini :
>
> On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov wrote:
>
> > Hi,
> >
> > I've tried to build an am335x_evm_defconfig u-boot to use it on my
> > BeagleBone Black board. Surprisingly, I've found that it doesn't work,
> > I see the silent console: no messages even from SPL.
> >
> > Using bisect I've found that the following commit breaks the booting:
> >
> > a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address
> > checks first.")
> >
> > Could you please help me?
>
> Can you share some more details about which BeagleBone Black you have,
> specifically the revision?

It is an ordinary C revision. Unfortunately, I cannot remember who the
producer was. As far as I know many companies made BeagleBone Black
and EEPROM content can be different.

>
> --
> Tom



-- 
With best regards,
Matwey V. Kornilov


Re: [BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-07-29 Thread Tom Rini
On Fri, Jul 29, 2022 at 07:20:11PM +0300, Matwey V. Kornilov wrote:

> Hi,
> 
> I've tried to build an am335x_evm_defconfig u-boot to use it on my
> BeagleBone Black board. Surprisingly, I've found that it doesn't work,
> I see the silent console: no messages even from SPL.
> 
> Using bisect I've found that the following commit breaks the booting:
> 
> a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address
> checks first.")
> 
> Could you please help me?

Can you share some more details about which BeagleBone Black you have,
specifically the revision?

-- 
Tom


signature.asc
Description: PGP signature


[BISECTED] BeagleBone Black doesn't boot after a58147c2dbbf

2022-07-29 Thread Matwey V. Kornilov
Hi,

I've tried to build an am335x_evm_defconfig u-boot to use it on my
BeagleBone Black board. Surprisingly, I've found that it doesn't work,
I see the silent console: no messages even from SPL.

Using bisect I've found that the following commit breaks the booting:

a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address
checks first.")

Could you please help me?

-- 
With best regards,
Matwey V. Kornilov