verdin-imx8mp: Ethernet does not load at boot

2024-02-15 Thread Sahaj Sarup
Hi,

On a verdin-imx8mp platform I am now unable to use the ethernet ports.
My last build was from December
(8f5043ee6d378d7c10d947cf48b047a5954ef5b3) so it was working fine
then.

Boot log:

```
U-Boot SPL 2024.04-rc2-2-gbef352dd57-dirty (Feb 16 2024 - 10:07:17 +0530)
Training FAILED
DDR configured as single rank
SEC0:  RNG instantiated
Normal Boot
WDT:   Started watchdog@3028 with servicing every 1000ms (60s timeout)
Trying to boot from BOOTROM
Boot Stage: Primary boot
Find img info 0x4802ae00, size 1044
Need continue download 1024
NOTICE:  Do not release JR0 to NS as it can be used by HAB
NOTICE:  BL31: v2.10.0  (release):v2.10.0-44-g2e1e1664c
NOTICE:  BL31: Built : 13:09:20, Dec  1 2023


U-Boot 2024.04-rc2-2-gbef352dd57-dirty (Feb 16 2024 - 10:07:17 +0530)

CPU:   Freescale i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 36C
Reset cause: POR
DRAM:  4 GiB
Core:  171 devices, 28 uclasses, devicetree: separate
WDT:   Started watchdog@3028 with servicing every 1000ms (60s timeout)
MMC:   FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:serial@3088
Out:   serial@3088
Err:   serial@3088
Model: Toradex Verdin iMX8M Plus WB on Verdin Development Board
SEC0:  RNG instantiated
Setting variant to nonwifi
Net:
Error: ethernet@30bf No valid MAC address found.
Can't find FEC0 clk rate: -22

Error: ethernet@30bf No valid MAC address found.
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Could not get PHY for mdio: addr 7
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Could not get PHY for FEC1: addr 7

Error: ethernet@30bf No valid MAC address found.
Can't find FEC0 clk rate: -22

Error: ethernet@30bf No valid MAC address found.
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Could not get PHY for mdio: addr 7
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Read MDIO failed...
Could not get PHY for FEC1: addr 7

Error: ethernet@30bf No valid MAC address found.

Error: ethernet@30bf No valid MAC address found.
No ethernet found.

Hit any key to stop autoboot:  0

```


LTO build failure with GCC 13.2.1

2024-02-15 Thread Sahaj Sarup
Hi all,

Since commit f8cebb4f789c9950caf55a0b73e88049e7a1c3a3 enabled LTO by
default for imx8m platforms,
I have been having issues building u-boot.
I am primarily working on imx8mp instead of imx8mm platforms so the
bug resolved by that commit doesn't affect me yet.
But I guess it's a generic issue with u-boot's LTO requirements and GCC 13.

Build log:
```
  LTO u-boot
/usr/bin/aarch64-linux-gnu-ld:
/usr/lib/gcc/aarch64-linux-gnu/13/libgcc.a(lse-init.o): in function
`init_have_lse_atomics':
/builddir/build/BUILD/gcc-13.2.1-20230728/aarch64-linux-gnu/aarch64-linux-gnu/libgcc/../../../gcc-13.2.1-20230728/libgcc/config/aarch64/lse-init.c:46:
undefined reference to `__getauxval'
collect2: fatal error: ld terminated with signal 11 [Segmentation
fault], core dumped
compilation terminated.
make: *** [Makefile:1766: u-boot] Error 1
make: *** Deleting file 'u-boot'
```

GCC Version:
```
$ aarch64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-linux-gnu/13/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../gcc-13.2.1-20230728/configure --bindir=/usr/bin
--build=x86_64-redhat-linux-gnu --datadir=/usr/share --disable-
decimal-float --disable-dependency-tracking --disable-gold
--disable-libgcj --disable-libgomp --disable-libmpx
--disable-libquadmat
h --disable-libssp --disable-libunwind-exceptions --disable-shared
--disable-silent-rules --disable-sjlj-exceptions --disable-threa
ds --with-ld=/usr/bin/aarch64-linux-gnu-ld --enable-__cxa_atexit
--enable-checking=release --enable-gnu-unique-object --enable-init
fini-array --enable-languages=c,c++ --enable-linker-build-id
--enable-lto --enable-nls --enable-obsolete --enable-plugin --enable-t
argets=all --exec-prefix=/usr --host=x86_64-redhat-linux-gnu
--includedir=/usr/include --infodir=/usr/share/info --libexecdir=/usr/
libexec --localstatedir=/var --mandir=/usr/share/man --prefix=/usr
--program-prefix=aarch64-linux-gnu- --sbindir=/usr/sbin --shared
statedir=/var/lib --sysconfdir=/etc --target=aarch64-linux-gnu
--with-bugurl=http://bugzilla.redhat.com/bugzilla/ --with-gcc-major-
version-only --with-isl --with-newlib
--with-plugin-ld=/usr/bin/aarch64-linux-gnu-ld
--with-sysroot=/usr/aarch64-linux-gnu/sys-root
--with-system-libunwind --with-system-zlib --without-headers
--enable-gnu-indirect-function --with-linker-hash-style=gnu
Thread model: single
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.1 20230728 (Red Hat Cross 13.2.1-1) (GCC)
```

