Re: DM1105: could not attach frontend 195d:1105

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Igor wrote:
> Oh, that is wrong. It is registers addresses, Never touch this.
>
> Let's look on that part of code:
>
> /* GPIO's for LNB power control */
> #define DM1105_LNB_MASK                         0x00000000 // later in
code write it to
> DM1105_GPIOCTR, all GPIO's as OUT
> #define DM1105_LNB_OFF                          0x00020000 // later in
code write it to
> DM1105_GPIOVAL, set GPIO17 to HIGH

> But you have not to change this.
> Right way is to write another entry in cards structure and so on.
> Better leave it to me.

> Regards
> Igor

Thanks for all your help, I understand better now.  I have moved to code
like that at the bottom.  It still doesn't work, but feels a lot closer.

Before I keep playing with values, I want to check I'm on the right track.
Does it look right?  Specific questions:
1. I see there is a hw_init function.  Should I be using that?  I put the
logic into fe_attach because there was already card-specific logic in
there.  But this feels like hw initialisation.  

2. Should I set the control to input or output?  I'm assuming input = 1.

3. Would pin 15 be numbered from the left or right - is it 0x4, or 0x2000?

Thanks,

Paul

*** dm1105.c.old        2010-01-13 16:15:00.000000000 +1100
--- dm1105.c    2010-01-21 08:13:14.000000000 +1100
***************
*** 51,56 ****
--- 51,57 ----
  #define DM1105_BOARD_DVBWORLD_2002    1
  #define DM1105_BOARD_DVBWORLD_2004    2
  #define DM1105_BOARD_AXESS_DM05               3
+ #define DM1105_BOARD_UNBRANDED                4
  
  /* ----------------------------------------------- */
  /*
***************
*** 171,176 ****
--- 172,181 ----
  #define DM05_LNB_13V                          0x00020000
  #define DM05_LNB_18V                          0x00030000
  
+ /* GPIO's for demod reset for unbranded 195d:1105 */
+ #define UNBRANDED_DEMOD_MASK                  0x00008000
+ #define UNBRANDED_DEMOD_RESET                 0x00008000
+ 
  static unsigned int card[]  = {[0 ... 3] = UNSET };
  module_param_array(card,  int, NULL, 0444);
  MODULE_PARM_DESC(card, "card type");
***************
*** 206,211 ****
--- 211,219 ----
        [DM1105_BOARD_AXESS_DM05] = {
                .name           = "Axess/EasyTv DM05",
        },
+       [DM1105_BOARD_UNBRANDED] = {
+               .name           = "Unbranded 195d:1105",
+         },
  };
  
  static const struct dm1105_subid dm1105_subids[] = {
***************
*** 229,234 ****
--- 237,246 ----
                .subvendor = 0x195d,
                .subdevice = 0x1105,
                .card      = DM1105_BOARD_AXESS_DM05,
+       }, {
+               .subvendor = 0x195d,
+               .subdevice = 0x1105,
+               .card      = DM1105_BOARD_UNBRANDED,
        },
  };
  
***************
*** 698,703 ****
--- 710,727 ----
                        dm1105dvb->fe->ops.set_voltage =
dm1105dvb_set_voltage;
  
                break;
+       case DM1105_BOARD_UNBRANDED:
+                 printk(KERN_ERR "Attaching as board_unbranded\n");
+               outl(UNBRANDED_DEMOD_MASK, dm_io_mem(DM1105_GPIOCTR));
+               outl(UNBRANDED_DEMOD_RESET , dm_io_mem(DM1105_GPIOVAL));
+               dm1105dvb->fe = dvb_attach(
+                       si21xx_attach, &serit_config,
+                       &dm1105dvb->i2c_adap);
+                       if (dm1105dvb->fe)
+                               dm1105dvb->fe->ops.set_voltage =
+                                       dm1105dvb_set_voltage;
+ 
+               break;
        case DM1105_BOARD_DVBWORLD_2002:
        case DM1105_BOARD_AXESS_DM05:
        default:

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux