From patchwork Mon Nov 24 06:57:36 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Olli Salonen X-Patchwork-Id: 27117 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1XsneN-0005G0-Eo; Mon, 24 Nov 2014 08:01:31 +0100 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.72/mailfrontend-8) with esmtp id 1XsneK-0007b8-lP; Mon, 24 Nov 2014 08:01:31 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752505AbaKXHB0 (ORCPT + 1 other); Mon, 24 Nov 2014 02:01:26 -0500 Received: from mail-lb0-f173.google.com ([209.85.217.173]:36498 "EHLO mail-lb0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751400AbaKXHB0 (ORCPT ); Mon, 24 Nov 2014 02:01:26 -0500 Received: by mail-lb0-f173.google.com with SMTP id z12so3895952lbi.4 for ; Sun, 23 Nov 2014 23:01:25 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=tBIoEqnYjO70H0sCS5BVgfLnfXKBi0oFn7Xp0Wb6/WQ=; b=Gf14imWtKDwO2Wfv21JPqwb+Fc3LM1RNszX2EEQACGXlNQshkb3A6yomay9NfzDm/k LnvYjm+lsI6tEo5GbvRKo9O/cWM9wysOmIvEANmTboS6IYiUCx0JDf8LmE/jyqwVxJqI Zr3d2qMudef+ZT9egkY2oGIQj0mvihZZn+9lB/UB8WSr48OmvTVQO/fiAsjxVCR9vx5L 31niFGl2Ea0xPN8Ez+kziOJ1o+Y0NgVudJxYc7m9/lMRSofEweivCy3vK7YCo9rE/1mp eYgz4d7yQUF+8Dv08PnWePPbl4DPMCepOimqv9mssvGWmT1IrEs0iiaG7U1rDjCTVB5Y agjQ== X-Gm-Message-State: ALoCoQlN1AQEKQpi6FUjQDdDsCK/f4dKF9TyZ8b6FWrm/FM4J+5eSMWmMqYiW/+JCFj3ciI2BCGM X-Received: by 10.152.37.201 with SMTP id a9mr17002091lak.53.1416812485025; Sun, 23 Nov 2014 23:01:25 -0800 (PST) Received: from dl160.lan (188-67-15-102.bb.dnainternet.fi. [188.67.15.102]) by mx.google.com with ESMTPSA id r4sm3311273lah.23.2014.11.23.23.01.24 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 23 Nov 2014 23:01:24 -0800 (PST) From: Olli Salonen To: linux-media@vger.kernel.org Cc: Olli Salonen Subject: [PATCH 4/4] si2157: Add support for Si2148-A20 Date: Mon, 24 Nov 2014 08:57:36 +0200 Message-Id: <1416812256-27894-4-git-send-email-olli.salonen@iki.fi> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1416812256-27894-1-git-send-email-olli.salonen@iki.fi> References: <1416812256-27894-1-git-send-email-olli.salonen@iki.fi> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2014.11.24.65121 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_00_01 0.05, HTML_00_10 0.05, SUPERLONG_LINE 0.05, BODY_SIZE_3000_3999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, REFERENCES 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_URI_IN_BODY 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __REFERENCES 0, __SANE_MSGID 0, __STOCK_PHRASE_7 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NS , __YOUTUBE_RCVD 0' The Silicon Labs Si2148 tuner works as the Si2158, but does not contain analog tuner. A firmware is required for the tuner. Currently the Si2158-A20 firmware will work for Si2148-A20 as well, but as there are no guarantees that that will be the case in future, a unique file name is used for the firmware. The datasheet is available on manufacturer's website: http://www.silabs.com/Support%20Documents/TechnicalDocs/Si2148-short.pdf Signed-off-by: Olli Salonen --- drivers/media/tuners/si2157.c | 13 +++++++++---- drivers/media/tuners/si2157.h | 2 +- drivers/media/tuners/si2157_priv.h | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/media/tuners/si2157.c b/drivers/media/tuners/si2157.c index 3bdf00a..e6d7f35 100644 --- a/drivers/media/tuners/si2157.c +++ b/drivers/media/tuners/si2157.c @@ -1,5 +1,5 @@ /* - * Silicon Labs Si2146/2147/2157/2158 silicon tuner driver + * Silicon Labs Si2146/2147/2148/2157/2158 silicon tuner driver * * Copyright (C) 2014 Antti Palosaari * @@ -118,6 +118,7 @@ static int si2157_init(struct dvb_frontend *fe) #define SI2158_A20 ('A' << 24 | 58 << 16 | '2' << 8 | '0' << 0) #define SI2157_A30 ('A' << 24 | 57 << 16 | '3' << 8 | '0' << 0) + #define SI2148_A20 ('A' << 24 | 48 << 16 | '2' << 8 | '0' << 0) #define SI2147_A30 ('A' << 24 | 47 << 16 | '3' << 8 | '0' << 0) #define SI2146_A10 ('A' << 24 | 46 << 16 | '1' << 8 | '0' << 0) @@ -125,6 +126,9 @@ static int si2157_init(struct dvb_frontend *fe) case SI2158_A20: fw_file = SI2158_A20_FIRMWARE; break; + case SI2148_A20: + fw_file = SI2148_A20_FIRMWARE; + break; case SI2157_A30: case SI2147_A30: case SI2146_A10: @@ -317,7 +321,7 @@ static int si2157_get_if_frequency(struct dvb_frontend *fe, u32 *frequency) static const struct dvb_tuner_ops si2157_ops = { .info = { - .name = "Silicon Labs Si2146/2147/2157/2158", + .name = "Silicon Labs Si2146/2147/2148/2157/2158", .frequency_min = 110000000, .frequency_max = 862000000, }, @@ -367,7 +371,7 @@ static int si2157_probe(struct i2c_client *client, dev_info(&s->client->dev, "Silicon Labs %s successfully attached\n", s->chiptype == SI2157_CHIPTYPE_SI2146 ? - "Si2146" : "Si2147/2157/2158"); + "Si2146" : "Si2147/2148/2157/2158"); return 0; err: @@ -410,7 +414,8 @@ static struct i2c_driver si2157_driver = { module_i2c_driver(si2157_driver); -MODULE_DESCRIPTION("Silicon Labs Si2146/2147/2157/2158 silicon tuner driver"); +MODULE_DESCRIPTION("Silicon Labs Si2146/2147/2148/2157/2158 silicon tuner driver"); MODULE_AUTHOR("Antti Palosaari "); MODULE_LICENSE("GPL"); +MODULE_FIRMWARE(SI2148_A20_FIRMWARE); MODULE_FIRMWARE(SI2158_A20_FIRMWARE); diff --git a/drivers/media/tuners/si2157.h b/drivers/media/tuners/si2157.h index 8467d08..a564c4a 100644 --- a/drivers/media/tuners/si2157.h +++ b/drivers/media/tuners/si2157.h @@ -1,5 +1,5 @@ /* - * Silicon Labs Si2146/2147/2157/2158 silicon tuner driver + * Silicon Labs Si2146/2147/2148/2157/2158 silicon tuner driver * * Copyright (C) 2014 Antti Palosaari * diff --git a/drivers/media/tuners/si2157_priv.h b/drivers/media/tuners/si2157_priv.h index c1ea821..65874e0 100644 --- a/drivers/media/tuners/si2157_priv.h +++ b/drivers/media/tuners/si2157_priv.h @@ -1,5 +1,5 @@ /* - * Silicon Labs Si2146/2147/2157/2158 silicon tuner driver + * Silicon Labs Si2146/2147/2148/2157/2158 silicon tuner driver * * Copyright (C) 2014 Antti Palosaari * @@ -42,6 +42,7 @@ struct si2157_cmd { unsigned rlen; }; +#define SI2148_A20_FIRMWARE "dvb-tuner-si2148-a20-01.fw" #define SI2158_A20_FIRMWARE "dvb-tuner-si2158-a20-01.fw" #endif