Error while before boot script on Saber Lite 6Q

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Error while before boot script on Saber Lite 6Q

2,681 Views
anilghadiya
Contributor II

Hi,

We are getting error while booting the IMX Saberlite 6Q from SD card.

Below is the error log.

CPU:   Freescale i.MX6Q rev1.2 at 792 MHz

Reset cause: POR

Board: SABRE Lite

DRAM:  1 GiB

MMC:   FSL_SDHC: 0, FSL_SDHC: 1

SF: Detected SST25VF016B with page size 4 KiB, total 2 MiB

wait_for_sr_state: failed sr=81 cr=a0 state=2020

i2c_init_transfer: failed for chip 0x4 retry=0

wait_for_sr_state: failed sr=81 cr=a0 state=2020

i2c_init_transfer: failed for chip 0x4 retry=1

wait_for_sr_state: failed sr=81 cr=a0 state=2020

i2c_init_transfer: failed for chip 0x4 retry=2

i2c_init_transfer: give up i2c_regs=021a8000

wait_for_sr_state: failed sr=81 cr=a0 state=2020

i2c_init_transfer: failed for chip 0x38 retry=0

wait_for_sr_state: failed sr=81 cr=a0 state=2020

i2c_init_transfer: failed for chip 0x38 retry=1

wait_for_sr_state: failed sr=81 cr=a0 state=2020

i2c_init_transfer: failed for chip 0x38 retry=2

i2c_init_transfer: give up i2c_regs=021a8000

wait_for_sr_state: failed sr=81 cr=a0 state=2020

i2c_init_transfer: failed for chip 0x48 retry=0

wait_for_sr_state: failed sr=81 cr=a0 state=2020

i2c_init_transfer: failed for chip 0x48 retry=1

wait_for_sr_state: failed sr=81 cr=a0 state=2020

i2c_init_transfer: failed for chip 0x48 retry=2

i2c_init_transfer: give up i2c_regs=021a8000

No panel detected: default to HDMI

enable_hdmi: setup HDMI monitor

Display: HDMI (1024x768)

In:    serial

Out:   serial

Err:   serial

Net:   using phy at 6

FEC [PRIME]

Hit any key to stop autoboot:  0

AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode

flags: ncq stag pm led clo only pmp pio slum part

No port device detected!

** Bad device size - sata 0 **

** Bad device size - sata 0 **

SATA device 1: unknown device

** Bad device sata 1 **

** Bad device sata 1 **

MMC: no card present

mmc0(part 0) is current device

MMC: no card present

** Bad device mmc 0 **

MMC: no card present

** Bad device mmc 0 **

mmc1 is current device

** Unrecognized filesystem type **

1653 bytes read in 59 ms (27.3 KiB/s)

## Executing script at 10008000

We changed the kernel image and try but it gives the same error. We are using Kernel 3.0.35.

Thanks and Regards,

Anil Ghadiya

Labels (2)
0 Kudos
10 Replies

1,742 Views
EricNelson
Senior Contributor II

Hi Anil,

First off, please paste text into messages like this instead of using screen-shots. That allows e-mail notifications to contain the details in question and allows for quoting of the content.

Secondly, I'm sorry, but I can't spend cycles debugging your hardware. My suggestions about where to look were just that: suggestions of directions.

The MUX_CTL_PAD_x registers have an SION bit that allow you to see the state of pins through the corresponding GPIOX_PSR registers.

I'm sure you'll find that the processor is seeing either or both the I2Cx_SDA or I2Cx_SCL pins low during the boot process.

Finally, note that the I2C accesses in question stem from the U-Boot code that tries to automatically identify the touch controllers commonly used on our boards.

It's highly likely that these accesses aren't needed on your custom hardware. I presume that you know what display you're using and don't need auto-detect. This should be dealt with in your custom U-Boot.

Regards,


Eric

0 Kudos

1,742 Views
EricNelson
Senior Contributor II

Hello Anil,

These errors indicate that something is holding the I2C bus in an invalid state and come from the attempt to auto-detect displays through their touch controllers.

What do you have connected to the board (especially J7)?

0 Kudos

1,742 Views
anilghadiya
Contributor II

Hi Eric,

Thanks for your reply.

We have connected our device via I2C to J7 (Only I2C pins and GPIO_9) and we are using this setup since beginning.

This issue started once after the application caused the kernel panic. So we suspected that flash is corrupted and tried to

re-flash it from SD card. But we are not able to flash it again.

It would be very helpful if you can guide us to re-flash the SPI_NOR in such a way that it boots up from micro SD card.

Thanks in advance,

Anil Ghadiya

0 Kudos

1,742 Views
anilghadiya
Contributor II

Hello Eric,

We are able re-flash the board and its booting up but it gives the same errors which i mentioned in the first post.

As i mentioned we are connecting our device to J7(Only I2C pins and GPIO_9) via I2C.

Even if do not connect anything on J7, we are getting the same error.

Thanks and Regards,

Anil Ghadiya

0 Kudos

1,742 Views
EricNelson
Senior Contributor II

These I2C error messages indicate that something is holding the I2C lines (SDA and/or SCL) low (holding the I2C bus).

If you've disconnected your device, perhaps the process introduces a short to ground somewhere.

1,742 Views
anilghadiya
Contributor II

Hi Eric,

Thanks for your reply.

I have checked the I2C lines if it is shorted with the GND pin in the J7. Also checked with reference to some of the common GND points on the boards,

but it seems there is no shorting there. Can you suggest any other point in particular which should be checked.

I have also checked the pull-up registers for these pins r216 and r217. They seem fine, i mean measures the correct resistance.

With Regards,

Anil Ghadiya

0 Kudos

1,742 Views
EricNelson
Senior Contributor II

If you set the SION bits in the MUX_CTL_PAD registers, you can validate that the pins are reading low

in the GPIOx_PSR registers (GP1:5 and GP7:11):

     https://github.com/boundarydevices/u-boot-imx6/blob/production/board/boundary/nitrogen6x/nitrogen6x....

You can use the "mm.l" command in U-Boot to view/change the register values.

1,742 Views
anilghadiya
Contributor II

Hi Eric,

We have tried to read the MUX_CTL_PAD and GPIOx_PSR registers from the u-boot prompt.

But we are getting the same values for all registers.

Could you please take a look and check if we are reading it correctly and what do the read values indicate?

ReadValues.jpg

Thanks in Advance,

Anil Ghadiya

0 Kudos

1,742 Views
EricNelson
Senior Contributor II

The mm.l command expects an address as its argument. You can find the addresses in the reference manual i.MX6DQRM.

0 Kudos

1,742 Views
anilghadiya
Contributor II

Hi Eric,

We have read the below mentioned registers.....

1. IOMUXC_SW_MUX_CTL_PAD_EIM_DATA17 @ addr 0x20E0094

2. IOMUXC_SW_MUX_CTL_PAD_EIM_DATA18 @ addr 0x20E0098

3. IOMUXC_I2C3_SCL_IN_SELECT_INPUT @ addr 0x20E08A8

4. IOMUXC_I2C3_SDA_IN_SELECT_INPUT @ addr 0x20E08AC


5. GPIO1_PSR @ addr 0x209C008

6. GPIO7_PSR @ addr 0x20B4008


Could you please take a look at the read values and see if anything is missing.

Please see the image for corresponding read values.

imx.jpg



Thanks and Regards,

Anil Ghadiya

0 Kudos