Armadilloフォーラム

ハードウェアフロー制御の有効方法について

fumihito_yamaguchi

2019年9月10日 11時04分

いつもお世話になっております。

Armadillo x1 の拡張I/FでUART2(ttymxc1)を使用していますが、
ハードウェアフロー制御の機能有効方法についてご教示頂きたいです。

dtsでは以下を設定しています。

pinctrl_uart2: uart2grp {
fsl,pins = <
MX7D_PAD_LCD_CLK__UART2_DCE_RX 0x70
MX7D_PAD_LCD_ENABLE__UART2_DCE_TX 0x00
MX7D_PAD_LCD_HSYNC__UART2_DCE_RTS 0x00
MX7D_PAD_LCD_VSYNC__UART2_DCE_CTS 0x70
>;
};

&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
assigned-clocks = <&clks IMX7D_UART2_ROOT_SRC>, <&clks IMX7D_UART2_ROOT_DIV>;
assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>;
assigned-clock-rates = <0>, <80000000>;
status = "okay";
};

レジスタ設定など他に設定すべき点があればご教示頂きたいです。
以上、よろしくお願いいたします。

---

山口

ファイル ファイルの説明
armadillo_x1.dts
コメント

y.nakamura

2019年9月10日 11時49分

中村です。

> MX7D_PAD_LCD_HSYNC__UART2_DCE_RTS 0x00
> MX7D_PAD_LCD_VSYNC__UART2_DCE_CTS 0x70

これ、逆ではないでしょうか?
設定値がこれでよいかどうかは、調べてません。

> &uart2 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_uart2>;
> assigned-clocks = <&clks IMX7D_UART2_ROOT_SRC>, <&clks IMX7D_UART2_ROOT_DIV>;
> assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>;
> assigned-clock-rates = <0>, <80000000>;
> status = "okay";
> };

ここに、
fsl,uart-has-rtscts;
が必要だと思います。

他に何か必要かどうかはわかりません。

--
なかむら

fumihito_yamaguchi

2019年9月10日 14時57分

中村さん

早速の返信ありがとうございます。

ご指摘いただいた情報で確認がとれました。
ありがとうございました。

---
山口

fumihito_yamaguchi

2019年9月10日 15時37分

中村さん

追記です。
iMX7のUARTの設定表で、RTS/CTSの入出力の関係が反転しているのを
見逃していました。
こちらの確認不足でお手数をおかけいたしました。

---
山口

ファイル ファイルの説明
UART-port-mapping.PNG