Thanks,
Sahaj Sarup


Re: imx8mp: issues getting dtb with pcie enabled to boot

2023-07-08 Thread Sahaj Sarup
Hi Simon,

On Sat, Jul 8, 2023, 06:36 Simon Glass  wrote:

> Hi,
>
> On Fri, 7 Jul 2023 at 14:34, Fabio Estevam  wrote:
> >
> > Adding Marcel and Francesco.
> >
> > On Fri, Jul 7, 2023 at 5:30 PM Sahaj Sarup 
> wrote:
> > >
> > > Hi,
> > > I am working on the imxmp-verdin platform. One of the quirks with
> > > this particular som is that it uses an internal pcie_phy clock instead
> of
> > > an external one like most imx8mp boards do.
> > > To get this working on mainline linux, the way clocks are defined for
> the
> > > pcie_phy is
> > > `clocks = <_blk_ctrl>;`
> > > However this causes u-boot to completely fail to boot with this
> > > error `Device tree error at node '__symbols__'` .
>
> That looks like a strange error was found when trying to read the
> compatible string from the node. It wasn't -FDT_ERR_NOTFOUND. See
> lists_bind_fdt().
>
> Perhaps we need to ignore the __symbols__ node?
>

For now the fix seems to be `clocks = <_blk_ctrl 0>;`
This let's uboot proceed and pcie is working under linux as well.


> > >
> > > My end goal is to boot a generic arm image over pcie nvme, I don't
> know if
> > > this would be possible but atleast a compatible device tree would be a
> good
> > > starting point.
> > >
> > > Thanks.
>
> Regards,
> Simon
>


Re: imx8mp: issues getting dtb with pcie enabled to boot

2023-07-07 Thread Sahaj Sarup
On Sat, 8 Jul 2023 at 02:04, Fabio Estevam  wrote:

> Adding Marcel and Francesco.
>
> On Fri, Jul 7, 2023 at 5:30 PM Sahaj Sarup  wrote:
> >
> > Hi,
> > I am working on the imxmp-verdin platform. One of the quirks with
> > this particular som is that it uses an internal pcie_phy clock instead of
> > an external one like most imx8mp boards do.
> > To get this working on mainline linux, the way clocks are defined for the
> > pcie_phy is
> > `clocks = <_blk_ctrl>;`
> > However this causes u-boot to completely fail to boot with this
> > error `Device tree error at node '__symbols__'` .
>

For now the fix seems to be `clocks = <_blk_ctrl 0>;`
this gets pcie working under linux but not under u-boot, i'm guessing pcie
for imx8 is not yet implemented?

>

> My end goal is to boot a generic arm image over pcie nvme, I don't know if
> > this would be possible but atleast a compatible device tree would be a
> good
> > starting point.
> >
> > Thanks.
>


-- 
Best Regards
Sahaj Sarup


imx8mp: issues getting dtb with pcie enabled to boot

2023-07-07 Thread Sahaj Sarup
Hi,
I am working on the imxmp-verdin platform. One of the quirks with
this particular som is that it uses an internal pcie_phy clock instead of
an external one like most imx8mp boards do.
To get this working on mainline linux, the way clocks are defined for the
pcie_phy is
`clocks = <_blk_ctrl>;`
However this causes u-boot to completely fail to boot with this
error `Device tree error at node '__symbols__'` .

My end goal is to boot a generic arm image over pcie nvme, I don't know if
this would be possible but atleast a compatible device tree would be a good
starting point.

Thanks.


Re: [U-Boot] flashing and testing u-boot on chromebook_bob

2019-12-02 Thread Sahaj Sarup
Hi Simon,

Been a couple of weeks. I have obtained a SuzyQable and its working
well with bob. I can see RxTx from Cr50, AP and EC. On mainline linux
from ArchLinuxArm I can see earlyprintk as well. However I am still
stuck on the u-boot end.

Just to make sure I didn't miss anything, I'm laying down all the
steps that I followed to have u-boot chainloaded from depthcharge on
bob.

1. Build U-boot
- Build bl31 as in README.rockchip. export bl31.elf as BL31 env
- change CONFIG_SYS_TEXT_BASE to 0x2100
- 0x2000 From
https://chromium.googlesource.com/chromiumos/platform/depthcharge/+/refs/heads/master/board/bob/defconfig#11
- 0x100 padding for fit image.
- make chromebook_bob_defconfig
- make

