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

2010-02-23 Thread Nameer Kazzaz

Ok, no problem happy to help.

Nameer


Igor M. Liplianin wrote:

On 23 февраля 2010 15:12:05 Nameer Kazzaz wrote:
  

Sounds cool, let me know if I can help you with anything.

Thanks
Nameer

Hendrik Skarpeid wrote:


No luck here either, still working on it.
My plan is to solder som wires on strategic points on the board and
debug i2c and other activity with an oscilloscope. Will probably start
next week.

Nameer Kazzaz wrote:
  

Hey Igor,
I'm getting the same error:
dm1105 :04:0b.0: could not attach frontend

Did you get your one to work.

Thanks
Nameer

Igor M. Liplianin wrote:


On 18 февраля 2010, liplia...@me.by wrote:
  

I also got the unbranded dm1105 card. I tried the four possible i2c
addresses, just i case. Noen worked of course. Then I traced the i2c
pins on the tuner to pins 100 and 101 on the DM1105.
These are GPIO pins, so bit-banging i2c on these pins seems to be the
solution.

scl = p101 = gpio14
sda = p100 = gpio13


Here is the patch to test. Use option card=4.
modprobe dm1105 card=4
  

I didn't test patch in real hardware.
But I can connect GPIO14 and GPIO13 to SCL and SDA in any dm1105 card and test 
whether it works.
Then I will ask you to test also.

  


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


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

2010-02-23 Thread Nameer Kazzaz

Sounds cool, let me know if I can help you with anything.

Thanks
Nameer

Hendrik Skarpeid wrote:

No luck here either, still working on it.
My plan is to solder som wires on strategic points on the board and 
debug i2c and other activity with an oscilloscope. Will probably start 
next week.


Nameer Kazzaz wrote:

Hey Igor,
I'm getting the same error:
dm1105 :04:0b.0: could not attach frontend

Did you get your one to work.

Thanks
Nameer

Igor M. Liplianin wrote:

On 18 февраля 2010, liplia...@me.by wrote:
 

I also got the unbranded dm1105 card. I tried the four possible i2c
addresses, just i case. Noen worked of course. Then I traced the i2c
pins on the tuner to pins 100 and 101 on the DM1105.
These are GPIO pins, so bit-banging i2c on these pins seems to be the
solution.

scl = p101 = gpio14
sda = p100 = gpio13


Here is the patch to test. Use option card=4.
modprobe dm1105 card=4
  








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


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

2010-02-22 Thread Nameer Kazzaz

Hey Igor,
I'm getting the same error:
dm1105 :04:0b.0: could not attach frontend

Did you get your one to work.

Thanks
Nameer

Igor M. Liplianin wrote:

On 18 февраля 2010, liplia...@me.by wrote:
  

I also got the unbranded dm1105 card. I tried the four possible i2c
addresses, just i case. Noen worked of course. Then I traced the i2c
pins on the tuner to pins 100 and 101 on the DM1105.
These are GPIO pins, so bit-banging i2c on these pins seems to be the
solution.

scl = p101 = gpio14
sda = p100 = gpio13


Here is the patch to test. Use option card=4.
modprobe dm1105 card=4
  


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


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

2010-02-04 Thread Nameer Kazzaz

Igor M. Liplianin wrote:

On 3 февраля 2010 00:07:36 Nameer Kazzaz wrote:
  

Nameer Kazzaz wrote:


Igor M. Liplianin wrote:
  

On 2 февраля 2010 17:21:46 Nameer Kazzaz wrote:


Hi Igor,
What do you think ? if I can help you solve this, let me know
what I
can do.

Thanks
Nameer

Nameer Kazzaz wrote:
  

Hi there,
dmesg output with patched dm1105.c against current v4l-dvb 'modprob
dm1105 card=4'

dm1105 :05:0f.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
DVB: registering new adapter (dm1105)
dm1105 :05:0f.0: MAC dd49b0dc
dm1105 :05:0f.0: could not attach frontend
dm1105 :05:0f.0: PCI INT A disabled

Thanks
Nameer Kazzaz

Igor M. Liplianin wrote:


On 20 ?? 2010 23:20:20 pau...@planar.id.au wrote:
  

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 0x //
later in
  

code write it to



DM1105_GPIOCTR, all GPIO's as OUT
#define DM1105_LNB_OFF  0x0002 //
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.old2010-01-13 16:15:00.0 +1100
--- dm1105.c2010-01-21 08:13:14.0 +1100
***
*** 51,56 
--- 51,57 
  #define DM1105_BOARD_DVBWORLD_20021
  #define DM1105_BOARD_DVBWORLD_20042
  #define DM1105_BOARD_AXESS_DM05   3
