[U-Boot] [BUG] booting on the Tinker Board (tinker-rk3288_defconfig) is broken

David Wu david.wu at rock-chips.com
Tue Feb 12 11:53:33 UTC 2019

Hi Heinrich,

在 2019/2/10 上午12:39, Heinrich Schuchardt 写道:
> On 2/9/19 4:24 PM, Philipp Tomsich wrote:
>>> On 09.02.2019, at 16:08, Philipp Tomsich <philipp.tomsich at theobroma-systems.com> wrote:
>>> Heinrich,
>>> My guess is that this is fallout from David Wu’s new pinctrl driver
>>> (which has really been the bulk of changes in this cycle).  I can’t
>>> test or debug on the rk3288 due to a lack of hardware.
>> If you want to start digging, that the changes in
>>> commit 08c817c39908f9d120df1e4c90ddad4a11fc3891
>>> Author: David Wu <david.wu at rock-chips.com>
>>> Date:   Wed Jan 2 20:51:00 2019 +0800
>>>      ARM: rockchip: Remove the pinctrl request at rk3288-board-spl
>>>      If we use the new pinctrl driver, the pinctrl setup will be done
>>>      by device probe. Remove the pinctrl setup at rk3288-board-spl.
>>>      Signed-off-by: David Wu <david.wu at rock-chips.com>
>>>      Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
>>>      Reviewed-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>> look like they have the potential to break everything, including the
>> UART pinctrl.
>> Thanks,
>> Philipp.,
> Hello Philipp,
> I would not know how to analyze the bug if there isn't even a console.

The reason i see, that is the u-boot-spl-dtb.bin is too large for 
bootrom, while supports full pinctrl at SPL stage.

Compared to the popmetal-rk3288_defconfig, CONFIG_SPL_I2C_SUPPORT is not 
enabled at PopMetal. Remove this config to reduces the spl bin size, 
makes the Tinker board to boot. As the tinker does not use the i2c to 
read the MAC address from eeprom at the SPL stage, which is at uboot.

Another thing is that I missed a patch, for the 3288 gpio0, its iomux is 
special, there is no high 16-bit write-enabled bit. For Tinker board, it 
uses I2C0, the current driver will overwrite the I2C0 iomux, while 
request the GPIO0A4. It requires a patch.

> If David or you send me a git branch to compile I will test it.
> Has any of the rk3288 boards been tested before merging?

I tested the patch at RK3288 PopMetal board once, and just tested one 
board for per Soc, i didn't have a Tinker board in my hand to verify it.
The new pinctrl driver could work at PopMetal:

U-Boot SPL 2019.01-rc1-00009-gdd7b9156fe (Feb 12 2019 - 09:33:17 +0800)
Returning to boot ROM...

U-Boot 2019.01-rc1-00009-gdd7b9156fe (Feb 12 2019 - 09:33:17 +0800)

Model: PopMetal-RK3288
DRAM:  2 GiB
MMC:   dwmmc at ff0c0000: 1, dwmmc at ff0f0000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default 

In:    serial
Out:   serial
Err:   serial
Model: PopMetal-RK3288
Net:   eth-1: ethernet at ff290000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0(part 0) is current device
** No partition table - mmc 0 **
Card did not respond to voltage select!
starting USB...
USB0:   scanning bus 0 for devices... 2 USB Device(s) found
        scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
No ethernet found.

> I think we should keep Simon in CC as he is one of the ROCKCHIP maintainers.
> Best regards
> Heinrich

More information about the U-Boot mailing list