summaryrefslogtreecommitdiff
path: root/cleopatre/devkit/plcdrv
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/devkit/plcdrv')
-rw-r--r--cleopatre/devkit/plcdrv/src/plcdrv.c40
1 files changed, 24 insertions, 16 deletions
diff --git a/cleopatre/devkit/plcdrv/src/plcdrv.c b/cleopatre/devkit/plcdrv/src/plcdrv.c
index 92de9f475b..513873b2c8 100644
--- a/cleopatre/devkit/plcdrv/src/plcdrv.c
+++ b/cleopatre/devkit/plcdrv/src/plcdrv.c
@@ -101,26 +101,34 @@ static struct net_device *plcdrv_device;
static int
plcdrv_config_afe (const struct net_device *dev)
{
+ struct afe *afe;
int ret;
+ afe = afe_get ();
+ if (afe == NULL)
+ {
+ printk (KERN_ERR "%s: failed to get the AFE.\n", dev->name);
+ return -EFAULT;
+ }
+
#ifdef CONFIG_MACH_ARIZONA
- ret = afe_write_reg (0x03, 0x04)
- || afe_write_reg (0x04, 0x35)
- || afe_write_reg (0x06, 0x44)
- || afe_write_reg (0x0A, 0x7F)
- || afe_write_reg (0x0C, 0x43)
- || afe_write_reg (0x0D, 0x01)
- || afe_write_reg (0x0E, 0x80);
+ ret = afe_write (afe, 0x03, 0x04)
+ || afe_write (afe, 0x04, 0x35)
+ || afe_write (afe, 0x06, 0x44)
+ || afe_write (afe, 0x0A, 0x7F)
+ || afe_write (afe, 0x0C, 0x43)
+ || afe_write (afe, 0x0D, 0x01)
+ || afe_write (afe, 0x0E, 0x80);
#else
- ret = afe_write_reg (0x04, 0x16)
- || afe_write_reg (0x05, 0x80)
- || afe_write_reg (0x07, 0x20)
- || afe_write_reg (0x0A, 0x7F) // TODO: check diff values 9865 / 9867
- || afe_write_reg (0x0B, 0x20)
- || afe_write_reg (0x0C, 0x51) // TODO: check diff values 9865 / 9867
- || afe_write_reg (0x0D, 0x01)
- || afe_write_reg (0x0E, 0x08)
- || afe_write_reg (0x03, 0xF8);
+ ret = afe_write (afe, 0x04, 0x16)
+ || afe_write (afe, 0x05, 0x80)
+ || afe_write (afe, 0x07, 0x20)
+ || afe_write (afe, 0x0A, 0x7F) //TODO: check diff values 9865 / 9867
+ || afe_write (afe, 0x0B, 0x20)
+ || afe_write (afe, 0x0C, 0x51) //TODO: check diff values 9865 / 9867
+ || afe_write (afe, 0x0D, 0x01)
+ || afe_write (afe, 0x0E, 0x08)
+ || afe_write (afe, 0x03, 0xF8);
#endif
if (ret)