Dear contributors,
we are using a custom board with iMX6DL running on it.
We were running 3.0.35 kernel and have decided to move to 3.14.56 due to support of ath10k module.
The u-boot used is 2014.04-rc1 customized for our board.
We made the dts file which is very basic for now, only including the debug UART on ttymxc1 (uart2)
When loading the kernel, I can't get debug outptu, although everything seems (to me at least) properly configured.
Here is the boot output
U-Boot 2014.01-rc3-CP (Nov 25 2015 - 10:56:53)
CPU: Freescale i.MX6DL rev1.1 at 792 MHz
Reset cause: POR
I2C: ready
DRAM: 1 GiB
PMIC: device ID = 10, silicon rev = 11, FABID = 00
NAND: 4096 MiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
SF: Detected AT25DF641 with page size 256 Bytes, erase size 4 KiB, total 8 MiB
In: serial
Out: serial
Err: serial
USB charger configuration
00000000 00 F0 DC 78 45 12 00 18
Vendor ID (expected 0x4X): 45
USB current limit set to 1500mA.
Charge voltage set to 4.2V.
Charge current set to 700mA.
ADC configuration
ADC value = 4032 mV
Over range alert : 0 - Under range alert : 0
FPGA loading
SF: Detected AT25DF641 with page size 256 Bytes, erase size 4 KiB, total 8 MiB
Loading FPGA Device 0...
Done.
SF: Detected AT25DF641 with page size 256 Bytes, erase size 4 KiB, total 8 MiB
Node is docked to the Docking station.
USB HUB configuration...
USB HUB configured.
USB attached.
ITM CPU EEPROM data OK
Mac Address 00:09:99:00:1c:a4
Net: using phy at 7
FEC [PRIME]
Enter password - autoboot in 2 seconds
U-Boot >> tftp 0x18000000 imx6dl-cp8825.dtb; tftp 0x12000000 uImage; bootm 0x12000000 - 0x18000000
Using FEC device
TFTP from server 192.168.5.71; our IP address is 192.168.5.212
Filename 'imx6dl-cp8825.dtb'.
Load address: 0x18000000
Loading: T ######
4.9 KiB/s
done
Bytes transferred = 30572 (776c hex)
Using FEC device
TFTP from server 192.168.5.71; our IP address is 192.168.5.212
Filename 'uImage'.
Load address: 0x12000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#####################
156.3 KiB/s
done
Bytes transferred = 4096168 (3e80a8 hex)
## Booting kernel from Legacy Image at 12000000 ...
Image Name: Linux-3.14.56-cp-rc01
Created: 2015-11-25 17:17:03 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4096104 Bytes = 3.9 MiB
Load Address: 10000000
Entry Point: 10000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 18000000
Booting using the fdt blob at 0x18000000
Loading Kernel Image ... OK
Loading Device Tree to 47ff5000, end 47fff76b ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Here are my dts and dtsi files:
imx6dl-cp8825.dts :
/dts-v1/; #include "imx6dl.dtsi" #include "imx6qdl-cp8825.dtsi" / { model = "CP8825 i.MX6 Dual Lite Board"; compatible = "fsl,imx6dl"; }; };
imx6dl-cp88525.dtsi:
/ { memory { reg = <0x10000000 0x40000000>; }; }; &uart2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart2_1>; status = "okay"; };
my kernel config has been modified to use uart2 for early debug : (see .config file for further details on kernel config)
CONFIG_DEBUG_LL=y
CONFIG_DEBUG_IMX6Q_UART=y
CONFIG_DEBUG_IMX_UART_PORT=2
CONFIG_EARLY_PRINTK=y
my default kernel command string is as is : noinitrd console=ttymxc1,115200n8
and the u-boot bootargs is :
bootargs=console=ttymxc1,115200 nfsrootdebug root=/dev/nfs rw nfsroot=192.168.5.71:/tftpboot/rootfs,nolock ip=192.168.5.212:192.168.5.71::::eth0:off
We use Linaro GCC 4.9.2 (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) )
I can't figure why I can get no output on serial tty
Any hint of what I am doing wrong please ?
Thanks in advance
Regards
Laurent
Original Attachment has been moved to: 1.config.zip
Hi,
Please make sure you have the serial1 = &uart2 in the aliases node and the correct pin configuration.
Can you share the <&pinctrl_uart2_1> description?
Best Regards,
Alejandro
Hi Alejandro,
Thank you for your answer.
I did an include of imx6qdl.dtsi so the pinout and serial assignation are the standard one in kernel 3.14.56. So yes, serial1 = uart2 id included and the pinout is as below :
uart2 { | ||||||
pinctrl_uart2_1: uart2grp-1 { | ||||||
fsl,pins = < | ||||||
MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 | ||||||
MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 | ||||||
>; | ||||||
}; |
}; |
In addition, I made further tests and using the same dts file on my Sabre SD card (changing bootargs and Low Level UART to match ttymxc0 on SabreSD of course)
I found a difference (I don't know if it makes sense) between the two starts of boards :
Loading Device Tree to 47ff5000, end 47fffd72 ... OK
Using Device Tree in place at 18000000, end 1800ad72
As we are using a U-Boot, designed to boot our old 3.0.35 kernel, I don't know if I have to modify some U-Boot settings or args to pass to the kernel at boot to use the DTS file "in place".
Hi,
You have to append the dtb to your zImage so old verions of Uboot see the image as a normal zImage.
Please try that. You can find more information about this at http://free-electrons.com/pub/conferences/2013/elce/petazzoni-device-tree-dummies/petazzoni-device-t...
slide number 8.
Best Regards,
Alejandro