Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp4924535rwl; Wed, 28 Dec 2022 10:37:52 -0800 (PST) X-Google-Smtp-Source: AMrXdXtbvE+txKt33bD6R6ui8j6fhTFu2ypAXXGuXLWRWsbD30k2OAXaFLQ9qRMUzZi4UWm5DVWl X-Received: by 2002:a05:6402:1caa:b0:46c:2c94:d30a with SMTP id cz10-20020a0564021caa00b0046c2c94d30amr21088818edb.31.1672252672326; Wed, 28 Dec 2022 10:37:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672252672; cv=none; d=google.com; s=arc-20160816; b=A51iuu5qwqgDdl4ka59gEquwrBlQPdR0QL4Cebh7Q6dsI4I9MOmrp0PP8jZnOkroH+ zs6lFrd4ecM0mRK6tWtLkFoWDbvtVS9ioJ+3m92clXV29YMFWu+ji2py/bkhq4CSN+xT CVI5d3SG4KLhY1L+y/10fi/UH0F5bcy0IyNHp8+ZsS8IgmwZUqdIKk/kjUcRQShXLy9g wpgqHirapn0llGEadpRoqHWVZpaZVA5W+18lYCZ5Ngxbmo6O6s/hTXz3+0Kv6VdyXRJq AIaiMT/4yJbtLzaEqq1CqdyZdSeY/BnLbvZmnCR/JWeH6hWvERWS5ZMMPDr+zr38ebQk h3SQ== 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:dkim-signature; bh=4oXmwH7epUNn5bHAnrOf7+wpTAzblaBHbNNd69RCcgY=; b=M4ssNcAXSl7wyM4MKotF3QQv5pj65gylB3am7LxT8O4zWMnx4SaJJjOFOyqAGfg0sE yz3tcnbpXiN6oV7vyppcwv6dW69lBs32pBBtbcEfizu8fq1MMu+P9sFFy29KKNFFo9Z8 2zVLOXtMHW0rD8nB9Z2bLVIPxDYJueXyDsIengBeZzgOyHAvLNhMDPbAH7Vyj4romjYu O1CJbIkIrAVBe/xRZy7VIAnFCaHeu7NnUzxAKiyrvxxWPmghRRKRRTnp1jisnKveQhvk SznSdemavHtM+Er2kfp/vo4OHbs6MMx2Fa7b/NrfyM94KAipHzVdnIj2wkcdIxi6tYty QjKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=epJww3kg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s20-20020aa7c554000000b00485732f1604si6129123edr.347.2022.12.28.10.37.37; Wed, 28 Dec 2022 10:37:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=epJww3kg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234428AbiL1SQW (ORCPT + 63 others); Wed, 28 Dec 2022 13:16:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53220 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233788AbiL1SQB (ORCPT ); Wed, 28 Dec 2022 13:16:01 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 468E1175AD; Wed, 28 Dec 2022 10:16:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672251361; x=1703787361; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=hA93ioIwSEbDH6M0SHVKlMXgofrk4ZxxIow6o8jpcLY=; b=epJww3kg93WML89vrP5tF2IQtGteRqUuSnSdNLhev5i5dgQ1qW485fGf 5MmZ8l04et9SshqCv+VdjtiAp3bcg/ChNJz6eS4e72jmgBIadEI/5vkrZ kqjBmtdZzxBUxPX/l7ECmIrqU7YcRTnVdvZsnektafJ5vl4q1DbAfFDtN W/DMRWODDUH175L7X7gxqRuZDPKzdHoyoVIhkU26fEW9UISwIUwhMN4uK gYA47YtkYfVUVFSG/vGlLQ+PVkms6NyEiJL1IX/zxg2Qen/7acVkUXt0m soK41fiCy6CN3aF2J28oHDLBub6cd2GTPzM0G+Gcurl6pAuV08ugcvONn Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10574"; a="348121077" X-IronPort-AV: E=Sophos;i="5.96,281,1665471600"; d="scan'208";a="348121077" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Dec 2022 10:16:00 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10574"; a="653393073" X-IronPort-AV: E=Sophos;i="5.96,281,1665471600"; d="scan'208";a="653393073" Received: from rhweight-wrk1.ra.intel.com ([137.102.106.139]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Dec 2022 10:15:59 -0800 From: matthew.gerlach@linux.intel.com To: hao.wu@intel.com, yilun.xu@intel.com, russell.h.weight@intel.com, basheer.ahmed.muddebihal@intel.com, trix@redhat.com, mdf@kernel.org, linux-fpga@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, tianfei.zhang@intel.com, corbet@lwn.net, gregkh@linuxfoundation.org, linux-serial@vger.kernel.org, jirislaby@kernel.org, geert+renesas@glider.be, andriy.shevchenko@linux.intel.com, niklas.soderlund+renesas@ragnatech.se, macro@orcam.me.uk, johan@kernel.org, lukas@wunner.de, ilpo.jarvinen@linux.intel.com, marpagan@redhat.com, bagasdotme@gmail.com Cc: Matthew Gerlach Subject: [PATCH v8 0/4] Enhance definition of DFH and use enhancements for UART driver Date: Wed, 28 Dec 2022 10:16:20 -0800 Message-Id: <20221228181624.1793433-1-matthew.gerlach@linux.intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Matthew Gerlach This patchset enhances the definition of the Device Feature Header (DFH) used by the Device Feature List (DFL) bus and then uses the new enhancements in a UART driver. The enhancements to the DFH includes the introduction of parameter blocks. Like PCI capabilities, the DFH parameter blocks further describe the hardware to software. In the case of the UART, the parameter blocks provide information for the interrupt, clock frequency, and register layout. Duplication of code parsing of the parameter blocks in multiple DFL drivers is a concern. Using swnodes was considered to help minimize parsing code duplication, but their use did not help the problem. Furthermore the highly changeable nature of FPGAs employing the DFL bus makes the use of swnodes inappropriate. Patch 1 updates the DFL documentation to describe the added functionality to DFH. Patch 2 adds the definitions for DFHv1. Patch 3 adds basic support for DFHv1. It adds functionality to parse parameter blocks and adds the functionality to parse the explicit location of a feature's register set. Patch 4 adds a DFL UART driver that makes use of the new features of DFHv1. Basheer Ahmed Muddebihal (1): fpga: dfl: Add DFHv1 Register Definitions Matthew Gerlach (3): Documentation: fpga: dfl: Add documentation for DFHv1 fpga: dfl: add basic support for DFHv1 tty: serial: 8250: add DFL bus driver for Altera 16550. Documentation/fpga/dfl.rst | 112 ++++++++++++ drivers/fpga/dfl.c | 265 +++++++++++++++++++++++------ drivers/fpga/dfl.h | 41 +++++ drivers/tty/serial/8250/8250_dfl.c | 150 ++++++++++++++++ drivers/tty/serial/8250/Kconfig | 12 ++ drivers/tty/serial/8250/Makefile | 1 + include/linux/dfl.h | 6 + 7 files changed, 536 insertions(+), 51 deletions(-) create mode 100644 drivers/tty/serial/8250/8250_dfl.c -- 2.25.1