Hello, For the few last days I'm struggling with AMD CS5536 Southbridge and GPIOs. It's a part of PCM 3353, a 3,5" biscuit PC by Advantech (http://taiwan.advantech.com.tw/unzipfunc/unziplit.asp?Literature_ID=1-1T5E7Y - here you can take a look to datasheet) What I'm trying to do is to get GPIO running on PLD Linux with kernel 2.6.23.1. Advantech brought some drivers, but they are binary verions compiled against kernel 2.4.8-20 which makes them useless. I compiled Ben Gardners CS5535/CS5536 driver, but got no results. Here are the steps I took: 1. Compiled Ben's driver as module and loaded it - dmesg says that base=0x6100 and major=253 2. Created device nodes under /dev/gpio: #mknod -m660 /dev/gpio/1 c 253 1 .... 3. Wrote simple program to read/write GPIO registers. Reading /dev/gpio/1 gives following result: 0IoTPd, which means output value=0, input enabled, output disabled, open-drain disabled, weak pull-up enabled, weak pull-down disabled. I am able to disable input and enable output, but this is the only action I can take. Every other gives no result, I mean, it seems like the new values are not being written to registers. If I write "1iOTPd", which means 1 as output, input disabled, output enabled, there are no changes being made. I read the old value, which is 0IoTPd. In AMD CS5563 Data Book I found register named GPIO Low Bank Lock Enable, which purpose is to protect other registers against accidental changes. I thought it may be the cause, but later found that there are already 0's, so protection is disabled. I almost forgot - the voltage level on GPIO pins is +5V, no matter if particular GPIO is set as output or input. Did anybody had similar problem? Any help highly appreciated. Martin kurk@hell.net.pl
Problem with AMD CS5536 and GPIOs / Advantech PCM 3353
Started by ●December 2, 2007