Problem with AMD CS5536 and GPIOs / Advantech PCM 3353

Hello,

For the few last days I'm struggling with AMD CS5536 Southbridge an GPIOs. It's a part of PCM 3353, a 3,5" biscuit PC by Advantech

formatting link

- here you can take a look to datasheet) What I'm trying to do is to ge GPIO running on PLD Linux with kernel 2.6.23.1. Advantech brought some drivers, but they are binary verions compile 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 tha 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 actio I can take. Every other gives no result, I mean, it seems like the ne values are not being written to registers. If I write "1iOTPd", which means 1 as output, input disabled, outpu enabled, there are no changes being made. I read the old value, which i 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. 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 i particular GPIO is set as output or input.

Did anybody had similar problem? Any help highly appreciated.

Martin snipped-for-privacy@hell.net.pl

Reply to
Rakietka
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.