From patchwork Fri Apr 22 15:56:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: icenowy@outlook.com X-Patchwork-Id: 12823705 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7C48DC433F5 for ; Fri, 22 Apr 2022 15:59:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Qbqw0EOUYmudj0WQwKQAh2dYcuFDVDwsm0ZjQzGXkTs=; b=mzOuXJcbaj08fe oc1NkN1O516rjx6U70w6WGYYBfveCtOO1XORvYPUSunXasq5XgkNyElp77VVbibuCmUcdMyMH4eL9 zJ26ERfVui8LFrFoidI16zXlzUWCbLNhWXaoQ4iem0Ps4f+aUlytyJfE1CzjK45JSSILyCWrIhP7q zp2Kg3YRfad7Wc1gNlm/QsKC1nZ1y7/A9IS2tNyc3QVyHFvtYGTbIxy8pq52PdD+1QvSYWv8FZwJ/ a5f17PrN0EM3ybi1ses5jiEA5ieJZyvcoOEWQ17TD/xsEmLKvPIqJ5TZ/EZQVcG01WibROQDCQbGO c1nhspScUoezgblo6Vlw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nhvg0-001GnI-HQ; Fri, 22 Apr 2022 15:58:33 +0000 Received: from mail-co1nam11olkn20830.outbound.protection.outlook.com ([2a01:111:f400:7eab::830] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nhvei-001GHT-Ko for linux-arm-kernel@lists.infradead.org; Fri, 22 Apr 2022 15:57:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LTnVXgwJnCZO6LV9hmy8FA0+MxO8zSS5sR09UXzQqIrlDXyWSa/DWN+SbdOVjRbHACOMhUG9EP1NKNUebS2kCJNs8NcJqq0jGO7GbT2TTaK8mZ/hNGl0cfWZA9uoGTp+BIDSAV9qJCZ2McT029YYaIV4O/4wcmceNBnrRIvbqkp270Y33LodLaVieW+e3al17eDKIpZSrsdf8ts/b3YN7Np4I6XTuZcOCbrwi38bE68TCZqLgFA5Ff2rZdhvn73ZPbqoOBNR6+3aqhw/EKO49Lvh5h5ewvRBT+pFPdPiTZF6U+R8JTn4v5+J60cq8T+SBmncrlUENqlXCdsnElYs8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RKpEmtp9RMayqqwy73qUY48gl+N3dypvzSujzRpJz8U=; b=Os1seaIQBQsHPd61LkjK+8QVzOq9FKGZUK+GR82RbhQvdzcInyILOHF+q6aNsXw1y/d6HiiGOM8dXxbxIIDl75BQus8PISe5kf4T/ulgJa0hLTG0IF9nZ9p0kfvik9EmJuucIADPmQPiiPUQtRFl+95QhRwuNlWi9tyd8dbF6jFzTiMzwjr6sKJNL6oNgjMM8UfBeGTvX36dPUktx1hkVVVKI7I9yRhQBXdAW/ybtZLqUjl2OcB7xz38FN7ubq3Z7LqN/TSOj7/mWOp6yLXoXjqbMUqeukjw1iucgEhYoNYaS87g5Wd/Xf/FKmkADtAEZl4D9+w90cOH1R2h5wwlIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RKpEmtp9RMayqqwy73qUY48gl+N3dypvzSujzRpJz8U=; b=liflq5B8261Ba9M8rZR+XQ8/E586LZkgrL1lpvXANTY2Exa7nJBjR8i6arTxACLAdtsqSEOEvqZqz/PNyMqLnuENhuEt6CS704jFN9mS1yfc458qLKTJsTeG0M7a8qBq7ODj5A0ZloXz+egrQYWkutdyLb+BhPrNlgPVXmyxhS0M/2KbduNQqGub7XW3UEtosiN/wkHY+Oo6OVi2ZvqUXY2ylGLWGDVF9enHQW+Zu/783SLfvg5FqO6UiTc21nADk7HUiFFoYujNReTNzCZJ76ovbNvsjQdxYy9yfIf9m/R1FerbcdEgUPPi6Y1mc4cMViMkpmMAxvEKzUj5RSO4FA== Received: from BYAPR20MB2472.namprd20.prod.outlook.com (2603:10b6:a03:155::16) by CY4PR2001MB0917.namprd20.prod.outlook.com (2603:10b6:903:d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 15:57:08 +0000 Received: from BYAPR20MB2472.namprd20.prod.outlook.com ([fe80::3480:160a:eb92:d6e3]) by BYAPR20MB2472.namprd20.prod.outlook.com ([fe80::3480:160a:eb92:d6e3%6]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 15:57:08 +0000 From: icenowy@outlook.com To: Mark Brown , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Ripard Cc: linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Icenowy Zheng Subject: [PATCH 1/4] dt-bindings: spi: sun6i: add DT bindings for Allwinner R329 SPI Date: Fri, 22 Apr 2022 23:56:36 +0800 Message-ID: X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220422155639.1071645-1-icenowy@outlook.com> References: <20220422155639.1071645-1-icenowy@outlook.com> X-TMN: [Pf4conUMeUNmiC+SRjRWR2vj3UHdPxhV] X-ClientProxiedBy: HK0PR01CA0059.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::23) To BYAPR20MB2472.namprd20.prod.outlook.com (2603:10b6:a03:155::16) X-Microsoft-Original-Message-ID: <20220422155639.1071645-2-icenowy@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5146ba69-61fd-4c65-f479-08da2478c0fc X-MS-TrafficTypeDiagnostic: CY4PR2001MB0917:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AeatGBENgIKCRLI7sZT6dB3vgZRkYF0H5DKW7csjehaKxfqWJu+vAkds2zGLPxXK5PKWdaMcxVrs8YSThib22heOd/Q/V0SvVWfGjuZvgoh/JOM7f3fMM7BEmMbfQzADhmZeaSFqltZeKCKfhjj1gAkq8veL/PcRT8EXNjKC5vqNz/FTN9hIlme84mFhAZO10m1+Kzo7RvyyeL0uvcHKGCVi8mhyKyTzD/kHCPqa2aINFJj6qjEudzUOQirMaYVJC96dXbxSE3JICfrC/RTR/KallrSYQUjwafnJi4wav/Qwb7KdkB03TUdkrSnHpVyUiEGPdv4RfF/JObOd60BLgu9Z5iTnwgnGG9JOf9Ro+ItQW3gnF4Y+x8IpQc/eHLO6KkjGnvJlFoBPr3S4Q+lhqo9zxT/OMP06LaQl00+LCKj+5pL0yjY9bgLbFFATFevlsnK4i0FZ6tOx6BpxHpKzwWTgE/KVxb0N0RdgRxqh3p9IagfU3Etxi/5T0jwqQ8K+TB32P+w9013ZtTMJhX3VzHxIh0/+2gkyUFDXVKQF41ld399OuRnA5YKT5iZ69dvNyOYBpupfk4kFRm4Za3qiNQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AgsqG0p3WWRcrbbCOvo+H78JiKw4LW9evUp5QVZfGvoPlg/nIauYGiBF13H3TJDb1SeF+vl9kRO97Ddb1TNFQgUoaZ/NxBpEvWoRNtb421YSajsyhkw6sNtSVjpjnHVoDfRayHgtaNnQ/qXILkRFh8wHOGjbbNqCQ3gsCDrQuytAnoUBkB/vU9fyRj/ILRC9ZjF2fleza/3HuxRHXgX6GL1aZvYeWYyXS8GuV2x4VO6CQGR49e0aa/G7R/V+FdVOd5PDMTLTlB4gPNXvP0WrVuZ99mp3x42CZ2/Q5gEAvBKx7+FDHeAHapJ+eN+zHp5WDS/ltHhUr/8BHh9B0SyriZfyqljleLsIiYjrEKX2i7Xm5OfTAcbcesdBWOuxJxjxcjfsjfjS1QlCxL06zGX/hWMPl2MIvvhJ8R3wcknhpsXwQltQ8aCEmJR6mw9CIsrKI2JR7CWdiy+PtuS7y6pW4DPNzLfNUaJFsvXu2fpS7g4cr6jBLaV41XLq1PXC46T7GMYqZKS/q1K0a28veMrAkGGIuZqlEly8B38L2p6xaj4Tra1FCNfZXjr1D+AJgHFTGvNQ88zcy1UyVuo7f8UNkZJGyLFqeNTNd8SiHYTj6X6d4U9WA/Oeo5KCTv7N5XMop7Ka2LQyQO8smf54tX0YpfX2Mae4tKgLCI/EI2ONx694WW7UgHaZGX1JoN1BF2Jm0bzIQQpPq/URBqQ9bWTNJD84AyqCBhzTy7+m2N4o6dQLNfGuc1hM0eEj6fJbEJElyxXBeu8k+gjpMcvMVhjuA14gR/0WWlo+3G+oQBLKCfN98SfHiimBg934Rn35OFYJ5mrpBj+zoVmE9gbSD2qr4sHRLX6qN75nIxCP5KTlx/w+SGdbPkPDo6F6afh8ghYkiXHTuebiBnl15vDT3bKY8DddQO1atf5pBLEOht7XTZCEl+TcfkD5PxY00fudAY0ZNwZwywBksJ+lDkScxQHF1l03TM8kDiYc+VNZxbPK/X5Ubh26nHiem+ePkdojXQpSP0n+qgDVQje6P/9cIeR9uFlKT+swxBfrTtayIJNvR6raTCLQMGXEiEz80Q3WkFyhkyShF/UuPjPH0PE3m9OX858Qp9IOPzPtnx+B1mCXRmc6c6JTVEI5sAevJkROMUIRIpqSk/bBvo0qm3ikWBtaEG86ZF1c9CfKA9mCwQL3AvbTX+Q1AdzrDKN+vfnMyR4Xjuq2qtaUMAivxm9YBL7rw9dOW+gadpxTJVExnbCYCzP8XimY+yHK4iWYkmd5XEhDLRsqplGqpjp8ynDUGjGLdDKKOV1YDDumYbOxR57KfaEruFsANg5K8J0LVd4SGEbDEAd6PA2FPZJGEVnntktEZI91Gp1L0e5788prQG/GHTDeUlR9OXYhli5XkJTEdhSI7L6JdF2M5ES8O8AhP7cm4Q39PoOdnytf7ROAXlqZSu4= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5146ba69-61fd-4c65-f479-08da2478c0fc X-MS-Exchange-CrossTenant-AuthSource: BYAPR20MB2472.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 15:57:08.3512 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR2001MB0917 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220422_085712_751766_BF5D0952 X-CRM114-Status: UNSURE ( 9.62 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Icenowy Zheng Allwinner R329 SPI has two controllers, and the second one has helper functions for MIPI-DBI Type C. Add compatible strings for these controllers Signed-off-by: Icenowy Zheng --- .../devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml b/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml index ca4c95345a49..6354635241fc 100644 --- a/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml +++ b/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml @@ -21,6 +21,8 @@ properties: oneOf: - const: allwinner,sun6i-a31-spi - const: allwinner,sun8i-h3-spi + - const: allwinner,sun50i-r329-spi + - const: allwinner,sun50i-r329-spi-dbi - items: - enum: - allwinner,sun8i-r40-spi From patchwork Fri Apr 22 15:56:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: icenowy@outlook.com X-Patchwork-Id: 12823706 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AAD3DC433F5 for ; Fri, 22 Apr 2022 16:01:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Qx+AyrA1OLMgnisTJW4ePGB3hMLvtf0hkqwLL2fC5hI=; b=2yTn9oHz5Ilr3c dKmqE0jXKUlXp5ULnbuQUZfFgPpZ8ZtS6zxj2velsWo3TND3l4860YDtVxomSRBOiQAJaHYWmmagD NSeic5zkOskC8LYq32uJF76zqDNqLDmTsLUI0h9xCuBHA94fqrKp5nls8z2OREhSg3LYOxzKInm2w 40UYhPYDrhK1KgYeW7zPztbHjuAzGo51eyTK1bZmOhIk5to0prRq5JoHpA1UbjK4jU57DLppQ56B5 sdukagUtNn+2PDHox/qPJLWjmJonNEoD9DxODe8xzj2s8TbHzVAcb0jJ2aaGkkHWJfIFuihCwlM4b h/PD5v/niBYbnnFnGDnw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nhvgw-001H4K-5Y; Fri, 22 Apr 2022 15:59:30 +0000 Received: from mail-co1nam11olkn20830.outbound.protection.outlook.com ([2a01:111:f400:7eab::830] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nhveo-001GHT-8U for linux-arm-kernel@lists.infradead.org; Fri, 22 Apr 2022 15:57:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zj6dk/6e8tJTLTuJpUv+v+u9ziUHHkf1quvGEJ0fyNFfWmqOffAVB9ajf1ZKe+xIkgMSZ+8zchuDNJ7Zw0RIYftwWVqj1jpMa3hLtvNwt//J5SLTppPnYXMe+xmbzdeVW73lbia5kVxtYsoWF8hzvVDqleTjd3GFIUbKQLugsumDx7kmRiHW5T/fmwTdTA1D+Q6K+woY14xL72+1i4I9OAr9TU3OyTtfH/tVkxluxM2ii0dhckzM0y1FVFBJT/cIZ0b8ZGsfOHbAbxXjvbDPDG3UtDK7nlApdozxw2uSTyMS2AyqIv+3IN/jbodaNFJz8HyFp87apFw/miE6+uOcmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bjRNcOCHoT1F5l8EmfV/s3vTk7Ju2Ua83b9CsTNmlmU=; b=kb5GW1A2rUzo2qAhn4qLLbJk71aIbVhlBBzWQJ1B6NkDekG8AuIer4M5KGCeyu/Q94XT0Ph4uAnBcIhzmSmQfCa3f5GKQsqUr3mSqrCS/O9/y8GzQFGeUl26wA7gtq692p58I3XJUh3iJjtis3XktwmwjEIxHc4Xqj974TEyRDcJ6fNJmGtA9uqa0CmNjt0L0wXxLZ6wC9nixasF0KNxVMGqrtL+47R6iLLHtsx/MQfdTrTosE4ixHrx017M31UcN+mx2MHH7uQtR1L2+WOC163hXKdTCJzSOtBYhL4ABbUvgxSsjsCOomVR5Xj/+FnVNtZBJZKg4hK2TshpDThtuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bjRNcOCHoT1F5l8EmfV/s3vTk7Ju2Ua83b9CsTNmlmU=; b=snu5cYif3qakAkrzTT2jNv6HcikDkAbBlNaHuXXLnxTfzsmobcsnG/RyQZU6RDrgl5GXKhuK2HhfDpLrGzhrJ2KjuNy8gT37W0eKqYpp3tD4YPXwPxaY7B1oqn11DG7NaEa/WJiK55YKphxxjU1gDPngcXfKhpr7J/LHISAAX43BsQT1uHKM66wp+D+7yNcY7wI1ZFuCbqAGvpvflscbBpTW5o5RMhl0CDszwa9/Wo1Wnr8OI80O0W2yPZEaQTZ4v9UzjYkdxJD8vS+iwA+Ieh3Da+8yNNR4njm9xhl8FEfl+FOyHPEuXi5oSKIIwuxE4OTpqCVGjmqaa3rynYnd2Q== Received: from BYAPR20MB2472.namprd20.prod.outlook.com (2603:10b6:a03:155::16) by CY4PR2001MB0917.namprd20.prod.outlook.com (2603:10b6:903:d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 15:57:12 +0000 Received: from BYAPR20MB2472.namprd20.prod.outlook.com ([fe80::3480:160a:eb92:d6e3]) by BYAPR20MB2472.namprd20.prod.outlook.com ([fe80::3480:160a:eb92:d6e3%6]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 15:57:12 +0000 From: icenowy@outlook.com To: Mark Brown , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Ripard Cc: linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Icenowy Zheng Subject: [PATCH 2/4] spi: sun6i: change OF match data to a struct Date: Fri, 22 Apr 2022 23:56:37 +0800 Message-ID: X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220422155639.1071645-1-icenowy@outlook.com> References: <20220422155639.1071645-1-icenowy@outlook.com> X-TMN: [95mPJRFU1+sKHSIYKr6vgvSKnRYHd7PO] X-ClientProxiedBy: HK0PR01CA0059.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::23) To BYAPR20MB2472.namprd20.prod.outlook.com (2603:10b6:a03:155::16) X-Microsoft-Original-Message-ID: <20220422155639.1071645-3-icenowy@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7b71b5c9-55b0-4f0b-9155-08da2478c36d X-MS-TrafficTypeDiagnostic: CY4PR2001MB0917:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: f+xO6qxUrMnV4+69dmTSQbrYxIIUrwFeylMOjZOflTAEyO7q+cGK7ZoSmP1WUWFgZ4TPI27PRGu5qGqZMk3n4wEryjSO+L17PhT7zYYSJnPJziDIDi+ZjUBpdTochUUWm7Ta9kANH7EpTJMVLqhyFHZelF78tuHYyJ+/zSJ+C48kDJ2o+d9SIYsELKVjyJ+/j+D2twYDkM+Imoruwc6WcUQ8SiponibhxINoQDqkr9rbm6rPQkexMRy4rrmU+1LD8wmCuBrGENnUOXWuYptNkYx5CJ/ofDUEOifFtlXRNNI+upliA3hG4HuTHAQ5pTsYqh7tdEi+cD2tto2336Fv64hwvSK3FAsZWH/0c/SZBPofHnxlQztYG4RhNrNVTh40i86fkIgZ0hUdUww9Mo1nygvU8/ygfyRui4Ou3S8nJHvveS+ehFGE0rBMFEK7644O8SqhKguBBtSuK0HhX40fOrs+Fo+EdZtgNa+Yfl5NGmu2yQAG1xJIRQPrBHQDqcbhjp0ScokaKYymwfokmK1/WalLsLkp4ev9Siv6BmyI9loUxy8uUdjQh0KVyk+qrU6OQ+yU16MH2FD5XjynGJoyPw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ja3LttUEMgKU90YSwAJw9FbEp+kznTCPhcOOhSVkfygP4X0usTyOWU9yl8VFuZDd+luJjDOeCW5HZeS2k7OSSPcaf5TI83qtpRrCBGpfV2/Q0unlSuobXG5nX6lBZ+7dbYUZloskRntW7RSq914m6Ze7E/WEsarQZYSMjTLn7IHZi57EdHH+8yyDn4vKZu4J1YwLfjeqRmHQFlvalbUFWMf8sh3Ww/NlFH3w9AgQyx/gasYEanE8lcV28P/KdmAOjcEgoqO2o95//EYi3GnKm1RUdiavWGfNrrSPyuD1rXuj7AgbbogEHcIjYNLCX3flVHKP77XaUYfKZKG1yUq+Upu6cMq1rDExZyR3QzUy9twmaOzJVs9sp41ECyuz7oaz4fDXW+BZ4G6F0/6bmkZTRcpfwW1nXKZcw8FBNtVPpUm+kp6XcHyU2q+CiYyE5NSvS20RZofEDtsC9YRMyELoj7zyD3ECd1H6a2ko0tFF3yD+gI2UjQd1GoZqsr9SW/sfZMF6xN1Gq6tJ5ZQqOcbUG4HCBBBo3Sdt22fZWcaQUlvv4artu0XdYBtxYg8MT+Mdk1uIx3f5z1TGttou+91q+7weRzY6f42fa/pgnVPNthfW9Axw8FmwkJ8W4vHcHKd7iWNXnmjrRE3QdyrZZN21y6dB1Y8/5LNijSB8qYI0R9rKxat008iHd+hzEEi6DGwkNrDSfseUgWxsntRixXKZIhfABtPI49KT4/HXGjY8s4/wVjmWaVig+z0QUzRTxYbLT8IcfUojFbjx+CqbZhZ9mOQvt1hy/nwJY053+k8TlESk/CXfD07CpEHlNATyR1+JUHzIrLRxE3WFigp3DpSmKO7UMuTlUfiT9THrkXHVhxS5XTbAG6Jrr6doJIqPBCSB0HwYUovwrp58IPFWX1NEsM2Di6khCBh3zTspAaxhx8lgluJv3aZrONrNrLIOwfucCbj0wcKXp3XYT5UBwIitv1gkz3X8PHmG34zCrxYQmD6CILwLJD2Awpk8fUEZNVFadpBhWJnxt5w9HxCrvdKZAYH1MPJIyi03tQmIkVpRUqNpABK/MJzdMlLKPjb4qAWaGNo9DcQ2+qCIftkZgQm3y71MyXS7Onxa/0n7ajjF/3yrLFG5TPBYmMdOZ0hk4cDY/NTBAs5GOnbFFW3SxSiwNh4AGFCrf8Ar5E8BfK5d8YH3nFgsGQdATbtfhU11y8YnOgE2BwNU0g2h0DmgNDf9VGp3kOnWez+SWVfY8V+LI2hj07EbYdh83hjFCDesZB4qT540uGxbBg4A9d+wIJZiCyo7GH9fqKkzCoAobN1Iu2ANUbmxLGlbReSdSFMaVKVc2PcWiBdw0t6a0UpEyom3NqzNOGY0W6zdLRFtV+MglMMLSzjvFTHv5kHMyMKeYF1QbKx76s1wuEds0x0uJ6On3JwKXQgE+qDYm8BFqWASl3c= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b71b5c9-55b0-4f0b-9155-08da2478c36d X-MS-Exchange-CrossTenant-AuthSource: BYAPR20MB2472.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 15:57:12.2259 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR2001MB0917 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220422_085718_350217_9D2B3D6F X-CRM114-Status: GOOD ( 17.97 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Icenowy Zheng As we're adding more properties to the OF match data, convert it to a struct now. Signed-off-by: Icenowy Zheng Reviewed-by: Samuel Holland --- drivers/spi/spi-sun6i.c | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/drivers/spi/spi-sun6i.c b/drivers/spi/spi-sun6i.c index 23ad052528db..84c525b08ad0 100644 --- a/drivers/spi/spi-sun6i.c +++ b/drivers/spi/spi-sun6i.c @@ -85,6 +85,10 @@ #define SUN6I_TXDATA_REG 0x200 #define SUN6I_RXDATA_REG 0x300 +struct sun6i_spi_cfg { + unsigned long fifo_depth; +}; + struct sun6i_spi { struct spi_master *master; void __iomem *base_addr; @@ -99,7 +103,7 @@ struct sun6i_spi { const u8 *tx_buf; u8 *rx_buf; int len; - unsigned long fifo_depth; + const struct sun6i_spi_cfg *cfg; }; static inline u32 sun6i_spi_read(struct sun6i_spi *sspi, u32 reg) @@ -156,7 +160,7 @@ static inline void sun6i_spi_fill_fifo(struct sun6i_spi *sspi) u8 byte; /* See how much data we can fit */ - cnt = sspi->fifo_depth - sun6i_spi_get_tx_fifo_count(sspi); + cnt = sspi->cfg->fifo_depth - sun6i_spi_get_tx_fifo_count(sspi); len = min((int)cnt, sspi->len); @@ -289,14 +293,14 @@ static int sun6i_spi_transfer_one(struct spi_master *master, * the hardcoded value used in old generation of Allwinner * SPI controller. (See spi-sun4i.c) */ - trig_level = sspi->fifo_depth / 4 * 3; + trig_level = sspi->cfg->fifo_depth / 4 * 3; } else { /* * Setup FIFO DMA request trigger level * We choose 1/2 of the full fifo depth, that value will * be used as DMA burst length. */ - trig_level = sspi->fifo_depth / 2; + trig_level = sspi->cfg->fifo_depth / 2; if (tfr->tx_buf) reg |= SUN6I_FIFO_CTL_TF_DRQ_EN; @@ -410,9 +414,9 @@ static int sun6i_spi_transfer_one(struct spi_master *master, reg = SUN6I_INT_CTL_TC; if (!use_dma) { - if (rx_len > sspi->fifo_depth) + if (rx_len > sspi->cfg->fifo_depth) reg |= SUN6I_INT_CTL_RF_RDY; - if (tx_len > sspi->fifo_depth) + if (tx_len > sspi->cfg->fifo_depth) reg |= SUN6I_INT_CTL_TF_ERQ; } @@ -543,7 +547,7 @@ static bool sun6i_spi_can_dma(struct spi_master *master, * the fifo length we can just fill the fifo and wait for a single * irq, so don't bother setting up dma */ - return xfer->len > sspi->fifo_depth; + return xfer->len > sspi->cfg->fifo_depth; } static int sun6i_spi_probe(struct platform_device *pdev) @@ -582,7 +586,7 @@ static int sun6i_spi_probe(struct platform_device *pdev) } sspi->master = master; - sspi->fifo_depth = (unsigned long)of_device_get_match_data(&pdev->dev); + sspi->cfg = of_device_get_match_data(&pdev->dev); master->max_speed_hz = 100 * 1000 * 1000; master->min_speed_hz = 3 * 1000; @@ -696,9 +700,17 @@ static int sun6i_spi_remove(struct platform_device *pdev) return 0; } +static const struct sun6i_spi_cfg sun6i_a31_spi_cfg = { + .fifo_depth = SUN6I_FIFO_DEPTH, +}; + +static const struct sun6i_spi_cfg sun8i_h3_spi_cfg = { + .fifo_depth = SUN8I_FIFO_DEPTH, +}; + static const struct of_device_id sun6i_spi_match[] = { - { .compatible = "allwinner,sun6i-a31-spi", .data = (void *)SUN6I_FIFO_DEPTH }, - { .compatible = "allwinner,sun8i-h3-spi", .data = (void *)SUN8I_FIFO_DEPTH }, + { .compatible = "allwinner,sun6i-a31-spi", .data = &sun6i_a31_spi_cfg }, + { .compatible = "allwinner,sun8i-h3-spi", .data = &sun8i_h3_spi_cfg }, {} }; MODULE_DEVICE_TABLE(of, sun6i_spi_match); From patchwork Fri Apr 22 15:56:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: icenowy@outlook.com X-Patchwork-Id: 12823707 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D3D29C4332F for ; Fri, 22 Apr 2022 16:01:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=p/I85JzKc7EOHE775srv+eHQcA82cOF3KgR0TfXoXgI=; b=Kvt5cDtfX41jr4 iNk5bcSaBlPORamLe3+Mpc88IzmhU5SE1ZynxYd+7CivuTJIm3XPbgJfzi68VxvLtVx0AEQj1KhnM Ao/9D7Mj7+hQXlu5qfkruBexmhu6WV3n9kz8rxpcioIL4tqS5F6S4041Z95ft5WbevCm0XYAHpsrM k2UKwyAIaw+KS1zuprBfPO2w8wBnB3ey22FJtm3RSad9CSZXgZqFumZxdi4ePvgTgm/p5ILtElCMe /mt3ZnRyR1G+PvGTw44hi6bxLtOpl+4LUSHSC1QGqjdr3Y9ZKZe5rFnSWntjEGJAMxvXRkFfiqYup jcStxlvAedm7fuB5WkdQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nhvhq-001HJo-G2; Fri, 22 Apr 2022 16:00:27 +0000 Received: from mail-co1nam11olkn20830.outbound.protection.outlook.com ([2a01:111:f400:7eab::830] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nhveq-001GHT-8V for linux-arm-kernel@lists.infradead.org; Fri, 22 Apr 2022 15:57:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H1FNmpN9DOyQo0575y/T2TyykMB4Z156FzWVeWwEcex+QpEmrgjduVmPL1obXuWrQF8P3RDC2Ep0X87TU6FgTI5uKWp2WCQJ65MdmKLc7nDjsUfDt9iGSLfFwPZyEmMTv39296y0+IyN1NYkYb9J/7gNGtRU1lFm8aHS1+JVY5ffznCd3PNkE8FkH0GEVVoDrPNA+PVzxJKAIk1FVagNiyeOLLCMKYMX13sm3zAPTF5aBjdwuXYSOtxk9ioSwCHOLU7ZsDzNFLkOTMIqQEnlW55gneNPB/zmddYsYlc85/BBTrglOazlmrfEXpvEluSBY6/cItTzcYBYyYNsr4B03g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=w214JjkWxts/kZdYSYyJbA2zAoSYiPb6tUrTOsI486A=; b=CF1PiUzUNMeQ9+ZqLMBf7/RVzk4t1jibhLnMqVhB2WMpEHsE+tjOcr6kP4vamGc0Hak4dESHnwoGq3pn0pEHnUP89Fo8Td2blgGOs+uFJ07kWCgIZSfCIQl5g9FAEZkwKz8QwgTrxqy3CHGUkEQcYgS4w+3r3nv/7rMudGRW1rVaVvnGVYAcSQsqkbCEu8mUJvaaeM016ugh8QNb8TMWV7Dw07A3uQapOtNEXzZ/HtpBydESlTBSQ5SpWKeVJ+Igqi0Zbk4VyOanNevruc4bfwTkbiXXwXQWDuF82jjBbMNKsNAc2HwrlBszNrnhGDXYPWwHiZor1GyHV9uCSa+Nyw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=w214JjkWxts/kZdYSYyJbA2zAoSYiPb6tUrTOsI486A=; b=avIl6xb9ivtcLGSSB2c593ZJpAGneeVYLnxiVtHTcDy2915NSfu6Q6+9hsDVTetrt/0MemLtcSm6sJywl+6Khhz7Dt4TVkNJKN3k/HH4KMCZaNRx/PK55vcrXIUlyahFjobrA3ToDL1MuBVHdX+JHSWa986WYZ5z/ThjC1wxIgIJlTW4nZixhAyKYfKmZTQQuz9NKgnNXUtdaJiHMqqgWKJKxgYK8MdhXDkgg+31tLO2leBRBGUC0A0pNd8fkHxXDAAzBzdW9ZgH/boZPl2JjJep5Pjn9Dq25ngxNaMSTBZcfVOzvSLydO5sxstzRfdW4cJhJEsVEfBYNFn3kHEAZw== Received: from BYAPR20MB2472.namprd20.prod.outlook.com (2603:10b6:a03:155::16) by CY4PR2001MB0917.namprd20.prod.outlook.com (2603:10b6:903:d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 15:57:16 +0000 Received: from BYAPR20MB2472.namprd20.prod.outlook.com ([fe80::3480:160a:eb92:d6e3]) by BYAPR20MB2472.namprd20.prod.outlook.com ([fe80::3480:160a:eb92:d6e3%6]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 15:57:16 +0000 From: icenowy@outlook.com To: Mark Brown , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Ripard Cc: linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Icenowy Zheng Subject: [PATCH 3/4] spi: sun6i: add quirk for in-controller clock divider Date: Fri, 22 Apr 2022 23:56:38 +0800 Message-ID: X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220422155639.1071645-1-icenowy@outlook.com> References: <20220422155639.1071645-1-icenowy@outlook.com> X-TMN: [6on+UoLO1ATpsFxi0pyPJsItMb+i9p/A] X-ClientProxiedBy: HK0PR01CA0059.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::23) To BYAPR20MB2472.namprd20.prod.outlook.com (2603:10b6:a03:155::16) X-Microsoft-Original-Message-ID: <20220422155639.1071645-4-icenowy@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 27e00b0f-5279-4cf3-da4c-08da2478c62c X-MS-TrafficTypeDiagnostic: CY4PR2001MB0917:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dPKginjMP6LZfTjk1VtW8Pv4RLWarsXenZrYwgtH0SNDfyjwQptrmY2qopUzZ4W0i0drObBPzNaiSm9BdHYwDMhaArHpxPYSyXnO9qSpPYfYgMgjvzBBGtGWqKunBgGX42/2MyeFXdjYPQ26XWbWKJ3uXan7PXVGEChTr2PVezOJgUZFsG+KXiFt45IhIF1nSAsSp+CnO/ehpRHLm0528FccF+Hj2VAGkriXnChKbrbxoalRERv96Al7rR0fM1+FHK2rFqlH6kf3GWhEziFJwrIa6URe/DTgFRAU/V5b7R97+Boe8bZpq2GUfCaMMQde1r+PZO5cMrDD8mSr2c7U0sOmDAYvB574ZKzgNMXaexO4+6lF5nrLtB+XdHX8QGOjgwpvBXrrw8HGmCAefESrHY8cfN/0Dats/wwA48swne4ijiCQE5apZnsP6ckiqX/nqOo2YfzBCcnGeowhD3+rQiP8ON/bpLyOExM1Y0wVlnqghVzgv0bY0kAuJVmFeDu/rJomqoflMppijHIqA++IJxEmHg4gQGPffiVhhNNfcWxFI23/qkw5N7UTeNtP8YtWDIvpPokrtqDQa29COy5nqw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: P+vnShno19Ic9CduPeN6aaWaPDycWAQUGaRx9kLEovgbIyi57Iy91yGVizZCShxPzqNr2kS2ZLjkeH2BsA+dYzp3PEjsJcZdiuB0ihul5oKu75Mo2dOJe4Q7JwIQDTwbEOtFwDuCEbYiR8PSrHa+oZP5XTFWHMy0xRQ8Y7C+DxCWK+yxXxeCjUqKQxweytzLkzin+EdfxOpZKnrAvJrfR+QiUL2HHyv1pGOfjjHgPg/DVwW9Lp/xrU4bieQI2LwGwRGVOTR9xDgTON+14Ys/QWf1KzNz2JbipE0WvyjLVoisy27ToqGNfo/cNDQKtZ6DeKk3nYyDi3rC0gp4omhK6UmyPRpEbjN2s2SsGYWux3hbHk8Sk7WnLogZzMxgkZES13Q6I3rEMtmVW/nOa+K0Exg7oHJR20jPyigyfc4uuY4LMtDrRratGBA3cDgdAW976rvGfl5D9/H5PaR5x+9/UT+cqZdJ3ZN97aBqPCUVF8eBuQLFhX3Sy3/DjzQVdZx3nsg9Q705StiVbLUJ4psPkOTJMD9qtPqv30l2zc71oOrJTBW0sd4vu6ltbyKaLThqWW7wo5mqphOZMz8GPSXk/tREZjK3lT8Gv5z75+uldf60ZmHMfsqy6fJpB/Zq65ja7Xos1CshJNL2qs8SdYkbSMYhVMqXl4/zGIEGHSl8brWXHLUOEbyGd1Dugv+KxhX/929xYZFn6/OBBM2y6r2U+Xiqzl0QUMtfD0hU9/Eh7418vlEtGfMq6qIasKQAUsqDfLdKVSxV3TnKS3yrz71wPKEksMTQvPbWrIHhv8jBMuUN+9eYZVoFR0pMG0s4x4n9LLgjTXsYdKRdp0hyCV+ErKB06plL5LetQMuNuLMV14auzH6P3XTV+NjKJfV8OV460uABuagzsr0a1AM3GH1HW2VLRzoW6uAj7WVe+aH1f/qrWyfoKS+G+XhWmE9gyMhx30VnK4nDHKJxS3yoTHunFsEiZKwXLvxWb1qRyf0RKbZcuyHsSlRawb2YoaVaQQUsQmpuKjcvuuoElHw6H3BVOt5+dTSfcgvV8DFNrcWeaszpDrdrmXJKHhYISK1Hawb28eLA40Ry9eo/IhYzxumbHmV0ZvV44e8Y4Ib2KJfCM4ECQoe0ekYmolz+tUg6BhWhkAMebLV8vPC50ScNbd/N3gNKpyejFgjRwCsnu7uwj1yO1IvQoKZ5LrMGdo9If7YhAETkXuaDoybhA1ACU6RmprzsicvZ18LBPg7ED8XzHTkkUNBdfoB/hl/8UgPvwvZFOi4d35xbY43JycFRJL6T0aDYe5w8nFsi9cGaM0AUxQlnUSvEaWCcSWADsn0DIL4xTToEFcTrmnB1o3RQXvVTXfJPjtqV5aIIrWy9yFFcVfo5kIAiXGpCt9EhYK0Yv8Zkq/MUb+9/aOLFFJnhYwlbPrhF1KR+qY7BC8cwL3QgqmA= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27e00b0f-5279-4cf3-da4c-08da2478c62c X-MS-Exchange-CrossTenant-AuthSource: BYAPR20MB2472.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 15:57:16.8506 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR2001MB0917 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220422_085720_379681_2FBF3282 X-CRM114-Status: GOOD ( 19.38 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Icenowy Zheng Previously SPI controllers in Allwinner SoCs has a clock divider inside. However now the clock divider is removed and to set the transfer clock rate it's only needed to set the SPI module clock to the target value. Add a quirk for this kind of SPI controllers. Signed-off-by: Icenowy Zheng --- drivers/spi/spi-sun6i.c | 68 +++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/drivers/spi/spi-sun6i.c b/drivers/spi/spi-sun6i.c index 84c525b08ad0..fc81afc3a963 100644 --- a/drivers/spi/spi-sun6i.c +++ b/drivers/spi/spi-sun6i.c @@ -87,6 +87,7 @@ struct sun6i_spi_cfg { unsigned long fifo_depth; + bool has_clk_ctl; }; struct sun6i_spi { @@ -260,7 +261,7 @@ static int sun6i_spi_transfer_one(struct spi_master *master, struct spi_transfer *tfr) { struct sun6i_spi *sspi = spi_master_get_devdata(master); - unsigned int mclk_rate, div, div_cdr1, div_cdr2, timeout; + unsigned int div, div_cdr1, div_cdr2, timeout; unsigned int start, end, tx_time; unsigned int trig_level; unsigned int tx_len = 0, rx_len = 0; @@ -350,39 +351,44 @@ static int sun6i_spi_transfer_one(struct spi_master *master, sun6i_spi_write(sspi, SUN6I_TFR_CTL_REG, reg); - /* Ensure that we have a parent clock fast enough */ - mclk_rate = clk_get_rate(sspi->mclk); - if (mclk_rate < (2 * tfr->speed_hz)) { - clk_set_rate(sspi->mclk, 2 * tfr->speed_hz); - mclk_rate = clk_get_rate(sspi->mclk); - } + if (sspi->cfg->has_clk_ctl) { + unsigned int mclk_rate = clk_get_rate(sspi->mclk); + /* Ensure that we have a parent clock fast enough */ + if (mclk_rate < (2 * tfr->speed_hz)) { + clk_set_rate(sspi->mclk, 2 * tfr->speed_hz); + mclk_rate = clk_get_rate(sspi->mclk); + } - /* - * Setup clock divider. - * - * We have two choices there. Either we can use the clock - * divide rate 1, which is calculated thanks to this formula: - * SPI_CLK = MOD_CLK / (2 ^ cdr) - * Or we can use CDR2, which is calculated with the formula: - * SPI_CLK = MOD_CLK / (2 * (cdr + 1)) - * Wether we use the former or the latter is set through the - * DRS bit. - * - * First try CDR2, and if we can't reach the expected - * frequency, fall back to CDR1. - */ - div_cdr1 = DIV_ROUND_UP(mclk_rate, tfr->speed_hz); - div_cdr2 = DIV_ROUND_UP(div_cdr1, 2); - if (div_cdr2 <= (SUN6I_CLK_CTL_CDR2_MASK + 1)) { - reg = SUN6I_CLK_CTL_CDR2(div_cdr2 - 1) | SUN6I_CLK_CTL_DRS; - tfr->effective_speed_hz = mclk_rate / (2 * div_cdr2); + /* + * Setup clock divider. + * + * We have two choices there. Either we can use the clock + * divide rate 1, which is calculated thanks to this formula: + * SPI_CLK = MOD_CLK / (2 ^ cdr) + * Or we can use CDR2, which is calculated with the formula: + * SPI_CLK = MOD_CLK / (2 * (cdr + 1)) + * Wether we use the former or the latter is set through the + * DRS bit. + * + * First try CDR2, and if we can't reach the expected + * frequency, fall back to CDR1. + */ + div_cdr1 = DIV_ROUND_UP(mclk_rate, tfr->speed_hz); + div_cdr2 = DIV_ROUND_UP(div_cdr1, 2); + if (div_cdr2 <= (SUN6I_CLK_CTL_CDR2_MASK + 1)) { + reg = SUN6I_CLK_CTL_CDR2(div_cdr2 - 1) | SUN6I_CLK_CTL_DRS; + tfr->effective_speed_hz = mclk_rate / (2 * div_cdr2); + } else { + div = min(SUN6I_CLK_CTL_CDR1_MASK, order_base_2(div_cdr1)); + reg = SUN6I_CLK_CTL_CDR1(div); + tfr->effective_speed_hz = mclk_rate / (1 << div); + } + + sun6i_spi_write(sspi, SUN6I_CLK_CTL_REG, reg); } else { - div = min(SUN6I_CLK_CTL_CDR1_MASK, order_base_2(div_cdr1)); - reg = SUN6I_CLK_CTL_CDR1(div); - tfr->effective_speed_hz = mclk_rate / (1 << div); + clk_set_rate(sspi->mclk, tfr->speed_hz); } - sun6i_spi_write(sspi, SUN6I_CLK_CTL_REG, reg); /* Finally enable the bus - doing so before might raise SCK to HIGH */ reg = sun6i_spi_read(sspi, SUN6I_GBL_CTL_REG); reg |= SUN6I_GBL_CTL_BUS_ENABLE; @@ -702,10 +708,12 @@ static int sun6i_spi_remove(struct platform_device *pdev) static const struct sun6i_spi_cfg sun6i_a31_spi_cfg = { .fifo_depth = SUN6I_FIFO_DEPTH, + .has_clk_ctl = true, }; static const struct sun6i_spi_cfg sun8i_h3_spi_cfg = { .fifo_depth = SUN8I_FIFO_DEPTH, + .has_clk_ctl = true, }; static const struct of_device_id sun6i_spi_match[] = { From patchwork Fri Apr 22 15:56:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: icenowy@outlook.com X-Patchwork-Id: 12823708 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 85FF3C433FE for ; Fri, 22 Apr 2022 16:03:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=P9NXNqATjVc68QSE+uplM8dXEpgSabn0sBQCyMJMe9g=; b=kNs7QpgWh2D4jQ f+fE/tRsASz69nAUHiZ3WCoq8k5WloxSsZwtz5IUldYZO6DJNbR1z5MDEvwbucbU7EiHwhs7OLe6c ydVmBRrYTEfMc+f3/2MuGcYS1Wg0lswghoCRW0GxyfPiIiFAMxdMEVCwWTWWErSW29Pj5g7wQH6Ve 3+PEAYNM+VfWzXfCapNzo5rTl3cCcvqGgVogcbrUvWQ2gqZNKHtYHeC6dUKRUEKEAck42CnHhcgGW yG6ST2VvlBsiUewHxG2bTIBAE273nH+wKw+PGaGRMsTnHCC9dh06gkCZUgTKWHvAXM2AW5CZP4Dd5 Nwe4mJPwnEr81qHma2Ww==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nhvin-001HeP-TS; Fri, 22 Apr 2022 16:01:27 +0000 Received: from mail-co1nam11olkn20806.outbound.protection.outlook.com ([2a01:111:f400:7eab::806] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nhvex-001GMq-Mr for linux-arm-kernel@lists.infradead.org; Fri, 22 Apr 2022 15:57:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U3mPCAcYAUBDc2YKR+tQ21mixuCGB3sBySkLcCAdQBRjmooamvqLZO0YvZ9r7yFO4IHL6+aD5rF+dBE3C5IzLRaw5sD8Z4W6QKiFCPdko/l4QVGWmV4VSKGp9zeBCBOe3Tkk0o6/avyA+8RqMhgOFFO0kJ7MEqX8lgg6sVNeuAci20/+uShNzfl27tD1d9Arzdgg7Jl7Lf2Y+MK5aete/cfJmZo6PQ1AB5e0U9m6i3BQ1ZqUOKm90PFc5xcrb6bMqN/odoZf0N4MBvh5kaLhUtGJyl2zdnq1LzM/Rz0RN75JBJA/+UGvLGdY02jHmKg7YpTXVorbuKCMUC0eBfvGAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=g/nkuKY6fOKGmnQLLGSq3ReQr9gJ5aTylkHMaLhGwyY=; b=ECysYfKRHMUOG0HuOgg7S2gaAJt9w2pbG736dToFnVyTBvGLo7vm35ZJO60j+CBKDwF6JFfZWYY6kr1LnCQbwxbENLUSrWKeQ+8ETHVeqJBmED3Gi+raLpji6wAvpM/UHWkFEeipyc/16F+o35GCK1o9uElMk/faIp4x3vOvyAxNH3C0tHYUEwt3yDlvZ5xKFc+10AZk6CCt+/fgsQ5vVxog53Itn5dmTCD1rWrdzkwTrjBD3xouL3IRCpxJ6xUkHCA6i18JTpyCY4fU61mGV+BrpRr6Wve5Dzru/JjZyVEEMvSnI+mY/ruc4eV8VnMxKylYyWD3d7xoKcJhAU4urg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g/nkuKY6fOKGmnQLLGSq3ReQr9gJ5aTylkHMaLhGwyY=; b=sY7TDSZ9aJ7ZkjsN0b0AT/3qwO2BUIiAfH7mUrD+rssH52m2DgowFZVTI5wk9pkeOUaxjpc6TFNB1NzZs+MGHiUgAyhuhdS7Z8HaPbjPaq5LWekysAGjs2rs5obWwNB4v3gYdZsXmv7lq6Ji+rXp1kHQqv78vDVs27waz5Ln0+o+dV127z+WQhuAgFR7tQKO3nbcKJFvOL/KfiGGTAcovc7qA1h24Gzq0y7hAyVmPOpeSUG6QwFDxkbxB1OR5BICRf0+s8N00/H2uEMO437rCHWVldVomSmmYYoaPA1nOtZ6YEqPPNZivxhskxLpEjGRHmELKaN9fvOSwrjB/cjl1Q== Received: from BYAPR20MB2472.namprd20.prod.outlook.com (2603:10b6:a03:155::16) by CY4PR2001MB0917.namprd20.prod.outlook.com (2603:10b6:903:d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 15:57:25 +0000 Received: from BYAPR20MB2472.namprd20.prod.outlook.com ([fe80::3480:160a:eb92:d6e3]) by BYAPR20MB2472.namprd20.prod.outlook.com ([fe80::3480:160a:eb92:d6e3%6]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 15:57:25 +0000 From: icenowy@outlook.com To: Mark Brown , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Ripard Cc: linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Icenowy Zheng Subject: [PATCH 4/4] spi: sun6i: add support for R329 SPI controllers Date: Fri, 22 Apr 2022 23:56:39 +0800 Message-ID: X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220422155639.1071645-1-icenowy@outlook.com> References: <20220422155639.1071645-1-icenowy@outlook.com> X-TMN: [MGFqH9QJANVe0BzP0KPvht+S9gJKbyRg] X-ClientProxiedBy: HK0PR01CA0059.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::23) To BYAPR20MB2472.namprd20.prod.outlook.com (2603:10b6:a03:155::16) X-Microsoft-Original-Message-ID: <20220422155639.1071645-5-icenowy@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bfea3a30-45df-4fad-b1bf-08da2478cb0b X-MS-TrafficTypeDiagnostic: CY4PR2001MB0917:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3Md5mcrh3B8WOSwFTddObXMg27FbduhwK8YlquuBIhVoJCOwRFegAwd6fSkOZv9j8rLHdq5DAMcL5ILerLMeyQmAntm1S3XvJp/rbZytNs8552Zx9OjpH97iQ5cwiApuno7t6Iztv9TgKqzUT04e/vG95ySXu+3L8KXzST6G+qgGfipAd0isnZ2uDXFwg4Ecw9Vu0GV9D19GOLY3ClGAYF6G1RX/B8d8vmFvIc6NgIzbqrEhAC8x+5S7rTdQ4lC3Oq7NtVaT9DjBFMtYQKIVNjCg9isF24cy5DFm8zTxp0j7eySE+3yXzgI7PisFtdTvkA+SeIoTvB5AGcmZTlz/xg6u8guNENHfw23E49RwNrOPBNmhgZm2N2fIi/U3QiMWAFLHegtGha3bdCCnG4PNagcUetOtThiJ6uC1dSSkQa3J0fRsYUh3hdQ/AwwQCY+8zxT0A039XpvNezIgc0ckSH9c0YvwVXAOFrlyKlERN5sxv5oGlXxQaRis0TI55IkRuYEupLpSZv4igUt3PSL1R1Qf4dtXvN7VC3AbPZ072zZ1YiXG8/QuJ17N3gUIR++FVahG4BZLC2cECtXQ2MB6xQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XVN7wxGmEM+/QD/C6r1JWjXvcLHF9LPH+j4Eax4bZC2FHpsoJ4/WMdkVetonmGsdYlf0D8DjYm/XUH2v9VpBY18oybi4f5JVGtPB6YPCrcY/p4EYEOi0CtjgSiTleVCAaPXgnTMLC8Ti1GicPrLmhqdDgK2gELl+XBOgT7WjyuQuoLIuN1Mufuj8M5l6uU9IXQyD92SO/10NJXA00jBmN6/fJuT/4NSX61mfNBKfrnl8UXXEM8+Ssu7vgK6wZPn8BYFbtGpLScJAe65+b9yyXVABW6S/DOoQk5SxKIoNbs3HFV2mqV55eFt8gUyhdLZgIXWi5OZQtVkkp2AvHMlCEc/S9gCF00h3LiaYBH4FaQz1c691f6/cFF4xKpDNjqFjd7VE6rKAsmu1nnyjGEy8V8IJM9H4fYlCFGUd8yEXRx22WnzRUne9CDY8pAevCPKuRYXWoVnMGbbD4H9NUAkR/KA2HBer/kH/RlmZJZd+rGNUsZbYYQmRDcXypuCsZ8+DZvNJxEgbJwODU5UdfyhE710v8f5b3HM4jYRsis+KNm4r8fUMxMNISVoMY1MqD2PrySBlKyGv+Aa7jA2RDdDoCgvEanplB/Rz3NVkmAzqmLYq+TaSLX+2fvlOQ7dJnH0YLukgKsC/qyS/9pcGh9A0rseZ46+eyzh6fNRoP5hORSrTYoZFEI6wcfkFcQ/6yvvEH/8KjEQo5mFJ6DB5PIkvNqY8ncuPUcVJpmZZc9LaHOAnRPBfjKUKNcDAjox7BOudRUtevjnPfntGv+WpkcePwuBJ6T44tgLEQiR68CsxdJiUD6iSeBVAmcUYgNTZs4z64QY3nxxkSIX68rNRZz5KbYRN8ezfwSks+6dOc9pOhoGy4cVrZ6rcpQA1pZfg0NrUxj9sXv/FBTpZ1W559W064rASk5iLcUZqM3pohJYYgBYism8j+YtkxppcCQNY9bFXE5TOtcu8dW4BT1u4Lmfhgl4m5Yr9JiRmKD85lOhGnzxc+hlN66w0J7WIKWyIVFiAcitQBtLY4DOdPBEDUkS7Sw1vcec1S6mISuvmXBidzNd9qyUbHOIxRR+ccEWi/SFLGWjt+juIlYPKd9P9ieK59r+p7akRV4ZiR5YCIUwXbqHQpDkO+TK5eL/5bmGLfCtlYcL1jhQ2RnFTY5Ji7C2jAi1yqMuxDXNlg++O0BiB7dgmyDHzKGzo2RyIXQWODuvZ1xzXR1f/aCydO1UmpZ/YswsSKdA/B4NzXRni+xYOL+af5B5oK1A8VQsjjyYbJ0mz5oA9clG9O3Ys1rRODLxXrvUjTYC1pjpoKkMuEN2XFM+7xYkgoAiATewS5PjQG7EdMvTWSPsUsKdSwunO+Nuu62ZWDl9nMeRa/pCc21znSVxT6TT7BOhTwymgfiSBcQyzYx6vkJOF8UHbTb9MosmtnI/hE0wbb7A/MKjlLxhwQDg= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bfea3a30-45df-4fad-b1bf-08da2478cb0b X-MS-Exchange-CrossTenant-AuthSource: BYAPR20MB2472.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 15:57:25.1625 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR2001MB0917 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220422_085727_817892_A23D94DA X-CRM114-Status: GOOD ( 11.97 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Icenowy Zheng R329 has two SPI controllers. One of it is quite similar to previous ones, but with internal clock divider removed; the other added MIPI DBI Type-C offload based on the first one. Add basical support for these controllers. As we're not going to support the DBI functionality now, just implement the two kinds of controllers as the same. Signed-off-by: Icenowy Zheng --- drivers/spi/spi-sun6i.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/spi/spi-sun6i.c b/drivers/spi/spi-sun6i.c index fc81afc3a963..c4bd8ea31b43 100644 --- a/drivers/spi/spi-sun6i.c +++ b/drivers/spi/spi-sun6i.c @@ -716,9 +716,21 @@ static const struct sun6i_spi_cfg sun8i_h3_spi_cfg = { .has_clk_ctl = true, }; +static const struct sun6i_spi_cfg sun50i_r329_spi_cfg = { + .fifo_depth = SUN8I_FIFO_DEPTH, +}; + static const struct of_device_id sun6i_spi_match[] = { { .compatible = "allwinner,sun6i-a31-spi", .data = &sun6i_a31_spi_cfg }, { .compatible = "allwinner,sun8i-h3-spi", .data = &sun8i_h3_spi_cfg }, + { + .compatible = "allwinner,sun50i-r329-spi", + .data = &sun50i_r329_spi_cfg + }, + { + .compatible = "allwinner,sun50i-r329-spi-dbi", + .data = &sun50i_r329_spi_cfg + }, {} }; MODULE_DEVICE_TABLE(of, sun6i_spi_match);