From patchwork Wed Oct 25 16:51:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Martin_T=C5=AFma?= X-Patchwork-Id: 158151 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6359:6b8b:b0:164:83eb:24d7 with SMTP id ta11csp2711531rwb; Wed, 25 Oct 2023 07:51:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFY1XELzDDLDqx/2fo0Z2wRD1ktes1bkBKRz3HNGNSuO1yCsmAxGewhGofojv3Wb50G3fZQ X-Received: by 2002:a0d:e684:0:b0:5a8:bbeb:38a5 with SMTP id p126-20020a0de684000000b005a8bbeb38a5mr15760960ywe.42.1698245511177; Wed, 25 Oct 2023 07:51:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698245511; cv=none; d=google.com; s=arc-20160816; b=rIkl43uBDPzhY6T/2SOU0//nJkIpxoa4886LSfHkx0BttwPczY4SapylmxNDDYvXxW p2UuoUBOVfiVJZOGECyVjjx8knjnszLDmN3edJLN8Tp9pbCbUybUAqASTgX9xHKGMKS7 qWAd4vyQoiaHiBtIVbg0y6d9o+pRot/ZIJ1IYq8XX1K56WRHVxjiTkid6jVQFO7v4OEJ LF7rscq/m4qoY6vQeXMKypSM/0mnRhNKfxS8FfzIJMI3Kzk3VhHQoUOgVrM7v/WZEvvK l1DtTcpd2ZmmOxZUxN1l+b/QbD1ltizv/D9ZHL8Xpl0xfgjUL8HTKi+UeX6mwQvjCzuO /OAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=gVv9JrT5b0QNn9eojrfqiiwtXM8fy36evknIDkduqcU=; fh=UZvOXHsEvTCyWTYhEg+xBB9+09e4W6W2NV88vxfo2B8=; b=f5EJ5Jtuv9COjfNgaH4tc642fWAdTUh3e4t4asmLzni2nNk7OyQLragUg+2Uq4tbRr 72QzPMDOwUJGEZEHVc1QPhq4+rjDQYr6Govg1drLP8vt//204QRX9aruiGrbFJyCX1CY +kbbpnJiXqHDD7WHCH5qXohJsYroIx9iBQW3g52V+FFlDQXdXc9hhMlZF5F9qBwxnYfo Nt8jrLB0hKo6/rOlfUzjQ5+LYr0fZr/i1R4KNTJB60REbr26a/aPOPYulvUc30wTtatT vjUDYA27pZw7hM7QqorUu+smX6xZ9w+AjYPPHJjuS2kknKo1eWONzdX602e8cRMURMQr G1aA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id p66-20020a0de645000000b0058ee55b934dsi10764379ywe.428.2023.10.25.07.51.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Oct 2023 07:51:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 1C23681C0CAF; Wed, 25 Oct 2023 07:51:46 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344406AbjJYOvV (ORCPT + 26 others); Wed, 25 Oct 2023 10:51:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344379AbjJYOvT (ORCPT ); Wed, 25 Oct 2023 10:51:19 -0400 Received: from mx.gpxsee.org (mx.gpxsee.org [37.205.14.76]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D7771137; Wed, 25 Oct 2023 07:51:15 -0700 (PDT) Received: from mgb4.digiteq.red (unknown [62.77.71.229]) by mx.gpxsee.org (Postfix) with ESMTPSA id A855956681; Wed, 25 Oct 2023 16:51:13 +0200 (CEST) From: tumic@gpxsee.org To: Mauro Carvalho Chehab Cc: Hans Verkuil , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, =?utf-8?q?Martin_T=C5=AFma?= Subject: [PATCH] media: mgb4: Added support for T200 card variant Date: Wed, 25 Oct 2023 18:51:47 +0200 Message-Id: <20231025165147.1316-1-tumic@gpxsee.org> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 25 Oct 2023 07:51:46 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780739484689564161 X-GMAIL-MSGID: 1780739484689564161 From: Martin Tůma T200 card variants use the XC7A200T FPGA instead of XC7A100T. The SPI FLASH memory layout is different as the FPGA requires bigger FW images. Signed-off-by: Martin Tůma --- drivers/media/pci/mgb4/mgb4_core.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) base-commit: 19e67e01eb1e84f3529770d084b93f16a4894c42 diff --git a/drivers/media/pci/mgb4/mgb4_core.c b/drivers/media/pci/mgb4/mgb4_core.c index 3efb33fbf40c..5bfb8a06202e 100644 --- a/drivers/media/pci/mgb4/mgb4_core.c +++ b/drivers/media/pci/mgb4/mgb4_core.c @@ -42,6 +42,10 @@ #define MGB4_USER_IRQS 16 +#define DIGITEQ_VID 0x1ed8 +#define T100_DID 0x0101 +#define T200_DID 0x0201 + ATTRIBUTE_GROUPS(mgb4_pci); static int flashid; @@ -151,7 +155,7 @@ static struct spi_master *get_spi_adap(struct platform_device *pdev) return dev ? container_of(dev, struct spi_master, dev) : NULL; } -static int init_spi(struct mgb4_dev *mgbdev) +static int init_spi(struct mgb4_dev *mgbdev, u32 devid) { struct resource spi_resources[] = { { @@ -213,8 +217,13 @@ static int init_spi(struct mgb4_dev *mgbdev) snprintf(mgbdev->fw_part_name, sizeof(mgbdev->fw_part_name), "mgb4-fw.%d", flashid); mgbdev->partitions[0].name = mgbdev->fw_part_name; - mgbdev->partitions[0].size = 0x400000; - mgbdev->partitions[0].offset = 0x400000; + if (devid == T200_DID) { + mgbdev->partitions[0].size = 0x950000; + mgbdev->partitions[0].offset = 0x1000000; + } else { + mgbdev->partitions[0].size = 0x400000; + mgbdev->partitions[0].offset = 0x400000; + } mgbdev->partitions[0].mask_flags = 0; snprintf(mgbdev->data_part_name, sizeof(mgbdev->data_part_name), @@ -551,7 +560,7 @@ static int mgb4_probe(struct pci_dev *pdev, const struct pci_device_id *id) goto err_video_regs; /* SPI FLASH */ - rv = init_spi(mgbdev); + rv = init_spi(mgbdev, id->device); if (rv < 0) goto err_cmt_regs; @@ -666,7 +675,8 @@ static void mgb4_remove(struct pci_dev *pdev) } static const struct pci_device_id mgb4_pci_ids[] = { - { PCI_DEVICE(0x1ed8, 0x0101), }, + { PCI_DEVICE(DIGITEQ_VID, T100_DID), }, + { PCI_DEVICE(DIGITEQ_VID, T200_DID), }, { 0, } }; MODULE_DEVICE_TABLE(pci, mgb4_pci_ids);