2. Create Fit Image (some hints taken from
https://wiki.debian.org/InstallingDebianOn/Asus/C101PA)
- Using the following .its
```
/dts-v1/;

/ {
description = "U-Boot + FDT  THIS PADDING IS NEEDED SO THE
IMAGE STARTS AT THE RIGHT OFFSET";
#address-cells = <1>;

images {

kernel@1 {
description = "kernel";
data = /incbin/("../../u-boot.bin");
type = "kernel_noload";
os = "linux";
arch = "arm64";
compression = "none";
load = <0>;
entry = <0>;
};
fdt@1 {
description = "rk3399-gru-bob.dtb";
data = /incbin/("../../arch/arm/dts/rk3399-gru-bob.dtb");
type = "flat_dt";
arch = "arm64";
compression = "none";
hash@1 {
algo = "sha1";
};
};

};
configurations {
default = "conf@1";
conf@1 {
kernel = "kernel@1";
fdt = "fdt@1";
};

};

};
```

- mkimage -D "-I dts -O dtb -p 2048" -f
doc/chromium/chromebook_bob.its ./u-boot-chromium.fit

- Made sure that the offset is 0x100

```
[sahaj@fedora-work u-boot]$ hexdump u-boot.bin | head
000 000a 1400 201f d503 0100 2000  

[sahaj@fedora-work u-boot]$ hexdump u-boot-chromium.fit | head -20

0e0  0300  0700   656b 6e72
0f0 6c65   0300 0b00 842c  1b00
100 000a 1400 201f d503 0100 2000  
110 33f8 000a   33f8 000a  
120 0a18 000c   003c 1400 76a0 1000
130 4241 d538 303f f100 00a0 5400 203f f100
[sahaj@fedora-work u-boot]$
```

- Created bootloader offset: dd if=/dev/zero of=bootloader.bin bs=512 count=1

- Build image: vbutil_kernel --pack u-boot.kpart --version 1 --vmlinuz
u-boot-chromium.fit --arch aarch64 --keyblock
doc/chromium/devkeys/kernel.keyblock --signprivate
doc/chromium/devkeys/kernel_data_key.vbprivk --config dummy.txt
--bootloader bootloader.bin


3. Flash and boot:

- SDCard kernel part: cgpt add -i 1 -t kernel -b 8192 -s 65536 -l
Kernel -S 1 -T 5 -P 10 /dev/sda
- sudo dd if=u-boot.kpart of=/dev/sdd1
- On the dev mode screen select ctrl+u
- ttyUSB1 (AP COnsole) remains blank
- power led is solid
- keep power button pressed for 10 sec for poweroff



On Fri, 22 Nov 2019 at 03:53, Simon Glass  wrote:
>
> +U-Boot Mailing List
> Please do copy the mailing list on each message.
>
> On Wed, 20 Nov 2019 at 17:16, Sahaj Sarup  wrote:
> >
> >
> >
> > On Tue, Nov 19, 2019, 06:51 Simon Glass  wrote:
> >>
> >> Hi Sahaj,
> >>
> >> On Mon, 18 Nov 2019 at 00:09, Sahaj Sarup  wrote:
> >> >
> >> > see in-line...
> >> >
> >> > On Mon, 18 Nov 2019 at 11:16, Simon Glass  wrote:
> >> > >
> >> > > Hi Sahaj,
> >> > >
> >> > > On Sun, 17 Nov 2019 at 21:33, Sahaj Sarup  wrote:
> >> > > >
> >> > > > Hi All,
> >> > > >
> >> > > > I was wondering if you could answer a few questions regarding u-boot
> >> > > > on Asus CP101 gru/bob ?
> >> > > >
> >> > > > - To test the u-boot image following README.chromium-chainload,
> >> > > > should I expect output on the display or do I need
> >> > > > CDD/SuzyQable Cable for serial?
> >> > >
> >> > > The display should work OK. I don't think that device supports CCD.
> >> >
> >> > Well since the display is blank and the uboot.bin and uboot.fit have
> >> > a correct 0x100 offset, I'll need to wait for my CCD cable to arrive.
> >> > Bob in fact supports ccd:
> >> > https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices
> >> > Although, i am confused as well since edp is supported, at least in
> >> > the dts files.
> >>
> >> Then I suspect it is broken.
> >
> >
> > Not broken, doesn't exist. The Edp driver is only for rk3288. I'm guessing 
> > they use the same ip, but soc specific stuff needs to be added for 3399.
> >
> > I was taking a look at rockchip's u-boot fork, looks like they are using 
> > drm for display now.
>
> OK I see,
>
> Regards,
> Simon



-- 
Best Regards
Sahaj Sarup
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] flashing and testing u-boot on chromebook_bob

2019-11-18 Thread Sahaj Sarup
Hi All,

I was wondering if you could answer a few questions regarding u-boot
on Asus CP101 gru/bob ?

- To test the u-boot image following README.chromium-chainload,
should I expect output on the display or do I need
CDD/SuzyQable Cable for serial?

- The CONFIG_SYS_TEXT_BASE is currently 0x0020 but
shouldn't it be CONFIG_SYS_TEXT_BASE=0x2100
since its supposed to match CONFIG_KERNEL_START
from /chromiumos/platform/depthcharge/board/gru/defconfig

- In order to flash to spi, what's the procedure?


-- 
Best Regards
Sahaj Sarup
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot