All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [meta-freescale] imx6qdl based board won't boot with kernel 4.9.x
@ 2019-12-11 14:26 Stefan Birkholz
  2019-12-11 15:03 ` Cory
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Birkholz @ 2019-12-11 14:26 UTC (permalink / raw)
  To: Cory, meta-freescale

[-- Attachment #1: Type: text/plain, Size: 2305 bytes --]

Hi,

just a quick guess – the Load Address / Entry Point looks suspicious; for i.MX6DL I usually build the Kernel with “LOADADDR=10008000”.

Regards,
Stefan

Von: meta-freescale@lists.yoctoproject.org [mailto:meta-freescale@lists.yoctoproject.org] Im Auftrag von Cory
Gesendet: Mittwoch, 11. Dezember 2019 15:10
An: meta-freescale@lists.yoctoproject.org
Betreff: [meta-freescale] imx6qdl based board won't boot with kernel 4.9.x


Hi all,

I've been battling with upgrading the kernel our imx6qdl based custom board using Yocto Thud. We have been happily running the linux-imx 4.1-2 kernel, but it's time to push it forward to the 4.9.x versions. But it's not booting, at all. I've be poring over changes to other imxqdl based device trees and defconfigs, and nothing is making sense as to what change I may have missed (because I can't find many). We are running U-Boot 2017.11 (I know that could also be upgraded, but that shouldn't matter...unless I'm wrong).

I've stripped our kernel customizations down to nothing except for our board device tree, which works fine in kernel 4.1-X. We've never had issues like this with a kernel version bump before. After U-Boot loads the device tree and kernel, there is no output. When I check the HW, I've probed the DDR clock and it's stuck high. All 4.9+ kernels included in meta-freescale behave this same way:

## Booting kernel from Legacy Image at 10800000 ...

   Image Name:   Linux-4.9.123-imx+g6a71cbc

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    5476256 Bytes = 5.2 MiB

   Load Address: 10808000

   Entry Point:  10808000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 11000000

   Booting using the fdt blob at 0x11000000

   Loading Kernel Image ... OK

   Using Device Tree in place at 11000000, end 1100dd66

Starting kernel ...

## NOTHING AFTER THIS ##

My main question is, has anyone else successfully used the linux-imx 4.9.x kernels (4.9.11, 4.9.123, etc), on a board based on the imx6qdl, and if so, do you have any tricks I'm missing? Has something major changed  in 4.9.x that affects the imx6 that I may have missed? (except for the framebuffer, that's another issue I'll deal with later).

I appreciate any guidance!

Cheers,
Cory

[-- Attachment #2: Type: text/html, Size: 6056 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: imx6qdl based board won't boot with kernel 4.9.x
  2019-12-11 14:26 [meta-freescale] imx6qdl based board won't boot with kernel 4.9.x Stefan Birkholz
@ 2019-12-11 15:03 ` Cory
  2019-12-11 15:11   ` [meta-freescale] " Stefan Birkholz
  0 siblings, 1 reply; 9+ messages in thread
From: Cory @ 2019-12-11 15:03 UTC (permalink / raw)
  To: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 1011 bytes --]

Hi Stefan,

Thanks for the response. However, I don't think it's an issue with the the LOADADDR. See below, the same board booting with the "old" 4.1.15 kernel, same LOADADDR. For reasons a long time ago, that's what we've used for years as the LOADADDR.

Are you using the i.MX6DL with one of the 4.9.x kernels? If so, did you have to do anything special that you remember?

Successful 4.1.15 kernel boot:

## Booting kernel from Legacy Image at 10800000 ...
Image Name:   Linux-4.1.15-2.1.0+g30278ab
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    5151184 Bytes = 4.9 MiB
Load Address: 10808000
Entry Point:  10808000
Verifying Checksum ... OK
## Flattened Device Tree blob at 11000000
Booting using the fdt blob at 0x11000000
Loading Kernel Image ... OK
Using Device Tree in place at 11000000, end 1100d4f1

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15-2.1.0+g30278ab (oe-user@oe-host) (gcc version 7.3.0 (GCC) ) #7 SMP PREEMPT

[-- Attachment #2: Type: text/html, Size: 1388 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [meta-freescale] imx6qdl based board won't boot with kernel 4.9.x
  2019-12-11 15:03 ` Cory
@ 2019-12-11 15:11   ` Stefan Birkholz
  2019-12-11 15:20     ` Cory
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Birkholz @ 2019-12-11 15:11 UTC (permalink / raw)
  To: Cory, meta-freescale

[-- Attachment #1: Type: text/plain, Size: 561 bytes --]

Hi Cory,

we are currently working with mainline Kernel 4.19 (on i.MX6DL), but I also successfully (aside from some problem with the IPUv3/DRM display driver, which seems to have some problems starting with 5.1) run Kernels in the 5 series (latest Kernel I tested was 5.4.2). We also upgraded from 4.1.x to 4.19 and switched from imx-linux to mainline in the process due to encountering various problems with imx-linux. I had to rework the devicetree (mostly the display subsystem), and in the next step have to modify some of our in-house device drivers.


[-- Attachment #2: Type: text/html, Size: 2769 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: imx6qdl based board won't boot with kernel 4.9.x
  2019-12-11 15:11   ` [meta-freescale] " Stefan Birkholz
@ 2019-12-11 15:20     ` Cory
  2019-12-11 15:23       ` [meta-freescale] " Fabio Estevam
  0 siblings, 1 reply; 9+ messages in thread
From: Cory @ 2019-12-11 15:20 UTC (permalink / raw)
  To: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 335 bytes --]

Hi Stefan,

I've been also looking at moving to linux-fslc, but we are dependent on the vivante GPU, so I am somewhat limited.

I've also completely removed our display subsystem configuration in the device tree, just in case, just to try and get things booting.

Thanks for the information, it's good to know.

Cheers,
Cory

[-- Attachment #2: Type: text/html, Size: 371 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [meta-freescale] imx6qdl based board won't boot with kernel 4.9.x
  2019-12-11 15:20     ` Cory
@ 2019-12-11 15:23       ` Fabio Estevam
  2019-12-11 15:49         ` Cory
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Estevam @ 2019-12-11 15:23 UTC (permalink / raw)
  To: Cory; +Cc: meta-freescale

Hi Cory,

On Wed, Dec 11, 2019 at 12:20 PM Cory <cory@otis8.com> wrote:
>
> Hi Stefan,
>
> I've been also looking at moving to linux-fslc, but we are dependent on the vivante GPU, so I am somewhat limited.

You can also use GPU with mainline kernel.

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [meta-freescale] imx6qdl based board won't boot with kernel 4.9.x
  2019-12-11 15:23       ` [meta-freescale] " Fabio Estevam
@ 2019-12-11 15:49         ` Cory
  0 siblings, 0 replies; 9+ messages in thread
From: Cory @ 2019-12-11 15:49 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 594 bytes --]

Hi Fabio,

The more I'm looking at this, the more I'm thinking the mainline kernel
might be our way forward. First step is to get this thing booting. :)

Thanks for the reply!

Cheers,
Cory

On Wed, Dec 11, 2019 at 5:23 PM Fabio Estevam <festevam@gmail.com> wrote:

> Hi Cory,
>
> On Wed, Dec 11, 2019 at 12:20 PM Cory <cory@otis8.com> wrote:
> >
> > Hi Stefan,
> >
> > I've been also looking at moving to linux-fslc, but we are dependent on
> the vivante GPU, so I am somewhat limited.
>
> You can also use GPU with mainline kernel.
>
> Regards,
>
> Fabio Estevam
>

[-- Attachment #2: Type: text/html, Size: 1059 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: imx6qdl based board won't boot with kernel 4.9.x
  2019-12-11 15:10 Richard Leitner
@ 2019-12-11 15:17 ` Cory
  0 siblings, 0 replies; 9+ messages in thread
From: Cory @ 2019-12-11 15:17 UTC (permalink / raw)
  To: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 455 bytes --]

Hi Richard,

It's definitely not a serial issue (I checked that first). I've gone as far as probing the DDR clock line with a logic analyzer...and it it comes to sudden halt as soon as the 4.9+ kernels are loaded by U-Boot.

I don't have access to an ICE at the moment for any hardcore debugging, but I have a logic analyzer, so I'm checking heartbeats with that at the moment.

I'll check earlyprintk, just in case.

Thanks for the reply,
Cory

[-- Attachment #2: Type: text/html, Size: 491 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: imx6qdl based board won't boot with kernel 4.9.x
  2019-12-11 15:05 [meta-freescale] " Marc Ferland
@ 2019-12-11 15:11 ` Cory
  0 siblings, 0 replies; 9+ messages in thread
From: Cory @ 2019-12-11 15:11 UTC (permalink / raw)
  To: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 275 bytes --]

Hi Marc,

Many thanks for the reply, that's exactly what I've been doing for a while now, no luck yet. I've gone as far as using a very generic IMX defconfig and device tree with almost none of our in-house required changes. But, I'll keep at it as well.

Cheers,
Cory

[-- Attachment #2: Type: text/html, Size: 295 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* imx6qdl based board won't boot with kernel 4.9.x
@ 2019-12-11 14:10 Cory
  0 siblings, 0 replies; 9+ messages in thread
From: Cory @ 2019-12-11 14:10 UTC (permalink / raw)
  To: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 1836 bytes --]

Hi all,

I've been battling with upgrading the kernel our imx6qdl based custom board using Yocto Thud. We have been happily running the linux-imx 4.1-2 kernel, but it's time to push it forward to the 4.9.x versions. But it's not booting, at all. I've be poring over changes to other imxqdl based device trees and defconfigs, and nothing is making sense as to what change I may have missed (because I can't find many). We are running U-Boot 2017.11 (I know that could also be upgraded, but that shouldn't matter...unless I'm wrong).

I've stripped our kernel customizations down to nothing except for our board device tree, which works fine in kernel 4.1-X. We've never had issues like this with a kernel version bump before. After U-Boot loads the device tree and kernel, there is no output. When I check the HW, I've probed the DDR clock and it's stuck high. All 4.9+ kernels included in meta-freescale behave this same way:

## Booting kernel from Legacy Image at 10800000 ...

Image Name:   Linux-4.9.123-imx+g6a71cbc

Image Type:   ARM Linux Kernel Image (uncompressed)

Data Size:    5476256 Bytes = 5.2 MiB

Load Address: 10808000

Entry Point:  10808000

Verifying Checksum ... OK

## Flattened Device Tree blob at 11000000

Booting using the fdt blob at 0x11000000

Loading Kernel Image ... OK

Using Device Tree in place at 11000000, end 1100dd66

Starting kernel ...

## NOTHING AFTER THIS ##

My main question is, has anyone else successfully used the linux-imx 4.9.x kernels (4.9.11, 4.9.123, etc), on a board based on the imx6qdl, and if so, do you have any tricks I'm missing? Has something major changed  in 4.9.x that affects the imx6 that I may have missed? (except for the framebuffer, that's another issue I'll deal with later).

I appreciate any guidance!

Cheers,
Cory

[-- Attachment #2: Type: text/html, Size: 2116 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-12-11 15:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-11 14:26 [meta-freescale] imx6qdl based board won't boot with kernel 4.9.x Stefan Birkholz
2019-12-11 15:03 ` Cory
2019-12-11 15:11   ` [meta-freescale] " Stefan Birkholz
2019-12-11 15:20     ` Cory
2019-12-11 15:23       ` [meta-freescale] " Fabio Estevam
2019-12-11 15:49         ` Cory
  -- strict thread matches above, loose matches on Subject: below --
2019-12-11 15:10 Richard Leitner
2019-12-11 15:17 ` Cory
2019-12-11 15:05 [meta-freescale] " Marc Ferland
2019-12-11 15:11 ` Cory
2019-12-11 14:10 Cory

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.