From patchwork Mon Jan 18 07:07:26 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Franklin Meng X-Patchwork-Id: 73630 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id o0I77UFW026379 for ; Mon, 18 Jan 2010 07:07:30 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752887Ab0ARHH3 (ORCPT ); Mon, 18 Jan 2010 02:07:29 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752347Ab0ARHH2 (ORCPT ); Mon, 18 Jan 2010 02:07:28 -0500 Received: from web32706.mail.mud.yahoo.com ([68.142.207.250]:45925 "HELO web32706.mail.mud.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751780Ab0ARHH2 (ORCPT ); Mon, 18 Jan 2010 02:07:28 -0500 Received: (qmail 82158 invoked by uid 60001); 18 Jan 2010 07:07:27 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1263798447; bh=dSI6ctRcWj4c3K200EXHnOmt1vhTEZNcJiMWUJuebi0=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=JvWIGKOm+Mf5FvhQJVKMPkxQO8xhd1OUu7IcHTKU0/7PlmsqKanoRtsn50/uzvJmh5GkyV/PijACUBBEp/mGmdw66Q6vaBn/93GynkPhRbtr9lr78fEPqn1PINLC+Snq4D/jrLM7blbANJ1KAFK9CHbeN/aE9hgpESg08fwnFZ8= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=fiBI7s7lIb9pE1fyo24jOkM4gsQBzPYhTOg+izuq9kv5tWSo/kUhUIVHq0sb28mvNfonxdffANZF8xHNZsVOgdMJqYiTYS5mtE7YLokG6I8gQqjmO14jT90k4g3yWdJD1zqtP7IdxXQXHbcmWfwdirUOwMjwWk0BW/PAU46lRZc=; Message-ID: <15799.81854.qm@web32706.mail.mud.yahoo.com> X-YMail-OSG: 12Zs40MVM1mJSlG7O30cHZW35PtvkEPYMLZWVskIffNV19HG00rA3YmLIMZDPtLV21F1ihjMbjggHEVYq612KcwVOg2OXcUrKVx6h2dgAceHrtDTVqT5jgV6AGSqdbvLoTBt5uss7zuiernYOvNZ5k.YtnHsjCSYTfRlJtK8opJD5aUof5F24VZ3K3d.LWzyyYJUvcpjfo2j2tFFoBzmpgUh09Z_56nVoLBKXFYy7xs2d3199tGEi15Nl9AMlsau1c868jHJxX2.za631_PnzXaxkKXGoTHlv3zIi5fNb83IYiN8XvN.YNqFP8Mw0XU8OT5XROPIFlXKedvdsikbe7b5WT1BnlTrtfSw0hW1aw-- Received: from [71.110.50.19] by web32706.mail.mud.yahoo.com via HTTP; Sun, 17 Jan 2010 23:07:26 PST X-Mailer: YahooMailClassic/9.0.20 YahooMailWebService/0.8.100.260964 Date: Sun, 17 Jan 2010 23:07:26 -0800 (PST) From: Franklin Meng Subject: [Patch 2/3] Kworld 315U To: linux-media@vger.kernel.org Cc: Mauro Carvalho Chehab , Douglas Schilling Landgraf , Devin Heitmueller In-Reply-To: <647298.8638.qm@web32701.mail.mud.yahoo.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org diff -r b6b82258cf5e linux/drivers/media/video/em28xx/em28xx-cards.c --- a/linux/drivers/media/video/em28xx/em28xx-cards.c Thu Dec 31 19:14:54 2009 -0200 +++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Sun Jan 17 22:54:21 2010 -0800 @@ -122,13 +122,31 @@ }; #endif +/* Kworld 315U + GPIO0 - Enable digital power (lgdt3303) - low to enable + GPIO1 - Enable analog power (saa7113/emp202) - low to enable + GPIO7 - enables something ? + GOP2 - ?? some sort of reset ? + GOP3 - lgdt3303 reset + */ /* Board - EM2882 Kworld 315U digital */ static struct em28xx_reg_seq em2882_kworld_315u_digital[] = { - {EM28XX_R08_GPIO, 0xff, 0xff, 10}, - {EM28XX_R08_GPIO, 0xfe, 0xff, 10}, + {EM28XX_R08_GPIO, 0x7e, 0xff, 10}, {EM2880_R04_GPO, 0x04, 0xff, 10}, {EM2880_R04_GPO, 0x0c, 0xff, 10}, - {EM28XX_R08_GPIO, 0x7e, 0xff, 10}, + { -1, -1, -1, -1}, +}; + +/* Board - EM2882 Kworld 315U analog1 analog tv */ +static struct em28xx_reg_seq em2882_kworld_315u_analog1[] = { + {EM28XX_R08_GPIO, 0xfd, 0xff, 10}, + {EM28XX_R08_GPIO, 0x7d, 0xff, 10}, + { -1, -1, -1, -1}, +}; + +/* Board - EM2882 Kworld 315U analog2 component/svideo */ +static struct em28xx_reg_seq em2882_kworld_315u_analog2[] = { + {EM28XX_R08_GPIO, 0xfd, 0xff, 10}, { -1, -1, -1, -1}, }; @@ -140,6 +158,14 @@ { -1, -1, -1, -1}, }; +/* Board - EM2882 Kworld 315U suspend */ +static struct em28xx_reg_seq em2882_kworld_315u_suspend[] = { + {EM28XX_R08_GPIO, 0xff, 0xff, 10}, + {EM2880_R04_GPO, 0x08, 0xff, 10}, + {EM2880_R04_GPO, 0x0c, 0xff, 10}, + { -1, -1, -1, -1}, +}; + static struct em28xx_reg_seq kworld_330u_analog[] = { {EM28XX_R08_GPIO, 0x6d, ~EM_GPIO_4, 10}, {EM2880_R04_GPO, 0x00, 0xff, 10}, @@ -1314,28 +1340,28 @@ .decoder = EM28XX_SAA711X, .has_dvb = 1, .dvb_gpio = em2882_kworld_315u_digital, + .suspend_gpio = em2882_kworld_315u_suspend, .xclk = EM28XX_XCLK_FREQUENCY_12MHZ, .i2c_speed = EM28XX_I2C_CLK_WAIT_ENABLE, - /* Analog mode - still not ready */ - /*.input = { { + .input = { { .type = EM28XX_VMUX_TELEVISION, .vmux = SAA7115_COMPOSITE2, .amux = EM28XX_AMUX_VIDEO, - .gpio = em2882_kworld_315u_analog, + .gpio = em2882_kworld_315u_analog1, .aout = EM28XX_AOUT_PCM_IN | EM28XX_AOUT_PCM_STEREO, }, { .type = EM28XX_VMUX_COMPOSITE1, .vmux = SAA7115_COMPOSITE0, .amux = EM28XX_AMUX_LINE_IN, - .gpio = em2882_kworld_315u_analog1, + .gpio = em2882_kworld_315u_analog2, .aout = EM28XX_AOUT_PCM_IN | EM28XX_AOUT_PCM_STEREO, }, { .type = EM28XX_VMUX_SVIDEO, .vmux = SAA7115_SVIDEO3, .amux = EM28XX_AMUX_LINE_IN, - .gpio = em2882_kworld_315u_analog1, + .gpio = em2882_kworld_315u_analog2, .aout = EM28XX_AOUT_PCM_IN | EM28XX_AOUT_PCM_STEREO, - } }, */ + } }, }, [EM2880_BOARD_EMPIRE_DUAL_TV] = { .name = "Empire dual TV",