Trying to boot custom kernel on Wink Hub (i.MX28)

Rogan Dawes rogan at dawes.za.net
Fri Aug 18 15:45:19 CEST 2023


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 at 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 at gmail.com> wrote:
>
> Hi Rogan,
>
> On Thu, Jun 22, 2023 at 10:03 PM Fabio Estevam <festevam at gmail.com> wrote:
> >
> > Hi Rogan,
> >
> > On Thu, Jun 22, 2023 at 7:43 PM Fabio Estevam <festevam at 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 at 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


More information about the U-Boot mailing list