
Circling back to this, I wanted to get a modern u-boot running on the Wink Hub v1 as well. Since it is possible to invoke SDP over USB (having soldered on a suitable microUSB connector), I have no concern about bricking it now. It's also a LOT easier than JTAG!
I tried to build and flash the mx28evk_defconfig, but failed to get any output on the serial console. This is likely to be unsurprising, due to the already established alternative configuration of the UART identified by Fabio.
I then patched imx28.dtsi to add duart_pins_c as per Fabio's previous patch for the Linux kernel:
+ duart_pins_c: duart@2 { + reg = <2>; + fsl,pinmux-ids = < + MX28_PAD_I2C0_SCL__DUART_RX + MX28_PAD_I2C0_SDA__DUART_TX + >; + fsl,drive-strength = <MXS_DRIVE_8mA>; + fsl,voltage = <MXS_VOLTAGE_HIGH>; + fsl,pull-up = <MXS_PULL_DISABLE>; + }; +
And updated mx28evk_defconfig to use duart_pins_c instead of duart_pins_a. However, I still got no output after using:
sudo $(which snagrecover) --soc imx28 -f src/snagrecover/templates/imx28-evk.yaml
with u-boot.sb in the current directory.
I also tried using the complete imx28-wink-hub-v1.dts as created by Fabio, and updated the .config to reference that instead of the imx28-evk, but I suspect that I may not have made the updates sufficiently well, if the name of the board needs to correspond with any details of the device tree? Neither of these resulted in any output.
Any other suggestions?
Regards,
Rogan Dawes
On Fri, 23 Jun 2023 at 03:25, Fabio Estevam festevam@gmail.com wrote:
Hi Rogan,
On Thu, Jun 22, 2023 at 10:03 PM Fabio Estevam festevam@gmail.com wrote:
Hi Rogan,
On Thu, Jun 22, 2023 at 7:43 PM Fabio Estevam festevam@gmail.com wrote:
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.
Yes, 2.6.35 uses ttyAM0. Mainline uses ttyAMA0 (note the extra A).
Please adjust it accordingly.
Also, I validated booting a uImage on a imx28-evk using the same procedure.
I used kernel 6.1.34.
$ 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
=> setenv bootargs 'console=ttyAMA0,115200 root=/dev/mmcblk0p3 rw rootwait' => print loadaddr loadaddr=0x42000000 => load mmc 0:2 $loadaddr uImage_with_dtb 5916489 bytes read in 1778 ms (3.2 MiB/s) => bootm ## Booting kernel from Legacy Image at 42000000 ... Image Name: Created: 2023-06-23 1:17:21 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 5916425 Bytes = 5.6 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK Loading Kernel Image
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 6.1.34-00030-ga03745a375fa-dirty (fabio@fabio-Precision-3551) (arm-linux-gnueabihf-gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #31 Thu Jun 22 22:12:44 -03 2023 [ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] OF: fdt: Machine model: Freescale i.MX28 Evaluation Kit ...
Most likely the ttyAMA0 change should allow you to boot.
Cheers