[U-Boot] Question regarding early pinctrl and driver model in u-boot

Lukasz Majewski
2018-12-03T22:13:00Z

Dear All,

I've stumbled upon a following issue:

- I do have a vybrid SoC which is not using SPL. It only uses U-boot
proper (u-boot.vyb).

- In the board_early_init_f() (when we are still in SRAM) I do perform
pinctrl (pinmux) setup for UART1 (this is the console device).

- I also do use ucalss-serial.c for this device and have proper pinmux
definition for it in the *.dts file - but this is done latter.

The problem is that, when I try to remove pinmux setup code
(imx_iomux_v3_setup_multiple_pads()) from board_early_init_f(), then I
do see uart output late (no U-boot early output - U-Boot
2018.11-00052-g6552299a40-dirty (Nov 23 2018 - 16:13:51 +0100)).

The reason for this is the lack of pinctrl UART pins setup.

Do you see any idea how to move to full dts support for uart? The uart
driver and pinmux have defined DM_FLAG_PRE_RELOC.

The same kind of problem I do have with DDR memory controller pin
setup. It would be nice to have it all in DTS, not in a board file.

[ My idea would be to manually extract relevant data from fdt blob and
configure pins in board_early_init_f(), but this looks like a hack -
maybe there is another, better solution? ]

Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181203/2d8af1b4/attachment.sig>