I have created my own board based on imx6q. I downloaded BSP 13.4.1 from freescale, after that i pached the newest patch (13.4.1.04). My board boot up from eMMC. At the end of android booting up, my board printed out as bellow:
init: starting 'dhcpcd_eth0'
eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)
ADDRCONF(NETDEV_UP): eth0: link is not ready
init: processing action 0x2c978 (property:sys.boot_completed=1)
init: command 'write' r=0
init: command 'write' r=-2
init: service 'bootanim' is being killed
init: waitpid returned pid 2385, status = 00000009
init: process 'bootanim', pid 2385 exited
init: waitpid returned pid 2453, status = 00000100
init: process 'dhcpcd_eth0', pid 2453 exited
request_suspend_state: sleep (0->3) at 87805217345 (1970-01-02 01:00:24.988134344 UTC)
it repeats the parrten "US 921600" again and again. My board connect to the computer through the usb port. On the computer's console terminal, i have the result as follow:
1. lsusb --> the result is: 18d1 : 2d02
2. adb devices --> the result is: the devices list attached is blank
So because I don't have adb access. I don't know how to continue debugging. Hope community can help me out. Thanks!!!
P/S: I also attached full console log with the thread.
Original Attachment has been moved to: 25Otc_3.txt.zip
I just try to apply your patch, and the issue still occur. Now i still have no clue for this issue.
About the adb, i change my default.prop in ramdisk as bellow:
Now i can access my board via adb fine.
It seems serial console does not display properly. You can add my patch in
kernel_imx/driver/tty/serial.imx.c . It rounded the possible baudrate to replace original
calculated baudrate because that may cause inaccurate baudrate which can cause serial
console display improperly.
static void __init
imx_console_get_options(struct imx_port *sport, int *baud,
int *parity, int *bits)
|* The next code provides exact computation of|
|* baud_raw = round(((uartclk/16) * (ubir + 1)) / (ubmr + 1))|
|* without need of float support or long long division,|
|* which would be required to prevent 32bit arithmetic overflow|
|unsigned int mul = ubir + 1;|
|unsigned int div = 16 * (ubmr + 1);|
|unsigned int rem = uartclk % div;|
|baud_raw = (uartclk / div) * mul;|
|baud_raw += (rem * mul + div / 2) / div;|
|*baud = (baud_raw + 50) / 100 * 100;|
|//mapping to nearest baudrate to reduce bad output|
|50, 75, 110,134,150,200,300,600,1200,1800,2400,|
|count = (sizeof(baud_maps)/sizeof(baud_maps));|
|compared = *baud;|
|//only cover we wanted baudrate|
|left = baud_maps[i-1];|
|cur = baud_maps[i];|
|delta1 = compared-left;|
|delta2 = cur-compared;|
|compared = (delta1>delta2)?cur:left;|
BTW,you can add below command to enable adbd in default.
# Dsiable adb security for JB4.2.2
setprop ro.adb.secure 0
In the console log, after the kernel starting, i found that my board printed out as bellow:
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
Set periph_clk's parent to pll2_pfd_400M!
So periph change to 400M instead of defaut 528MHz. Perhaps it cause my problem. I will try to apply your patch and report the result soon.