* PATCH V3.5 1/2] dvbsky: add support for "Mygica T230C v2"
@ 2019-07-09 18:39 Jan Pieter van Woerkom
2019-07-09 18:42 ` [PATCH V3.5 2/2] " Jan Pieter van Woerkom
2019-07-15 21:21 ` PATCH V3.5 1/2] " Sean Young
0 siblings, 2 replies; 5+ messages in thread
From: Jan Pieter van Woerkom @ 2019-07-09 18:39 UTC (permalink / raw)
To: linux-media
Cc: Michael Ira Krufky, Antti Palosaari, Sean Young, Frantisek Rysanek
From: Jan Pieter van Woerkom <jp@jpvw.nl>
Adds support for the "Mygica T230C v2" into the "dvbsky" driver.
A small enhancement is also needed in the si2168 demodulator
driver, and a USB device ID in dvb-usb-ids.h .
This is v3.5 of the proposed patch, based on feedback from Sean
Young and Antti Palosaari.
Tested by patch author on DVB(T/T2/C).
Tested by Frank Rysanek on a T230C v2: can tune into locally
available DVB-T and DVB-T2 muxes, video and audio playback works.
Applies cleanly against Linux 5.2 .
The T230C v2 hardware needs a mode of the si2168 chip to be
set for which the si2168 driver previously had no support.
This patch uses a specific measure to configure this on the
T230C v2 hardware only - see the flag passed via the ts_mode
attribute and its dependency on USB_PID_MYGICA_T230C2. Other
devices using the si2168 demodulator driver are not affected.
Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
Tested-by: Frank Rysanek <Frantisek.Rysanek@post.cz>
---
diff -ru a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
--- a/drivers/media/dvb-frontends/si2168.c 2019-07-08 00:41:56.000000000 +0200
+++ b/drivers/media/dvb-frontends/si2168.c 2019-07-09 18:47:59.514873658 +0200
@@ -82,8 +82,18 @@
dev_dbg(&client->dev, "%s acquire: %d\n", __func__, acquire);
+ /* set manual value */
+ if (dev->ts_mode & SI2168_TS_CLK_MANUAL) {
+ memcpy(cmd.args, "\x14\x00\x0d\x10\xe8\x03", 6);
+ cmd.wlen = 6;
+ cmd.rlen = 4;
+ ret = si2168_cmd_execute(client, &cmd);
+ if (ret)
+ return ret;
+ }
/* set TS_MODE property */
- memcpy(cmd.args, "\x14\x00\x01\x10\x10\x00", 6);
+ memcpy(cmd.args, "\x14\x00\x01\x10\x00\x00", 6);
+ cmd.args[4] = dev->ts_mode & (SI2168_TS_CLK_AUTO|SI2168_TS_CLK_MANUAL);
if (acquire)
cmd.args[4] |= dev->ts_mode;
else
diff -ru a/drivers/media/dvb-frontends/si2168.h b/drivers/media/dvb-frontends/si2168.h
--- a/drivers/media/dvb-frontends/si2168.h 2019-07-08 00:41:56.000000000 +0200
+++ b/drivers/media/dvb-frontends/si2168.h 2019-07-09 18:47:59.514873658 +0200
@@ -30,6 +30,8 @@
#define SI2168_TS_PARALLEL 0x06
#define SI2168_TS_SERIAL 0x03
#define SI2168_TS_TRISTATE 0x00
+#define SI2168_TS_CLK_AUTO 0x10
+#define SI2168_TS_CLK_MANUAL 0x20
u8 ts_mode;
/* TS clock inverted */
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH V3.5 2/2] dvbsky: add support for "Mygica T230C v2"
2019-07-09 18:39 PATCH V3.5 1/2] dvbsky: add support for "Mygica T230C v2" Jan Pieter van Woerkom
@ 2019-07-09 18:42 ` Jan Pieter van Woerkom
2019-07-15 21:21 ` PATCH V3.5 1/2] " Sean Young
1 sibling, 0 replies; 5+ messages in thread
From: Jan Pieter van Woerkom @ 2019-07-09 18:42 UTC (permalink / raw)
To: linux-media
Cc: Michael Ira Krufky, Antti Palosaari, Sean Young, Frantisek Rysanek
From: Jan Pieter van Woerkom <jp@jpvw.nl>
Adds support for the "Mygica T230C v2" into the "dvbsky" driver.
Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
Tested-by: Frank Rysanek <Frantisek.Rysanek@post.cz>
---
diff -ru a/drivers/media/usb/dvb-usb-v2/dvbsky.c b/drivers/media/usb/dvb-usb-v2/dvbsky.c
--- a/drivers/media/usb/dvb-usb-v2/dvbsky.c 2019-07-08 00:41:56.000000000 +0200
+++ b/drivers/media/usb/dvb-usb-v2/dvbsky.c 2019-07-09 18:48:08.442890061 +0200
@@ -551,6 +551,8 @@
si2168_config.i2c_adapter = &i2c_adapter;
si2168_config.fe = &adap->fe[0];
si2168_config.ts_mode = SI2168_TS_PARALLEL;
+ if (le16_to_cpu(d->udev->descriptor.idProduct) == USB_PID_MYGICA_T230C2)
+ si2168_config.ts_mode |= SI2168_TS_CLK_MANUAL;
si2168_config.ts_clock_inv = 1;
state->i2c_client_demod = dvb_module_probe("si2168", NULL,
@@ -790,6 +792,9 @@
{ DVB_USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230C,
&mygica_t230c_props, "MyGica Mini DVB-T2 USB Stick T230C",
RC_MAP_TOTAL_MEDIA_IN_HAND_02) },
+ { DVB_USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230C2,
+ &mygica_t230c_props, "MyGica Mini DVB-T2 USB Stick T230C v2",
+ RC_MAP_TOTAL_MEDIA_IN_HAND_02) },
{ }
};
MODULE_DEVICE_TABLE(usb, dvbsky_id_table);
diff -ru a/include/media/dvb-usb-ids.h b/include/media/dvb-usb-ids.h
--- a/include/media/dvb-usb-ids.h 2019-07-08 00:41:56.000000000 +0200
+++ b/include/media/dvb-usb-ids.h 2019-07-09 18:48:08.442890061 +0200
@@ -388,6 +388,7 @@
#define USB_PID_MYGICA_D689 0xd811
#define USB_PID_MYGICA_T230 0xc688
#define USB_PID_MYGICA_T230C 0xc689
+#define USB_PID_MYGICA_T230C2 0xc68a
#define USB_PID_ELGATO_EYETV_DIVERSITY 0x0011
#define USB_PID_ELGATO_EYETV_DTT 0x0021
#define USB_PID_ELGATO_EYETV_DTT_2 0x003f
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PATCH V3.5 1/2] dvbsky: add support for "Mygica T230C v2"
2019-07-09 18:39 PATCH V3.5 1/2] dvbsky: add support for "Mygica T230C v2" Jan Pieter van Woerkom
2019-07-09 18:42 ` [PATCH V3.5 2/2] " Jan Pieter van Woerkom
@ 2019-07-15 21:21 ` Sean Young
2019-07-16 3:11 ` JP
1 sibling, 1 reply; 5+ messages in thread
From: Sean Young @ 2019-07-15 21:21 UTC (permalink / raw)
To: Jan Pieter van Woerkom
Cc: linux-media, Michael Ira Krufky, Antti Palosaari, Frantisek Rysanek
On Tue, Jul 09, 2019 at 08:39:32PM +0200, Jan Pieter van Woerkom wrote:
> From: Jan Pieter van Woerkom <jp@jpvw.nl>
>
> Adds support for the "Mygica T230C v2" into the "dvbsky" driver.
> A small enhancement is also needed in the si2168 demodulator
> driver, and a USB device ID in dvb-usb-ids.h .
>
> This is v3.5 of the proposed patch, based on feedback from Sean
> Young and Antti Palosaari.
> Tested by patch author on DVB(T/T2/C).
> Tested by Frank Rysanek on a T230C v2: can tune into locally
> available DVB-T and DVB-T2 muxes, video and audio playback works.
> Applies cleanly against Linux 5.2 .
>
> The T230C v2 hardware needs a mode of the si2168 chip to be
> set for which the si2168 driver previously had no support.
> This patch uses a specific measure to configure this on the
> T230C v2 hardware only - see the flag passed via the ts_mode
> attribute and its dependency on USB_PID_MYGICA_T230C2. Other
> devices using the si2168 demodulator driver are not affected.
>
> Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
> Tested-by: Frank Rysanek <Frantisek.Rysanek@post.cz>
> ---
> diff -ru a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
> --- a/drivers/media/dvb-frontends/si2168.c 2019-07-08 00:41:56.000000000 +0200
> +++ b/drivers/media/dvb-frontends/si2168.c 2019-07-09 18:47:59.514873658 +0200
> @@ -82,8 +82,18 @@
>
> dev_dbg(&client->dev, "%s acquire: %d\n", __func__, acquire);
>
> + /* set manual value */
> + if (dev->ts_mode & SI2168_TS_CLK_MANUAL) {
> + memcpy(cmd.args, "\x14\x00\x0d\x10\xe8\x03", 6);
> + cmd.wlen = 6;
> + cmd.rlen = 4;
> + ret = si2168_cmd_execute(client, &cmd);
> + if (ret)
> + return ret;
> + }
> /* set TS_MODE property */
> - memcpy(cmd.args, "\x14\x00\x01\x10\x10\x00", 6);
> + memcpy(cmd.args, "\x14\x00\x01\x10\x00\x00", 6);
Here byte at offset 4 is now 0 rather than 0x10.
> + cmd.args[4] = dev->ts_mode & (SI2168_TS_CLK_AUTO|SI2168_TS_CLK_MANUAL);
The many existing frontends which use the si2168 do have not have ts_mode
bit SI2168_TS_CLK_AUTO (0x010) set. So, this changes what is sent for
those drivers. Is that intended?
Thanks,
Sean
> if (acquire)
> cmd.args[4] |= dev->ts_mode;
> else
> diff -ru a/drivers/media/dvb-frontends/si2168.h b/drivers/media/dvb-frontends/si2168.h
> --- a/drivers/media/dvb-frontends/si2168.h 2019-07-08 00:41:56.000000000 +0200
> +++ b/drivers/media/dvb-frontends/si2168.h 2019-07-09 18:47:59.514873658 +0200
> @@ -30,6 +30,8 @@
> #define SI2168_TS_PARALLEL 0x06
> #define SI2168_TS_SERIAL 0x03
> #define SI2168_TS_TRISTATE 0x00
> +#define SI2168_TS_CLK_AUTO 0x10
> +#define SI2168_TS_CLK_MANUAL 0x20
> u8 ts_mode;
>
> /* TS clock inverted */
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PATCH V3.5 1/2] dvbsky: add support for "Mygica T230C v2"
2019-07-15 21:21 ` PATCH V3.5 1/2] " Sean Young
@ 2019-07-16 3:11 ` JP
2019-07-16 8:12 ` Sean Young
0 siblings, 1 reply; 5+ messages in thread
From: JP @ 2019-07-16 3:11 UTC (permalink / raw)
To: Sean Young
Cc: linux-media, Michael Ira Krufky, Antti Palosaari, Frantisek Rysanek
On 7/15/19 11:21 PM, Sean Young wrote:
> On Tue, Jul 09, 2019 at 08:39:32PM +0200, Jan Pieter van Woerkom wrote:
>> From: Jan Pieter van Woerkom <jp@jpvw.nl>
>>
>> Adds support for the "Mygica T230C v2" into the "dvbsky" driver.
>> A small enhancement is also needed in the si2168 demodulator
>> driver, and a USB device ID in dvb-usb-ids.h .
>>
>> This is v3.5 of the proposed patch, based on feedback from Sean
>> Young and Antti Palosaari.
>> Tested by patch author on DVB(T/T2/C).
>> Tested by Frank Rysanek on a T230C v2: can tune into locally
>> available DVB-T and DVB-T2 muxes, video and audio playback works.
>> Applies cleanly against Linux 5.2 .
>>
>> The T230C v2 hardware needs a mode of the si2168 chip to be
>> set for which the si2168 driver previously had no support.
>> This patch uses a specific measure to configure this on the
>> T230C v2 hardware only - see the flag passed via the ts_mode
>> attribute and its dependency on USB_PID_MYGICA_T230C2. Other
>> devices using the si2168 demodulator driver are not affected.
>>
>> Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
>> Tested-by: Frank Rysanek <Frantisek.Rysanek@post.cz>
>> ---
>> diff -ru a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
>> --- a/drivers/media/dvb-frontends/si2168.c 2019-07-08 00:41:56.000000000 +0200
>> +++ b/drivers/media/dvb-frontends/si2168.c 2019-07-09 18:47:59.514873658 +0200
>> @@ -82,8 +82,18 @@
>>
>> dev_dbg(&client->dev, "%s acquire: %d\n", __func__, acquire);
>>
>> + /* set manual value */
>> + if (dev->ts_mode & SI2168_TS_CLK_MANUAL) {
>> + memcpy(cmd.args, "\x14\x00\x0d\x10\xe8\x03", 6);
>> + cmd.wlen = 6;
>> + cmd.rlen = 4;
>> + ret = si2168_cmd_execute(client, &cmd);
>> + if (ret)
>> + return ret;
>> + }
>> /* set TS_MODE property */
>> - memcpy(cmd.args, "\x14\x00\x01\x10\x10\x00", 6);
>> + memcpy(cmd.args, "\x14\x00\x01\x10\x00\x00", 6);
> Here byte at offset 4 is now 0 rather than 0x10.
>
>> + cmd.args[4] = dev->ts_mode & (SI2168_TS_CLK_AUTO|SI2168_TS_CLK_MANUAL);
> The many existing frontends which use the si2168 do have not have ts_mode
> bit SI2168_TS_CLK_AUTO (0x010) set. So, this changes what is sent for
> those drivers. Is that intended?
At least 2 other drivers I tested (T230 in cxusb.c and 1 anysee)
work with this bit set or clear. My guess was that it would be OK
to use 0x00. So sort of intended. I couldn't think of a simple
operation to set one bit and clear the other. I will think again. :-)
>
> Thanks,
>
> Sean
>
>> if (acquire)
>> cmd.args[4] |= dev->ts_mode;
>> else
>> diff -ru a/drivers/media/dvb-frontends/si2168.h b/drivers/media/dvb-frontends/si2168.h
>> --- a/drivers/media/dvb-frontends/si2168.h 2019-07-08 00:41:56.000000000 +0200
>> +++ b/drivers/media/dvb-frontends/si2168.h 2019-07-09 18:47:59.514873658 +0200
>> @@ -30,6 +30,8 @@
>> #define SI2168_TS_PARALLEL 0x06
>> #define SI2168_TS_SERIAL 0x03
>> #define SI2168_TS_TRISTATE 0x00
>> +#define SI2168_TS_CLK_AUTO 0x10
>> +#define SI2168_TS_CLK_MANUAL 0x20
>> u8 ts_mode;
>>
>> /* TS clock inverted */
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PATCH V3.5 1/2] dvbsky: add support for "Mygica T230C v2"
2019-07-16 3:11 ` JP
@ 2019-07-16 8:12 ` Sean Young
0 siblings, 0 replies; 5+ messages in thread
From: Sean Young @ 2019-07-16 8:12 UTC (permalink / raw)
To: JP; +Cc: linux-media, Michael Ira Krufky, Antti Palosaari, Frantisek Rysanek
On Tue, Jul 16, 2019 at 05:11:52AM +0200, JP wrote:
> On 7/15/19 11:21 PM, Sean Young wrote:
> > On Tue, Jul 09, 2019 at 08:39:32PM +0200, Jan Pieter van Woerkom wrote:
> > > From: Jan Pieter van Woerkom <jp@jpvw.nl>
> > >
> > > Adds support for the "Mygica T230C v2" into the "dvbsky" driver.
> > > A small enhancement is also needed in the si2168 demodulator
> > > driver, and a USB device ID in dvb-usb-ids.h .
> > >
> > > This is v3.5 of the proposed patch, based on feedback from Sean
> > > Young and Antti Palosaari.
> > > Tested by patch author on DVB(T/T2/C).
> > > Tested by Frank Rysanek on a T230C v2: can tune into locally
> > > available DVB-T and DVB-T2 muxes, video and audio playback works.
> > > Applies cleanly against Linux 5.2 .
> > >
> > > The T230C v2 hardware needs a mode of the si2168 chip to be
> > > set for which the si2168 driver previously had no support.
> > > This patch uses a specific measure to configure this on the
> > > T230C v2 hardware only - see the flag passed via the ts_mode
> > > attribute and its dependency on USB_PID_MYGICA_T230C2. Other
> > > devices using the si2168 demodulator driver are not affected.
> > >
> > > Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
> > > Tested-by: Frank Rysanek <Frantisek.Rysanek@post.cz>
> > > ---
> > > diff -ru a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
> > > --- a/drivers/media/dvb-frontends/si2168.c 2019-07-08 00:41:56.000000000 +0200
> > > +++ b/drivers/media/dvb-frontends/si2168.c 2019-07-09 18:47:59.514873658 +0200
> > > @@ -82,8 +82,18 @@
> > > dev_dbg(&client->dev, "%s acquire: %d\n", __func__, acquire);
> > > + /* set manual value */
> > > + if (dev->ts_mode & SI2168_TS_CLK_MANUAL) {
> > > + memcpy(cmd.args, "\x14\x00\x0d\x10\xe8\x03", 6);
> > > + cmd.wlen = 6;
> > > + cmd.rlen = 4;
> > > + ret = si2168_cmd_execute(client, &cmd);
> > > + if (ret)
> > > + return ret;
> > > + }
> > > /* set TS_MODE property */
> > > - memcpy(cmd.args, "\x14\x00\x01\x10\x10\x00", 6);
> > > + memcpy(cmd.args, "\x14\x00\x01\x10\x00\x00", 6);
> > Here byte at offset 4 is now 0 rather than 0x10.
> >
> > > + cmd.args[4] = dev->ts_mode & (SI2168_TS_CLK_AUTO|SI2168_TS_CLK_MANUAL);
> > The many existing frontends which use the si2168 do have not have ts_mode
> > bit SI2168_TS_CLK_AUTO (0x010) set. So, this changes what is sent for
> > those drivers. Is that intended?
> At least 2 other drivers I tested (T230 in cxusb.c and 1 anysee)
> work with this bit set or clear. My guess was that it would be OK
> to use 0x00. So sort of intended. I couldn't think of a simple
> operation to set one bit and clear the other. I will think again. :-)
Great, thank you! :)
Sean
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-07-16 8:12 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-09 18:39 PATCH V3.5 1/2] dvbsky: add support for "Mygica T230C v2" Jan Pieter van Woerkom
2019-07-09 18:42 ` [PATCH V3.5 2/2] " Jan Pieter van Woerkom
2019-07-15 21:21 ` PATCH V3.5 1/2] " Sean Young
2019-07-16 3:11 ` JP
2019-07-16 8:12 ` Sean Young
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).