+ #define DM1105_BOARD_UNBRANDED4

  /* --- */
  /*
***
*** 171,176 
--- 172,181 
  #define DM05_LNB_13V  0x0002
  #define DM05_LNB_18V  0x0003

+ /* GPIO's for demod reset for unbranded 195d:1105 */
+ #define UNBRANDED_DEMOD_MASK  0x8000
+ #define UNBRANDED_DEMOD_RESET 0x8000
+
  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:


Some things are missed, like keep GPIO15 high in set_voltage
function.
Try attached patch against current v4l-dvb tree with modprobe option
card=4
modprobe dm1105 card=4
  

Hi Nameer,
You can modify sended by me patch to guess GPIO pin. Simply try all
of them, it is only 17. Just replace all appearances DM1105_GPIO(15)
with number you want.


Ok I will do that.

Thanks
Nameer
  

Hi Igor,
  

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

2010-02-02 Thread Nameer Kazzaz

Nameer Kazzaz wrote:

Igor M. Liplianin wrote:

On 2 февраля 2010 17:21:46 Nameer Kazzaz wrote:
 

Hi Igor,
What do you think ? if I can help you solve this, let me know 
what I

can do.

Thanks
Nameer

Nameer Kazzaz wrote:
   

Hi there,
dmesg output with patched dm1105.c against current v4l-dvb 'modprob
dm1105 card=4'

dm1105 :05:0f.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
DVB: registering new adapter (dm1105)
dm1105 :05:0f.0: MAC dd49b0dc
dm1105 :05:0f.0: could not attach frontend
dm1105 :05:0f.0: PCI INT A disabled

Thanks
Nameer Kazzaz

Igor M. Liplianin wrote:
 

On 20 ?? 2010 23:20:20 pau...@planar.id.au wrote:
   

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 0x // 
later in


code write it to

 

DM1105_GPIOCTR, all GPIO's as OUT
#define DM1105_LNB_OFF  0x0002 // 
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.old2010-01-13 16:15:00.0 +1100
--- dm1105.c2010-01-21 08:13:14.0 +1100
***
*** 51,56 
--- 51,57 
  #define DM1105_BOARD_DVBWORLD_20021
  #define DM1105_BOARD_DVBWORLD_20042
  #define DM1105_BOARD_AXESS_DM05   3
+ #define DM1105_BOARD_UNBRANDED4

  /* --- */
  /*
***
*** 171,176 
--- 172,181 
  #define DM05_LNB_13V  0x0002
  #define DM05_LNB_18V  0x0003

+ /* GPIO's for demod reset for unbranded 195d:1105 */
+ #define UNBRANDED_DEMOD_MASK  0x8000
+ #define UNBRANDED_DEMOD_RESET 0x8000
+
  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:
  
Some things are missed, like keep GPIO15 high in set_voltage 
function.

Try attached patch against current v4l-dvb tree with modprobe option
card=4
modprobe dm1105 card=4


Hi Nameer,
You can modify sended by me patch to guess GPIO pin. Simply try all 
of them, it is only 17. Just replace all appearances DM1105_GPIO(15) 
with number you want.
  

Ok I will do that.

Thanks
Nameer

Hi Igor,
   I tried all DM1105_GPIO(0) to DM1105_GPIO(17), same error. Any Idea ?

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


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

2010-02-02 Thread Nameer Kazzaz

Igor M. Liplianin wrote:

On 2 февраля 2010 17:21:46 Nameer Kazzaz wrote:
  

Hi Igor,
What do you think ? if I can help you solve this, let me know what I
can do.

Thanks
Nameer

Nameer Kazzaz wrote:


Hi there,
dmesg output with patched dm1105.c against current v4l-dvb 'modprob
dm1105 card=4'

dm1105 :05:0f.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
DVB: registering new adapter (dm1105)
dm1105 :05:0f.0: MAC dd49b0dc
dm1105 :05:0f.0: could not attach frontend
dm1105 :05:0f.0: PCI INT A disabled

Thanks
Nameer Kazzaz

Igor M. Liplianin wrote:
  

On 20 ?? 2010 23:20:20 pau...@planar.id.au wrote:


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 0x // later in


code write it to

  

DM1105_GPIOCTR, all GPIO's as OUT
#define DM1105_LNB_OFF  0x0002 // 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.old2010-01-13 16:15:00.0 +1100
--- dm1105.c2010-01-21 08:13:14.0 +1100
***
*** 51,56 
--- 51,57 
  #define DM1105_BOARD_DVBWORLD_20021
  #define DM1105_BOARD_DVBWORLD_20042
  #define DM1105_BOARD_AXESS_DM05   3
