summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/calypso/uwire.c
diff options
context:
space:
mode:
authorSteve Markgraf2010-03-11 22:16:22 +0100
committerHarald Welte2010-03-12 03:54:56 +0100
commita13a4fda926aa272e55964c8f86cb31fb4065995 (patch)
tree7f0588ee586557e1f5c0694af980ee578fe718b4 /src/target/firmware/calypso/uwire.c
parentremove bogus source files in top level src directory (diff)
downloadosmocom-a13a4fda926aa272e55964c8f86cb31fb4065995.tar.gz
osmocom-a13a4fda926aa272e55964c8f86cb31fb4065995.tar.xz
osmocom-a13a4fda926aa272e55964c8f86cb31fb4065995.zip
uwire: add a chip-select for CS0, needed by the J100i display
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Diffstat (limited to 'src/target/firmware/calypso/uwire.c')
-rw-r--r--src/target/firmware/calypso/uwire.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/target/firmware/calypso/uwire.c b/src/target/firmware/calypso/uwire.c
index ebdd277..b79d9f3 100644
--- a/src/target/firmware/calypso/uwire.c
+++ b/src/target/firmware/calypso/uwire.c
@@ -94,6 +94,10 @@ int uwire_xfer(int cs, int bitlen, const void *dout, void *din)
printd("uwire_xfer(dev_idx=%u, bitlen=%u\n", cs, bitlen);
+ /* select the chip */
+ writew(UWIRE_CSR_IDX(0) | UWIRE_CSR_CS_CMD, UWIRE_REG(REG_CSR));
+ _uwire_wait(UWIRE_CSR_CSRB, 0);
+
if (dout) {
if (bitlen <= 8)
tmp = *(uint8_t *)dout;
@@ -122,6 +126,9 @@ int uwire_xfer(int cs, int bitlen, const void *dout, void *din)
else if (bitlen <= 16)
*(uint16_t *)din = tmp & 0xffff;
}
+ /* unselect the chip */
+ writew(UWIRE_CSR_IDX(0) | 0, UWIRE_REG(REG_CSR));
+ _uwire_wait(UWIRE_CSR_CSRB, 0);
printd(")\n");