RPi 4B : u-boot et Device Tree pour activer le port série PL011 comme port console

Bonjour,

J’essaye d’utiliser le port série PL011 (UART0) comme port console de ma carte RPi 4B.

Je fais du Linux embaqué.

J’utilise u-boot pour configurer et démarrer mon noyau Linux que je compiile à partir des sources.

Quand j’utilise le Device Tree issu du firmware de la RPi4 combiné au fichier config.txt, j’arrive à démarrer la carte et avoir un login sur le port série de la carte (broches GPIO14 et GPIO15). Ce Device Tree DTB est stocké à l’adresse ${fdt_addr} depuis u-boot.

J’essaye maintenant de reconstruire un Device Tree DTB à partir du fichier source DTS contenu dans les sources du noyau Linux 6.0.y, le fichier arch/arm/boot/dts/bcm2711-rpi-4-b.dts.
Depuis u-boot, le fichier DTB bcm2711-rpi-4-b.dtb est téléchargé à l’adresse ${fdt_addr_r}. Quand je boote mon noyau avec u-boot et ce fichier DTB que j’ai généré, dans ce cas, j’ai bien les traces de boot sur le port série mais je n’arrive pas à me connecter sur le port.

La carte est opérationnelle car je m’y connecte à distance.
Le fichier /dev/ttyAMA0 existe bien.

Je peux émettre des caractères sur /dev/ttyAMA0 par :

echo toto >/dev/ttyAMA0

mais je ne peux rien recevoir quand je fais :

cat < /dev/ttyAMA0

et que j’envoie des caractères sur la liaison série.

J’ai mis dans le fichier :
/* uart0 communicates with the BT module */
&uart0 {
pinctrl-names = « default »;
pinctrl-0 = <&uart0_gpio14>;
status = « okay »;
};

/* uart1 is mapped to the pin header */
&uart1 {
status = « disabled »;
};

Qu’est-ce qui cloche ?
Merci pour votre aide.
++