Roger
2014-Apr-01 03:57 UTC
[Nouveau] CH7007A (AKA CH7006) TV OUT Support for NV11 (NVidia GeForce2 Go Dell I8K Laptop)
I have a Dell Inspiron 8100 laptop (or I8K) with a NVidia Geforce2 Go (or NV11) with an embedded CH7007A chip, and am seeing the following after getting ch7006 kernel driver/module loaded: # dmesg |grep ch7006 -i --- Snip --- [ 21.191147] nouveau [ I2C][0000:01:00.0] detected TV encoder: ch7006 [ 21.404731] ch7006 1-0075: ch7006_probe: [ 21.411672] ch7006 1-0075: Detected version ID: 50 [ 21.421536] ch7006 1-0075: ch7006_encoder_init: [ 21.443870] ch7006 1-0075: ch7006_encoder_save: [ 21.998969] ch7006 1-0075: ch7006_encoder_restore: [ 22.778013] ch7006 1-0075: ch7006_encoder_dpms: [ 23.217163] ch7006 1-0075: ch7006_encoder_detect: [ 23.283738] ch7006 1-0075: ch7006_encoder_dpms: [ 23.283862] ch7006 1-0075: ch7006_encoder_dpms: [ 23.536950] ch7006 1-0075: ch7006_encoder_dpms: [ 24.515223] ch7006 1-0075: ch7006_encoder_detect: --- Snip --- However, nouveau still only sees LVDS-1. I assume this is likely not the ch7006 omitting the required code for enabling TV-OUT? For kicks, I've also tried a ton of options via kernel boot commands: video=LVDS-1:1024x768 at 60 video=VGA-1:800x600 at 60 video=TV-1:e video=TV:e gfxpayload=1024x768x16 selinux=0 nouveau.tv_disable=0 nouveau.tv_norm=NTSC-M nouveau.debug=1 ch7006.debug=1 ch7006.tv_norm=NTSC-M ch7006.scale=2 i2c-algo-bit.bit_test=1 rd.modules-load=i2c-dev rd.modules-load=i2c-i801 rd.modules-load=i2c-smbus Searching & reading the code of ch7006.h/.c, I find ch7006 driver should be setting the S-Video out port to full power usage when any chip ID version is >= 0x20. Since this is 0x50 (?), and the chip specifications are extremely similar (if not identical after comparing the init section), this chip should be activated. (I also ensured i2c-dev was loaded per some other rumors on the net, but doubt it's needed?) -- Roger http://rogerx.freeshell.org/
Ilia Mirkin
2014-Apr-01 18:53 UTC
[Nouveau] CH7007A (AKA CH7006) TV OUT Support for NV11 (NVidia GeForce2 Go Dell I8K Laptop)
I believe that ch7006 is the only external encoder that's supposed to work, so you're in luck. It sounds like it passes the nv04_tv_identify stage of nv04_tv_create -- perhaps it fails later? Although based on the prints, it's even doing dpms stuff (but it hits _detect a second time... odd). Try booting with nouveau.debug=debug drm.debug=0xe That should provide a bunch more output as to what's going on. Are you sure that the output isn't there? Can you check in /sys/class/drm? What precisely doesn't work? On Mon, Mar 31, 2014 at 11:57 PM, Roger <rogerx.oss at gmail.com> wrote:> I have a Dell Inspiron 8100 laptop (or I8K) with a NVidia Geforce2 Go (or NV11) > with an embedded CH7007A chip, and am seeing the following after getting ch7006 > kernel driver/module loaded: > > # dmesg |grep ch7006 -i > > --- Snip --- > [ 21.191147] nouveau [ I2C][0000:01:00.0] detected TV encoder: ch7006 > [ 21.404731] ch7006 1-0075: ch7006_probe: > [ 21.411672] ch7006 1-0075: Detected version ID: 50 > [ 21.421536] ch7006 1-0075: ch7006_encoder_init: > [ 21.443870] ch7006 1-0075: ch7006_encoder_save: > [ 21.998969] ch7006 1-0075: ch7006_encoder_restore: > [ 22.778013] ch7006 1-0075: ch7006_encoder_dpms: > [ 23.217163] ch7006 1-0075: ch7006_encoder_detect: > [ 23.283738] ch7006 1-0075: ch7006_encoder_dpms: > [ 23.283862] ch7006 1-0075: ch7006_encoder_dpms: > [ 23.536950] ch7006 1-0075: ch7006_encoder_dpms: > [ 24.515223] ch7006 1-0075: ch7006_encoder_detect: > --- Snip --- > > However, nouveau still only sees LVDS-1. I assume this is likely not the > ch7006 omitting the required code for enabling TV-OUT? > > For kicks, I've also tried a ton of options via kernel boot commands: > video=LVDS-1:1024x768 at 60 video=VGA-1:800x600 at 60 video=TV-1:e video=TV:e gfxpayload=1024x768x16 selinux=0 nouveau.tv_disable=0 nouveau.tv_norm=NTSC-M nouveau.debug=1 ch7006.debug=1 ch7006.tv_norm=NTSC-M ch7006.scale=2 i2c-algo-bit.bit_test=1 rd.modules-load=i2c-dev rd.modules-load=i2c-i801 rd.modules-load=i2c-smbus > > Searching & reading the code of ch7006.h/.c, I find ch7006 driver should be setting the S-Video out port to full power usage when any chip ID version is >= 0x20. Since this is 0x50 (?), and the chip specifications are extremely similar (if not identical after comparing the init section), this chip should be activated. > > (I also ensured i2c-dev was loaded per some other rumors on the net, but doubt > it's needed?) > > -- > Roger > http://rogerx.freeshell.org/ > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/nouveau
Roger
2014-Apr-01 22:30 UTC
[Nouveau] CH7007A (AKA CH7006) TV OUT Support for NV11 (NVidia GeForce2 Go Dell I8K Laptop)
> On Tue, Apr 01, 2014 at 02:53:02PM -0400, Ilia Mirkin wrote: >I believe that ch7006 is the only external encoder that's supposed to >work, so you're in luck. It sounds like it passes the nv04_tv_identify >stage of nv04_tv_create -- perhaps it fails later? Although based on >the prints, it's even doing dpms stuff (but it hits _detect a second >time... odd). Try booting with > >nouveau.debug=debug drm.debug=0xe > >That should provide a bunch more output as to what's going on. Are you >sure that the output isn't there? Can you check in /sys/class/drm? >What precisely doesn't work?Exactly what I needed to know, if Nouveau was performing a second detection before & after ch7006 initialization, as the ch7006 debug output looked very bleak on information. Going from memory, the ch7006 is registered within /sys/class/drm, and roughly guessing as i2c-1 and nouveau is i2c-0. I'll now go back and enable debugging including your additional advice on using drm.debug=0xe and read through the logging, as well as scanning some of the nouveau code. If I find something interesting, I'll post back. I also have a VGA->SVIDEO/Composite on order; in the case the ch7006 is being successfully turned on (which I see no reason why it shouldn't be on at this point), but instead not the correct format. (ie. SVIDEO, Composite, ...) I only have composite input for displays around here now, and the output on this Dell Laptop is a proprietary type of SVIDEO splitter to SVIDEO, Composite, S/PDIF Audio. (I've heard some hearsay on the web, the TV tuner chip will also provide a modulated TV signal through VGA, but am not sure of this -- for the cost of a $2 connector and including having a more stable connector as well, might be worth it.) Now that I think of it, I think I can still loop SVIDEO OUT into a SVIDEO port on a Canopus ADV-100 capture device I still own! From the ch7006 chip specs, if the device is activated, but did not activate the correct format (ie. SVIDEO, Composite,...), then nothing at all will show on output. But I would think there should be a format activated within the ch7006 /sys files. (ie. S-Video, Composite, ...) Or could be the Dell proprietary splitter performs the SVIDEO/COMP conversion, as it does look big enough and I think it certainly does. -- Roger http://rogerx.freeshell.org/
Reasonably Related Threads
- CH7007A (AKA CH7006) TV OUT Support for NV11 (NVidia GeForce2 Go Dell I8K Laptop)
- CH7007A (AKA CH7006) TV OUT Support for NV11 (NVidia GeForce2 Go Dell I8K Laptop)
- CH7007A (AKA CH7006) TV OUT Support for NV11 (NVidia GeForce2 Go Dell I8K Laptop)
- CH7007A (AKA CH7006) TV OUT Support for NV11 (NVidia GeForce2 Go Dell I8K Laptop)
- [PATCH 1/2] drm/i2c/ch7006: Make some parameter descriptions more useful.