
Hi Rogan,
On Thu, Jun 22, 2023 at 7:09 PM Rogan Dawes rogan@dawes.za.net wrote:
I tried to follow your suggestion, but so far I have been unsuccessful.
I cloned Linus' latest source code, and then did:
make ARCH=arm mxs_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- cat arch/arm/boot/zImage ./arch/arm/boot/dts/imx28-evk.dtb > arch/arm/boot/zImage_with_dtb
Do you have access to the Wink Hub v1 board schematics? What about the original U-Boot and kernel source?
You are using imx28-evk.dtb here, but not sure if the console pins are the same for the two boards.
It is better to create a minimal devicetree specific for Wink Hub v1. To start with, you can only describe the duart node there.
cd arch/arm/boot mkimage -T kernel -A arm -O linux -a 0x40008000 -e 0x40008000 -C none -d ./zImage_with_dtb uImage_with_dtb
then copied onto the Wink hub and did:
flash_erase /dev/mtd4 0 0 nandwrite -p -m /dev/mtd4 uImage_with_dtb reboot
I then interrupted u-boot, and had to update the number of bytes read from the mtd4 partition (was 0x00400000, now 0x00600000), as the new kernel was about 4 times larger than the vendor kernel, and I was getting checksum errors due to only partial read of the image.
setenv app_boot 'run appboot_args && nand read ${loadaddr} app-kernel 0x00600000 && bootm ${loadaddr}' run app_boot
NAND read: device 0 offset 0x2b00000, size 0x600000 6291456 bytes read: OK ## Booting kernel from Legacy Image at 42000000 ... Image Name: Created: 2023-06-22 21:37:11 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 6279041 Bytes = 6 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK Loading Kernel Image ... OK
Starting kernel ...
And it stopped there after dumping some garbage to the screen.
You should also pass the kernel command line: console=ttyAMA0,115200n8
As far as I recall, the 2.6.35 kernel used a different console device.
Can you share the U-Boot log of the board booting the 2.6.35 kernel?
I did note that the mxs_defconfig did not define the appended DTB config, so I updated my .config as follows:
$ grep DTB .config CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y # CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
One thing you could also try is to load U-Boot via USB using this tool: https://source.denx.de/denx/mxsldr
To build U-Boot for mx28, please check:
https://source.denx.de/u-boot/u-boot/-/blob/master/doc/imx/common/mxs.txt