Armadilloフォーラム

UART3を使用できない

y-ogura

2020年7月7日 13時13分

CON2 アドオンインターフェース 2用に拡張基板(UART3を使用する)を作成しました。
 → SLR429M用の拡張基板です。
基板へ電源は供給されており、SLR429Mも動作しています。
カーネルのコンフィグもドキュメントの[7.3.2. UART]を参考に変更されていることを確認し、メージファイル作成後にG3へ書き込みました。

しかしながらG3では認識されず、ttymxc0、ttymxc4、ttymxc6のみでttymxc2は存在しません。

何か設定が不足しているのでしょうか?
設定が不足していなければ回路を変更してみようと思います。

宜しくお願い致します。

ファイル ファイルの説明
修正回路図.pdf 拡張基板の回路図
コメント

at_mitsuhiro.yoshida

2020年7月8日 16時52分

吉田です。

拡張基盤を挿していない状態と挿した状態で
/dev/ttymxc* の増減はありますでしょうか?

y-ogura

2020年7月9日 17時23分

> 拡張基盤を挿していない状態と挿した状態で
> /dev/ttymxc* の増減はありますでしょうか?
作成した基板による増減はございませんが、標準搭載されているRS232の基板に関しては挿していない状態で /dev/ttymxc0が消えます。

その他 /dev/ttymxc4と /dev/ttymxc6のみです。

at_mitsuhiro.yoshida

2020年7月9日 17時37分

吉田です。

Armadillo IoT ゲートウェイ G3 に、販売しているアドオンモジュールを挿した場合、
アドオンモジュール上のEEPROMの内容から、自動認識し動作する様になっております。

独自に拡張基盤を搭載される場合は、上記機構が動きませんので、
搭載する拡張基盤に対応したデバイスツリーを用意する必要があります。

y-ogura

2020年7月10日 9時20分

> 搭載する拡張基盤に対応したデバイスツリーを用意する必要があります。

ありがとうございます。
デバイスツリーの編集ははじめてなのですが、dtsを編集後にビルド したdtbを本体に書き込みましたが変化はございませんでした。
編集内容に関して間違っている箇所があればご指摘いただけると幸いです。

下記dtsファイル追記箇所:
496行目

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog>;
  
  ………
 
		pinctrl_uart3: uart3grp {
			fsl,pins = <
				MX7D_PAD_UART3_TX_DATA__UART3_DCE_TX    0x00
				MX7D_PAD_UART3_RX_DATA__UART3_DCE_RX    0x70
				MX7D_PAD_UART3_RTS_B__UART3_DCE_RTS     0x10
				MX7D_PAD_UART3_CTS_B__UART3_DCE_CTS	0x00
			>;
		};
 
  ……
 
  };
};

578行目

&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3>;
	assigned-clocks = <&clks IMX7D_UART3_ROOT_SRC>;
	assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>;
	fsl,uart-has-rtscts;
	tatus = "okay";
};
ファイル ファイルの説明
armadillo_iotg_g3_m1.dts UART3追記