tak73099
2024年8月14日 14時04分
お世話になっております。
Armadillo-IoT A6で、CON3のピン9,11をDevice Treeで変更しUART1として使用しております。
通信はできているのですが、接続するハードウェアの都合上、これらのピンでプルアップ抵抗を有効にする必要があります。
Device Treeでプルアップ抵抗を有効にするための具体的な修正方法について教えていただけますでしょうか?
可能であれば、設定例を提供していただけると助かります。
(dtsファイルを編集し、プロパティを追加する方法がありそうなところまではたどり着いたのですが、それが正しいかどうか判断できませんでした)
以上、ご回答の程、よろしくお願いします。
コメント
tak73099
at_dominique.m…
2024年8月14日 14時36分
tak73099さん
お世話になっています、
マルティネです。
> Armadillo-IoT A6で、CON3のピン9,11をDevice Treeで変更しUART1として使用しております。
> 通信はできているのですが、接続するハードウェアの都合上、これらのピンでプルアップ抵抗を有効にする必要があります。
>
> Device Treeでプルアップ抵抗を有効にするための具体的な修正方法について教えていただけますでしょうか?
> 可能であれば、設定例を提供していただけると助かります。
> (dtsファイルを編集し、プロパティを追加する方法がありそうなところまではたどり着いたのですが、それが正しいかどうか判断できませんでした)
Armadillo-IoT A6 での内部 pull upの設定は pinctrl で変更可能です。
設定値の詳細は i.MX6ULL の reference manual を参考にできればと思います(pull up 抵抗の値はいくつかありますので)、関係にあるページを添付させていただきました。
具体的に uart1 の fsl,pins の値を変更してください。
現在の UART1 の設定はどういう方法で行ったかによりますが、例えば at-dtweb で uart1 を有効にした場合には linux のソースツリーに 「 arch/arm/boot/dts/armadillo-iotg-a6-expansion-interface.dtsi 」というファイルが生成されて、デフォルトの pinctrl の設定は以下のとおりになります(コメントに CON7が書いてありますが CON3 ですね…):
例えば 100K Ohm の pull up を設定し、 pull として有効にする場合は 14-15 bit目に 10 を、12 と13 bit 目に 1 を設定する必要がありますので上記の値に 0xb000 を設定すればいいです。
RX のピン 11 の pull up はすでに設定されていますね。
TX のピンは output になっているため pull up の意味がないという認識です。
ということで:
- at-dtweb 意外の方法で uart1 を設定した場合は at-dtweb で生成された dts を参考にして使ってください。 at-dtweb の使い方はマニュアルに説明されています: https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…
- すでに at-dtweb を利用した上での dts でしたら、pull up がすでに設定されていますが抵抗の値を変更できますのでそれを試してみてください。
(dts を変更した後に「
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
」で dtb を再生成して、ビルドした dtb を armadillo に転送するだけでいいです)何か具体的に困っている点があれば教えてください。
よろしくお願いします。