|
@@ -6,8 +6,8 @@
|
|
|
* could probably support others (Winbond WEC102X, NatSemi, etc)
|
|
|
* with minor modifications.
|
|
|
*
|
|
|
- * Original Author: David Härdeman <david@hardeman.nu>
|
|
|
- * Copyright (C) 2009 - 2010 David Härdeman <david@hardeman.nu>
|
|
|
+ * Original Author: David Härdeman <david@hardeman.nu>
|
|
|
+ * Copyright (C) 2009 - 2011 David Härdeman <david@hardeman.nu>
|
|
|
*
|
|
|
* Dedicated to my daughter Matilda, without whose loving attention this
|
|
|
* driver would have been finished in half the time and with a fraction
|
|
@@ -876,18 +876,8 @@ wbcir_init_hw(struct wbcir_data *data)
|
|
|
/* prescaler 1.0, tx/rx fifo lvl 16 */
|
|
|
outb(0x30, data->sbase + WBCIR_REG_SP3_EXCR2);
|
|
|
|
|
|
- /* Set baud divisor to generate one byte per bit/cell */
|
|
|
- switch (protocol) {
|
|
|
- case IR_PROTOCOL_RC5:
|
|
|
- outb(0xA7, data->sbase + WBCIR_REG_SP3_BGDL);
|
|
|
- break;
|
|
|
- case IR_PROTOCOL_RC6:
|
|
|
- outb(0x53, data->sbase + WBCIR_REG_SP3_BGDL);
|
|
|
- break;
|
|
|
- case IR_PROTOCOL_NEC:
|
|
|
- outb(0x69, data->sbase + WBCIR_REG_SP3_BGDL);
|
|
|
- break;
|
|
|
- }
|
|
|
+ /* Set baud divisor to sample every 10 us */
|
|
|
+ outb(0x0F, data->sbase + WBCIR_REG_SP3_BGDL);
|
|
|
outb(0x00, data->sbase + WBCIR_REG_SP3_BGDH);
|
|
|
|
|
|
/* Set CEIR mode */
|
|
@@ -896,9 +886,9 @@ wbcir_init_hw(struct wbcir_data *data)
|
|
|
inb(data->sbase + WBCIR_REG_SP3_LSR); /* Clear LSR */
|
|
|
inb(data->sbase + WBCIR_REG_SP3_MSR); /* Clear MSR */
|
|
|
|
|
|
- /* Disable RX demod, run-length encoding/decoding, set freq span */
|
|
|
+ /* Disable RX demod, enable run-length enc/dec, set freq span */
|
|
|
wbcir_select_bank(data, WBCIR_BANK_7);
|
|
|
- outb(0x10, data->sbase + WBCIR_REG_SP3_RCCFG);
|
|
|
+ outb(0x90, data->sbase + WBCIR_REG_SP3_RCCFG);
|
|
|
|
|
|
/* Disable timer */
|
|
|
wbcir_select_bank(data, WBCIR_BANK_4);
|