dev.sanko
2023年3月20日 21時47分
お世話になっております。
Armadillo 640において、電源投入後からOS立ち上げ完了までのLEDの制御について質問があります。
デフォルトでは緑LED(LED4)が電源投入後から点灯したままになりますが、滅灯の状態に変更することは可能でしょうか?
また、LED(LED3)を電源投入後から点灯状態にさせることは可能でしょうか?
コメント
dev.sanko
at_mizo
溝渕です。
> しかし、OS起動が始まったタイミングで従来の動作に戻ってしまうのですが、こちらは制御可能でしょうか?
可能です。
boot loaderがOSを起動した後のLED制御は、Linuxカーネルとuserlandそれぞれで指定する必要があります。
Linuxカーネルでは、Device TreeでLEDの初期設定を指定しています。該当するnodeは次の通りです。
arch/arm/boot/dts/armadillo-640.dts
gpio-leds {
以下のドキュメントにある通り、次のように点灯/滅灯を指定できると思います。
Documentation/devicetree/bindings/leds/leds-gpio.txt:
default-state = "on";
default-state = "off";
上記指定をする際、元からある"linux,default-trigger"は削除してください。
userlandについては、以下のマニュアルのようにLEDを制御している所が無いか確認してみてください。
https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…
dev.sanko
at_mizo
2023年3月22日 9時20分
溝渕です。
> デフォルトでは緑LED(LED4)が電源投入後から点灯したままになりますが、滅灯の状態に変更することは可能でしょうか?
可能です。点灯にしている箇所は次の通りです。
gpio_direction_output(GREEN_LED, 1):
でoutput-highにしているので、これを
gpio_direction_output(GREEN_LED, 0);
のように、output-lowに変更することで滅灯になると思います。
> また、LED(LED3)を電源投入後から点灯状態にさせることは可能でしょうか?
可能です。上記同様に、LED3を点灯させる制御を追加してみてください。