Accessing hardware switches

jdmulloy

New member
Accessing hardware switches/Disabling LEDs

How do I access the hardware switches on the top of the CFA 910? Also is there any way to disable the LEDs short of removing them?

EDIT: I figured out that the switches just generate keyboard key presses which make my life very easy. I'd still like to be able to turn off the LEDs.
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
 
Last edited:

CF Support

Administrator
I'm glad you figured out the how the switches work.

90% of the hardware's attachment to the Linux kernel occurs in /arch/arm/mach-at91/board-cfa10022.c. Essentially this assigns the switches, leds, mmc interfaces, etc. to their drivers (these are the platform driver data structures).

The Linux kernel manages the LEDs once the kernel is running. Before that the LEDs are turned on by the second stage boot loader, BOOT.BIN. The PWR LED turns on no matter what once power is applied. It can be turned off with any of the LEDs at any time after boot. Now, if you need the LEDs to never turn on, you will need to modify the board. If you can live with them turning on briefly at boot, I will tell you how to turn them off once the OS boots. You can then script that into a Linux init script. (You can also modify the kernel, in board-cfa10022.c to set the LEDs' triggers to "none".)

(A little disclaimer: I am traveling at the moment so I do not have a cfa910 in front of me. I am making a best guess at the file paths.)

The LEDs' triggers can be set at runtime using the sys filesystem, sysfs (/sys). This pseudo transcript below should give you the skeleton for your needs.

Code:
root@cfa10022# cat /sys/class/leds/LED0/trigger
none [heartbeat] mmc0 mmc1 eth0 ...
root@cfa10022# echo none >> /sys/class/leds/LED0/trigger
 

jdmulloy

New member
Thanks for the reply. We can live with the LED being on briefly during power up. I'd just prefer to keep them off the rest of the time. I'll take a look at that C file. It looks like the GPIO stuff we need is in there too.
 

jdmulloy

New member
Thanks I got the lights to turn off. Only slight problem I had is that the Power LED interface is located in /sys/class/leds/PWR. LED1-3 follow the pattern you posted.
 
Top