私は SAMA5D31-EK ボードを使用しており、SAMA5D31 内部 PWM コントローラが PIO ピン (具体的には PE31) を介して信号を出力するようにしようとしています。ボードは Linux 3.10.0+ を実行しており、sysfs インターフェイスを使用して PWM を管理しています。このインターフェイスは正しく実行されているようです: デバイスを作成し (「エクスポート」ファイルに書き込み)、アクティブ化し、期間およびデューティ サイクル ファイルの内容を変更できます (読み戻すと、書き込まれた最新の値が含まれます)。PIO PE31 の設定に関しては、arch/arm/boot/dts/sama5d3.dtsi ファイルを含むように変更しました。
pwm0 {
pinctrl_pwml1: pwml1-0 {
atmel,pins =
<AT91_PIOE 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /*PE31*/
};
};
pwm0: pwm@f002c000 {
compatible = "atmel,sama5d3-pwm";
reg = <0xf002c000 0x300>;
interrupts = <28 IRQ_TYPE_LEVEL_HIGH 4>;
#pwm-cells = <3>;
status = "disabled";
};
pwm0 のステータスも sama5d31.dts ファイルで「無効」から「正常」に変更されます
インターネットのどこかで、この動作がこれらの dts ファイルに欠落しているクロック定義に関連している可能性があることを知りました。他のどこかで、3.11 または 3.12 カーネルにアップグレードする必要があると読んだことがあります。
どんな助けでも大歓迎です。
ありがとう、ジョアン。