+ #define DM1105_BOARD_UNBRANDED4

  /* --- */
  /*
***
*** 171,176 
--- 172,181 
  #define DM05_LNB_13V  0x0002
  #define DM05_LNB_18V  0x0003

+ /* GPIO's for demod reset for unbranded 195d:1105 */
+ #define UNBRANDED_DEMOD_MASK  0x8000
+ #define UNBRANDED_DEMOD_RESET 0x8000
+
  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:
  

Some things are missed, like keep GPIO15 high in set_voltage function.
Try attached patch against current v4l-dvb tree with modprobe option
card=4
modprobe dm1105 card=4


Hi Nameer,
You can modify sended by me patch to guess GPIO pin. Simply try all of them, it is only 17. 
Just replace all appearances DM1105_GPIO(15) with number you want.
  

Ok I will do that.

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


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

2010-02-02 Thread Nameer Kazzaz

Hi Igor,
   What do you think ? if I can help you solve this, let me know what I 
can do.


Thanks
Nameer

Nameer Kazzaz wrote:

Hi there,
dmesg output with patched dm1105.c against current v4l-dvb 'modprob 
dm1105 card=4'


dm1105 :05:0f.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
DVB: registering new adapter (dm1105)
dm1105 :05:0f.0: MAC dd49b0dc
dm1105 :05:0f.0: could not attach frontend
dm1105 :05:0f.0: PCI INT A disabled

Thanks
Nameer Kazzaz

Igor M. Liplianin wrote:

On 20 ?? 2010 23:20:20 pau...@planar.id.au wrote:
 

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 0x // later in
  

code write it to

   

DM1105_GPIOCTR, all GPIO's as OUT
#define DM1105_LNB_OFF  0x0002 // 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.old2010-01-13 16:15:00.0 +1100
--- dm1105.c2010-01-21 08:13:14.0 +1100
***
*** 51,56 
--- 51,57 
  #define DM1105_BOARD_DVBWORLD_20021
  #define DM1105_BOARD_DVBWORLD_20042
  #define DM1105_BOARD_AXESS_DM05   3
+ #define DM1105_BOARD_UNBRANDED4

  /* --- */
  /*
***
*** 171,176 
--- 172,181 
  #define DM05_LNB_13V  0x0002
  #define DM05_LNB_18V  0x0003

+ /* GPIO's for demod reset for unbranded 195d:1105 */
+ #define UNBRANDED_DEMOD_MASK  0x8000
+ #define UNBRANDED_DEMOD_RESET 0x8000
+
  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:


Some things are missed, like keep GPIO15 high in set_voltage function.
Try attached patch against current v4l-dvb tree with modprobe option 
card=4

modprobe dm1105 card=4
  




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


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

2010-02-01 Thread Nameer Kazzaz

Hi there,
dmesg output with patched dm1105.c against current v4l-dvb 'modprob 
dm1105 card=4'


dm1105 :05:0f.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
DVB: registering new adapter (dm1105)
dm1105 :05:0f.0: MAC dd49b0dc
dm1105 :05:0f.0: could not attach frontend
dm1105 :05:0f.0: PCI INT A disabled

Thanks
Nameer Kazzaz

Igor M. Liplianin wrote:

On 20 ?? 2010 23:20:20 pau...@planar.id.au wrote:
  

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 0x // later in
  

code write it to



DM1105_GPIOCTR, all GPIO's as OUT
#define DM1105_LNB_OFF  0x0002 // 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.old2010-01-13 16:15:00.0 +1100
--- dm1105.c2010-01-21 08:13:14.0 +1100
***
*** 51,56 
--- 51,57 
  #define DM1105_BOARD_DVBWORLD_20021
  #define DM1105_BOARD_DVBWORLD_20042
  #define DM1105_BOARD_AXESS_DM05   3
+ #define DM1105_BOARD_UNBRANDED4

  /* --- */
  /*
***
*** 171,176 
--- 172,181 
  #define DM05_LNB_13V  0x0002
  #define DM05_LNB_18V  0x0003

+ /* GPIO's for demod reset for unbranded 195d:1105 */
+ #define UNBRANDED_DEMOD_MASK  0x8000
+ #define UNBRANDED_DEMOD_RESET 0x8000
+
  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:


Some things are missed, like keep GPIO15 high in set_voltage function.
Try attached patch against current v4l-dvb tree with modprobe option card=4
modprobe dm1105 card=4
  


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