From patchwork Tue Nov 12 13:16:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajan Vaja X-Patchwork-Id: 11239261 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 77D3416B1 for ; Tue, 12 Nov 2019 13:17:20 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 4DB50214E0 for ; Tue, 12 Nov 2019 13:17:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Z7/8/P7G"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="S24p5YD+" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4DB50214E0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=711eQzdHOuobXq+GBLtjdwwKb1nK7rGWhWtuvZzqNh0=; b=Z7/8/P7GyaH5EN AMOZ6e4ptWKKsY482oDJ2zJZcJ9PRlQzcmZKT2LzH2QO6JhP55LcYkcfEER9YBFlgU95QncUwXO08 VDaoqmOMaNYlD3i9YBzxL0Wd5IE6xyDjgnUXp/6u7KJxRp9CfUOJKei6012vJzjktTY4SRvRVUf+p Weq38yeQJmobdm1Cnhj34yikTSx/A1wgZlPNYhrTXlUJk6E5tNmZwqCA4CCheQl5WAr8pK7ujwGrQ vcbBKPlLwmmqviBx8HdyNA3VFqssMhSjbfR1cCiJJfZM4w9dktC7fmR6fRpz8AgDLuI1rTeKdw6// pyKLBTBvIgdd7QD5ZdYA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW2n-0006hs-Vb; Tue, 12 Nov 2019 13:17:17 +0000 Received: from mail-eopbgr770040.outbound.protection.outlook.com ([40.107.77.40] helo=NAM02-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW2k-0006gJ-EF for linux-arm-kernel@lists.infradead.org; Tue, 12 Nov 2019 13:17:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j6Rz6lfQgYL60jy21SJMgfZx9jkO9kBk0fHQF4JWYkcSBKHvAPJFJOWqP1IlWDg6iPg1+FqFpwvPzLHkQSedllGSPGnQbQFVKQ+OYNfHtknJIkhkqNHZm3I/THZunGs+FlUqgOWMivlNHuVZIOCdvXZYxtQCSuYPAz4YygVDbW+L9vhyVgGNdt6Y/wr4oHVDhonu2vpBumSq1YWSLY0HF6kTzmgJWOzDtk/O5OS+pCgsi44xRMQ3v4wzYMFUCnwviRZx05pKUGsq7T/edCKeXKX/wK8cYljlxdgV6icbxatrGahOIdOH3ucN1oBcdCn5awPR24waOiAmssM84wzijw== 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-SenderADCheck; bh=dl+KELpfYNZv9NmQyswn9xfjIyTI1Q2mFynohk2xHB4=; b=QQZmeImkoIzEKrZPtaibDdklJejBNBiNzkHDSuJa4m/Cj6LQd73MPDeFhfOOJUOTlmoGFlozdKycBK+gv7owMITTfxxqWqKaqsNPzE0e2X7BVLd12kfP8/Rfo4nS1XTOG6AOOTIjkBkP5qTpdCUA6qGpipZlaVk1RykpT/m40geW5iEeauQcE6LouNfh6w/qkSHsyypfzdMIeYPcOKU1hwx2k/77UJt+0m+loUen5QVbjLdVJd4dQXOFPCvbM02rDnpba77nwlNqQzvPkCdphs4P2C9FwOq2gvhy266ODpPUlyiu4glYVoPGTsB97uDV7bso/YFjVwl59b9PILLpmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dl+KELpfYNZv9NmQyswn9xfjIyTI1Q2mFynohk2xHB4=; b=S24p5YD+q49Zfq+c6hXXPnQU60TVD3UFAFMkNbtSpkR0uApCdM+6qkKMmJNjxz/ZalDfBMw3J5kCvSQwI51VmzaX3SZtw50MImWmCnuOnGBImuZ9ArLVkBYJ5WXGKcZ8GenNoV764kCZlv8Bot1HaeAK7C0qGjgFL4yxMPgjqhE= Received: from BN6PR02CA0025.namprd02.prod.outlook.com (2603:10b6:404:5f::11) by CY4PR02MB2727.namprd02.prod.outlook.com (2603:10b6:903:11b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.24; Tue, 12 Nov 2019 13:17:10 +0000 Received: from SN1NAM02FT059.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::201) by BN6PR02CA0025.outlook.office365.com (2603:10b6:404:5f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.22 via Frontend Transport; Tue, 12 Nov 2019 13:17:10 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by SN1NAM02FT059.mail.protection.outlook.com (10.152.72.177) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2367.14 via Frontend Transport; Tue, 12 Nov 2019 13:17:09 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2f-0003si-A6; Tue, 12 Nov 2019 05:17:09 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1iUW2a-0004GJ-6Y; Tue, 12 Nov 2019 05:17:04 -0800 Received: from xsj-pvapsmtp01 (mailman.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id xACDH089011276; Tue, 12 Nov 2019 05:17:00 -0800 Received: from [172.19.2.91] (helo=xsjjollys50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2V-0004Ds-VB; Tue, 12 Nov 2019 05:17:00 -0800 From: Rajan Vaja To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, michal.simek@xilinx.com, m.tretter@pengutronix.de, jolly.shah@xilinx.com, dan.carpenter@oracle.com, gustavo@embeddedor.com, tejas.patel@xilinx.com, nava.manne@xilinx.com, ravi.patel@xilinx.com Subject: [PATCH 1/7] dt-bindings: clock: Add bindings for versal clock driver Date: Tue, 12 Nov 2019 05:16:14 -0800 Message-Id: <1573564580-9006-2-git-send-email-rajan.vaja@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> References: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(376002)(396003)(39860400002)(346002)(136003)(189003)(199004)(14444005)(51416003)(48376002)(76176011)(7696005)(478600001)(36756003)(356004)(6666004)(966005)(5660300002)(47776003)(50226002)(2906002)(8676002)(81166006)(8936002)(81156014)(107886003)(4326008)(50466002)(36386004)(316002)(11346002)(7416002)(106002)(186003)(426003)(6306002)(16586007)(336012)(26005)(9786002)(6636002)(486006)(70206006)(70586007)(305945005)(2616005)(476003)(126002)(44832011)(446003)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR02MB2727; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; MX:1; A:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 253c8779-78f3-4de5-290e-08d767729fad X-MS-TrafficTypeDiagnostic: CY4PR02MB2727: X-MS-Exchange-PUrlCount: 2 X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-Forefront-PRVS: 021975AE46 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8g0H98zg6HVsgIvxBVFdaHBxJjI4Dd+Cz4kqCZW1lXCiD0/Klc5c4gW4m2lx+xKHaKcIFNp74IvMyILm9Os/dpXhLcIqjycLUYjPeRmP4CrnKAeWtnlJkrMnDDULEfg67y+1X9KC9oB/xebqiZ3ltOsZELj05iH/xC/C5KSaD9pvgXNQVqN5cB2VrXhh8O2hmUYWR/KPbqSb2vUXER8GnSlZlXESMzQ/rXXggMEMoEnBUKK0SeYB2h+79i23thAVi5zun6/EP1T9wY4/gCitlUxsHUAHuhIex361J1IEhjOJ8JYYNuADeIyGHq6HNai5ZESVZaQJZNtq/3KmabsSAKSrwG30bIBoEIkYRJh9dywz5GVBkS7tJqE8Rit1Ow/fgQazLnS89LZQdigDxJa3q+APKXKMIT1JR/pWN4L+E3QBeoY0nIHaxNqUsEB/qhpa2rV8oXAKAUSF2roWeGy5r6zgy8epH1d6F5omPVRPYx0= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2019 13:17:09.7571 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 253c8779-78f3-4de5-290e-08d767729fad X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR02MB2727 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191112_051714_481982_86F4907B X-CRM114-Status: GOOD ( 13.72 ) X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [40.107.77.40 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Rajan Vaja , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Add documentation to describe Xilinx Versal clock driver bindings. Signed-off-by: Rajan Vaja --- .../devicetree/bindings/clock/xlnx,versal-clk.yaml | 67 +++++++++++ include/dt-bindings/clock/xlnx-versal-clk.h | 123 +++++++++++++++++++++ 2 files changed, 190 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml create mode 100644 include/dt-bindings/clock/xlnx-versal-clk.h diff --git a/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml b/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml new file mode 100644 index 0000000..da82f6a --- /dev/null +++ b/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml @@ -0,0 +1,67 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/bindings/clock/xlnx,versal-clk.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Xilinx Versal clock controller + +maintainers: + - Michal Simek + - Jolly Shah + - Rajan Vaja + +description: | + The clock controller is a h/w block of Xilinx versal clock tree. It reads + required input clock frequencies from the devicetree and acts as clock + provider for all clock consumers of PS clocks. See clock_bindings.txt + for more information on the generic clock bindings. + +properties: + compatible: + const: xlnx,versal-clk + + "#clock-cells": + const: 1 + + clocks: + description: List of clock specifiers which are external input + clocks to the given clock controller. + minItems: 3 + maxItems: 3 + items: + - description: ref clk + - description: alternate ref clk + - description: pl alternate ref clk + + clock-names: + minItems: 3 + maxItems: 3 + items: + - const: ref_clk + - const: alt_ref_clk + - const: pl_alt_ref_clk + +required: + - compatible + - "#clock-cells" + - clocks + - clock-names + +additionalProperties: false + +examples: + - | + firmware { + zynqmp_firmware: zynqmp-firmware { + compatible = "xlnx,zynqmp-firmware"; + method = "smc"; + versal_clk: clock-controller { + #clock-cells = <1>; + compatible = "xlnx,versal-clk"; + clocks = <&ref_clk>, <&alt_ref_clk>, <&pl_alt_ref_clk>; + clock-names = "ref_clk", "alt_ref_clk", "pl_alt_ref_clk"; + }; + }; + }; +... diff --git a/include/dt-bindings/clock/xlnx-versal-clk.h b/include/dt-bindings/clock/xlnx-versal-clk.h new file mode 100644 index 0000000..264d634 --- /dev/null +++ b/include/dt-bindings/clock/xlnx-versal-clk.h @@ -0,0 +1,123 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2019 Xilinx Inc. + * + */ + +#ifndef _DT_BINDINGS_CLK_VERSAL_H +#define _DT_BINDINGS_CLK_VERSAL_H + +#define PMC_PLL 1 +#define APU_PLL 2 +#define RPU_PLL 3 +#define CPM_PLL 4 +#define NOC_PLL 5 +#define PLL_MAX 6 +#define PMC_PRESRC 7 +#define PMC_POSTCLK 8 +#define PMC_PLL_OUT 9 +#define PPLL 10 +#define NOC_PRESRC 11 +#define NOC_POSTCLK 12 +#define NOC_PLL_OUT 13 +#define NPLL 14 +#define APU_PRESRC 15 +#define APU_POSTCLK 16 +#define APU_PLL_OUT 17 +#define APLL 18 +#define RPU_PRESRC 19 +#define RPU_POSTCLK 20 +#define RPU_PLL_OUT 21 +#define RPLL 22 +#define CPM_PRESRC 23 +#define CPM_POSTCLK 24 +#define CPM_PLL_OUT 25 +#define CPLL 26 +#define PPLL_TO_XPD 27 +#define NPLL_TO_XPD 28 +#define APLL_TO_XPD 29 +#define RPLL_TO_XPD 30 +#define EFUSE_REF 31 +#define SYSMON_REF 32 +#define IRO_SUSPEND_REF 33 +#define USB_SUSPEND 34 +#define SWITCH_TIMEOUT 35 +#define RCLK_PMC 36 +#define RCLK_LPD 37 +#define WDT 38 +#define TTC0 39 +#define TTC1 40 +#define TTC2 41 +#define TTC3 42 +#define GEM_TSU 43 +#define GEM_TSU_LB 44 +#define MUXED_IRO_DIV2 45 +#define MUXED_IRO_DIV4 46 +#define PSM_REF 47 +#define GEM0_RX 48 +#define GEM0_TX 49 +#define GEM1_RX 50 +#define GEM1_TX 51 +#define CPM_CORE_REF 52 +#define CPM_LSBUS_REF 53 +#define CPM_DBG_REF 54 +#define CPM_AUX0_REF 55 +#define CPM_AUX1_REF 56 +#define QSPI_REF 57 +#define OSPI_REF 58 +#define SDIO0_REF 59 +#define SDIO1_REF 60 +#define PMC_LSBUS_REF 61 +#define I2C_REF 62 +#define TEST_PATTERN_REF 63 +#define DFT_OSC_REF 64 +#define PMC_PL0_REF 65 +#define PMC_PL1_REF 66 +#define PMC_PL2_REF 67 +#define PMC_PL3_REF 68 +#define CFU_REF 69 +#define SPARE_REF 70 +#define NPI_REF 71 +#define HSM0_REF 72 +#define HSM1_REF 73 +#define SD_DLL_REF 74 +#define FPD_TOP_SWITCH 75 +#define FPD_LSBUS 76 +#define ACPU 77 +#define DBG_TRACE 78 +#define DBG_FPD 79 +#define LPD_TOP_SWITCH 80 +#define ADMA 81 +#define LPD_LSBUS 82 +#define CPU_R5 83 +#define CPU_R5_CORE 84 +#define CPU_R5_OCM 85 +#define CPU_R5_OCM2 86 +#define IOU_SWITCH 87 +#define GEM0_REF 88 +#define GEM1_REF 89 +#define GEM_TSU_REF 90 +#define USB0_BUS_REF 91 +#define UART0_REF 92 +#define UART1_REF 93 +#define SPI0_REF 94 +#define SPI1_REF 95 +#define CAN0_REF 96 +#define CAN1_REF 97 +#define I2C0_REF 98 +#define I2C1_REF 99 +#define DBG_LPD 100 +#define TIMESTAMP_REF 101 +#define DBG_TSTMP 102 +#define CPM_TOPSW_REF 103 +#define USB3_DUAL_REF 104 +#define OUTCLK_MAX 105 +#define REF_CLK 106 +#define PL_ALT_REF_CLK 107 +#define MUXED_IRO 108 +#define PL_EXT 109 +#define PL_LB 110 +#define MIO_50_OR_51 111 +#define MIO_24_OR_25 112 + +#endif From patchwork Tue Nov 12 13:16:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajan Vaja X-Patchwork-Id: 11239277 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7569D1515 for ; Tue, 12 Nov 2019 13:17:58 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 44FC621D7F for ; Tue, 12 Nov 2019 13:17:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="lDLrNmnF"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="hvyuBA/R" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 44FC621D7F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=AlhnlRcoIHMUKh1tlZ4nAhAmHzCO7tHWQ2NoPrl/iUs=; b=lDLrNmnFSQWw+k idPLtztoeOdfp+3qqRdzXBl+Oyz4iJpZ4cUkFXVZ1kZhawnQ1DcxM+15zq1p4cC2g6kUkmrt97Csd c23HrdUgtnXXojpGZ97BeWnAP76K84iWOxohP4N+1QB2BTvI0gfLHiP97Pdp7NR1oNzF9w6m8FnZw ghmfXXEfWvptAljLwVARr1pJNuPxs4vW3OqOO7EyfN57P20DR9aGboTgiNxm4LYf7KwrtaJrzTD2U mFxwI61ulUI2FcnHcWqZzk908FCPHswBa6KhWjG6NwmSq+Kj7lyer5yAev0uiANDkOFLZFA1m5kAo EZVEv1koEYVF1BP5ahSQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW3Q-0007FA-87; Tue, 12 Nov 2019 13:17:56 +0000 Received: from mail-eopbgr740079.outbound.protection.outlook.com ([40.107.74.79] helo=NAM01-BN3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW2l-0006gP-HW for linux-arm-kernel@lists.infradead.org; Tue, 12 Nov 2019 13:17:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ir+1rE/fi48CWFPExj9BIGfW/rmoAvyLHbSpmTNfFMTXLuL+nfM6QDEBFZgduogPqd8eNQ50Yk8f/yYqCSsx9z2mzUvqJoacPG81PxKj3et/Bxs50YQP2g3oDzRNT+kpkgvax/mN9KhINDTmBEyH2yHhGNMCm62gf4VAREzUug0gsqrdn4wnPDRhDMAT7Kb4k4zb203KcSV/NCZoVCwGw5FCUq2xf1o/TqYNVf1OgYuXsMbtLkmiYRgL7f7ZlWkG+vJ4uXUd6bKt1BdHEwXgaZW9f7VSZZPCYdbMPvDbiXa/KkA5M/q0dOB92Rv6gd0Ilqd+mHprc32Dhm4j+c9Fyw== 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-SenderADCheck; bh=E9CHQI/shtHh7y7xVKO9wv5ZGzwFahyHkg96iYSppKM=; b=DuEA/PW3L0HOEJYqVJbmMJa2sKxv70tuPv2VuxhCMF/OUXMVePVnBEr3DXU2mpnD1+trtlGiLaVcw+D1Ea3HgLsMPRWvwUsbUEIF7gTdkwoEQXGWrhw0tT5AxlvMYFP2drJ/DMslxxfXSGbqjhHAUNAVu0+ZnUBLT0ihLwmbxy3wNYjzDHJ/g8vtjQINvikbtgVHfgZjvMBX8vY+RUmyAGKdXmpZ4ryvl8fYZyPlQDQyf0ndCiOXH6bd8KxvJeRQipQhHUkCum7KEZLxHgzXIkopozqueiftnlPfx1NbBlQWczqC+WtIGylQtxr45NS3jdaYDEvw9IAJCYrCv14VcA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E9CHQI/shtHh7y7xVKO9wv5ZGzwFahyHkg96iYSppKM=; b=hvyuBA/Rw2UvQoh60XpGkgiU/9pYrsMtnuMJ9ERQiIfJx2woOrQK17g6uu8FP/tE9dgUAj++PxgU0BB4QH1iO/us+mRqOkRzMrd22E8V2sY5jhrOlggOetuamNW+Vf8GiyM0gj76NMh0r0HrgU7YeRcR0eZ2psnq6kDINZ9pcvY= Received: from MWHPR0201CA0036.namprd02.prod.outlook.com (2603:10b6:301:74::49) by BYAPR02MB4885.namprd02.prod.outlook.com (2603:10b6:a03:49::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.20; Tue, 12 Nov 2019 13:17:10 +0000 Received: from SN1NAM02FT057.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::203) by MWHPR0201CA0036.outlook.office365.com (2603:10b6:301:74::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.22 via Frontend Transport; Tue, 12 Nov 2019 13:17:10 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by SN1NAM02FT057.mail.protection.outlook.com (10.152.73.105) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2430.20 via Frontend Transport; Tue, 12 Nov 2019 13:17:09 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2f-0003sj-DQ; Tue, 12 Nov 2019 05:17:09 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1iUW2a-0004GJ-9c; Tue, 12 Nov 2019 05:17:04 -0800 Received: from xsj-pvapsmtp01 (xsj-smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id xACDH1wB011286; Tue, 12 Nov 2019 05:17:01 -0800 Received: from [172.19.2.91] (helo=xsjjollys50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2X-0004Ds-Dt; Tue, 12 Nov 2019 05:17:01 -0800 From: Rajan Vaja To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, michal.simek@xilinx.com, m.tretter@pengutronix.de, jolly.shah@xilinx.com, dan.carpenter@oracle.com, gustavo@embeddedor.com, tejas.patel@xilinx.com, nava.manne@xilinx.com, ravi.patel@xilinx.com Subject: [PATCH 2/7] clk: zynqmp: Extend driver for versal Date: Tue, 12 Nov 2019 05:16:15 -0800 Message-Id: <1573564580-9006-3-git-send-email-rajan.vaja@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> References: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(396003)(39860400002)(136003)(346002)(376002)(189003)(199004)(186003)(81166006)(4326008)(26005)(76176011)(70586007)(50466002)(50226002)(7416002)(107886003)(44832011)(36756003)(8676002)(8936002)(48376002)(5660300002)(478600001)(4744005)(51416003)(70206006)(336012)(7696005)(81156014)(476003)(426003)(2616005)(446003)(2906002)(126002)(356004)(11346002)(6666004)(305945005)(16586007)(14444005)(316002)(486006)(36386004)(9786002)(47776003)(106002)(6636002)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR02MB4885; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; MX:1; A:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f2c6b8aa-40ec-49cd-e6ae-08d767729fb1 X-MS-TrafficTypeDiagnostic: BYAPR02MB4885: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:446; X-Forefront-PRVS: 021975AE46 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N1Txsz6n+PlIPBKScsX8ayhCjm55WyRhefh3bNt4J28AeXky1i5SGllsVolaU8pdViW9dtNou22y992pwrbFwbN6ltzVWCcFxOoGHMpjN08ADM2bNPlkcEA5IAm45ujqy1TUjQfaTBJaU750dZeDF8DNFrXzeN6dwNOccJ/GOd+apyHiXbo3t9MXloX2Nv+nX/ftp6rnrQodGFdZcOx61yBT3QsuCpsk6D3X67ACDnNMBPkW6GrfU8AGJpvZI7h5Ei2+7OfW4UfvKZSNhTvOSDwLhwD65RzpSjPp8HRbuCTxlPXObInKSeE180peJ1hPzuD67HHkRNJUk/9RNrJ2QR8MsDI+90uC9VbispelxKZX5P21G9UDIdjC+r/zU8TGsde8AsMuXdOqxvhJ0Jyyo1RYSvBxuhVx+E2v3UitCnaewKr/F2xeisHIxwzOykUb X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2019 13:17:09.8250 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f2c6b8aa-40ec-49cd-e6ae-08d767729fb1 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR02MB4885 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191112_051715_577592_599A3C47 X-CRM114-Status: GOOD ( 11.65 ) X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [40.107.74.79 listed in list.dnswl.org] X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Rajan Vaja , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Add Versal compatible string to support Versal binding. Signed-off-by: Jolly Shah Signed-off-by: Michal Simek Signed-off-by: Rajan Vaja --- drivers/clk/zynqmp/clkc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/clk/zynqmp/clkc.c b/drivers/clk/zynqmp/clkc.c index a11f93e..10e89f2 100644 --- a/drivers/clk/zynqmp/clkc.c +++ b/drivers/clk/zynqmp/clkc.c @@ -2,7 +2,7 @@ /* * Zynq UltraScale+ MPSoC clock controller * - * Copyright (C) 2016-2018 Xilinx + * Copyright (C) 2016-2019 Xilinx * * Based on drivers/clk/zynq/clkc.c */ @@ -749,6 +749,7 @@ static int zynqmp_clock_probe(struct platform_device *pdev) static const struct of_device_id zynqmp_clock_of_match[] = { {.compatible = "xlnx,zynqmp-clk"}, + {.compatible = "xlnx,versal-clk"}, {}, }; MODULE_DEVICE_TABLE(of, zynqmp_clock_of_match); From patchwork Tue Nov 12 13:16:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajan Vaja X-Patchwork-Id: 11239283 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 96A9E1515 for ; Tue, 12 Nov 2019 13:18:27 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 73C25214E0 for ; Tue, 12 Nov 2019 13:18:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="njY0ZgY1"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="HdM5A325" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 73C25214E0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=CshWvAZKdtuSZmmcedXBApKd7tFl8luIUrsCXSFyFSQ=; b=njY0ZgY133ZYQk adqA0eDFk0wabIXKrQVPSNuwoplPJ0WaUzQkqOvhkqXsbgzhDeYEgFUYY5Tgd2uLjUoxyx0SqVgle kn2Wb3CoL9zYgz1Ah8P1SEhtclNRw/GnYKNrHyS8URz4r5P/wbWIQZAo3DQyLbxoLV8wsKv9L6nJD JtS7AmZTNSz8oAcnVjoWhCgEdJT1as1EEIWKh2URy2DfSpgLsaruRPJ5RVJAeU1wIGC+luvUZHDp6 xjIRONFF6sw5/DBlB971mGIz/B2GMZiv2YzTGMn4K/GN3bI2RE5JY6rJxOncnZzv+njh/TTXKuYpS yR8F/MZlJIofYhxu4E5w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW3r-0007h5-JW; Tue, 12 Nov 2019 13:18:23 +0000 Received: from mail-eopbgr750047.outbound.protection.outlook.com ([40.107.75.47] helo=NAM02-BL2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW2t-0006m3-LP for linux-arm-kernel@lists.infradead.org; Tue, 12 Nov 2019 13:17:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VlvOmkKSMlNphwdohKIJkvKYRajZMsBoszlT7hlYPbqwLRXFUJLl2bxog6vuPcr1eMvaviTFGw2OM+vyZNgvVNqCjEJ4fEMO6AoiCSmccleF4t1Y8PiPmh4ZQvPS8kZgGiVEtz/FzzpKa50lIUURTFnp5hxnrEct6FvANmhkwkIt9s1OB+DSiy8Tc/QNog+2tbszDD925yS7PHYV5MWHPnt/F4nlZXZGWjhIq/H4trgnHCD3tlMfX/uOdj3VMg4cJwwAhcYmixl9I0OQJCXbnjgkWWWE7M7SS/YdNtCQysGQFPLzNln7iWYFz6I316q7J4if7/l/zDaL5HIUb3sZWQ== 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-SenderADCheck; bh=7HgqwMPlNAtuzqxwwyJ6M5WSyCmZH8RVOxfFul1KBnU=; b=WHgPqQN0r086i0ebYIdtrRCVaGRuZtMlg13rjp+995jgWPzw9GFi/bcIgIp3DuAqUFpEIruq3BhxpnWIDXlHL7FvmmL0Eg0pLH1LBvAnYufyTGJUXra2GiKUL2a/XqE3VuauVoMWJlo+Zk7wOlUnu3z7IVgFm5/NTTEz6vu1dhE0uwzaA1wCu6URpkZ+DGobGwDpCS0CWLA5iSM5MtWiZaCRHXKAOoUt64PnBphELutcZWMNjS8Ze2tQz3P0j0QaNbfTESB6/Uatqbl/GEPM8ZtHoOkaNtnVGeNFWV0WvOdSqkJDKp7ZhvpcSgQ5JpN73hbUlCk5vjJqtmjC2YToaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7HgqwMPlNAtuzqxwwyJ6M5WSyCmZH8RVOxfFul1KBnU=; b=HdM5A325Kn+/7ZJMqGmh9dhx+BDniSx5B1p5hhtvWogmQV1ePayy3LKGxsUVgt/wvJ5COYttnoZXvhTYeg106pWx0WbfVW39n4HouvIuprpbLKzQQDst0946Ljob8C8K9P8pX+XWN40EfokYNqS8pUpmamVhR82mUPiglqt9gik= Received: from MWHPR0201CA0014.namprd02.prod.outlook.com (2603:10b6:301:74::27) by DM6PR02MB5371.namprd02.prod.outlook.com (2603:10b6:5:47::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.22; Tue, 12 Nov 2019 13:17:21 +0000 Received: from CY1NAM02FT013.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::209) by MWHPR0201CA0014.outlook.office365.com (2603:10b6:301:74::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.22 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT013.mail.protection.outlook.com (10.152.75.162) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2430.20 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2p-0003tD-Uu; Tue, 12 Nov 2019 05:17:19 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1iUW2k-0004J3-RP; Tue, 12 Nov 2019 05:17:14 -0800 Received: from xsj-pvapsmtp01 (xsj-smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id xACDH2US011304; Tue, 12 Nov 2019 05:17:03 -0800 Received: from [172.19.2.91] (helo=xsjjollys50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2Y-0004Ds-OF; Tue, 12 Nov 2019 05:17:02 -0800 From: Rajan Vaja To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, michal.simek@xilinx.com, m.tretter@pengutronix.de, jolly.shah@xilinx.com, dan.carpenter@oracle.com, gustavo@embeddedor.com, tejas.patel@xilinx.com, nava.manne@xilinx.com, ravi.patel@xilinx.com Subject: [PATCH 3/7] clk: zynqmp: Warn user if clock user are more than allowed Date: Tue, 12 Nov 2019 05:16:16 -0800 Message-Id: <1573564580-9006-4-git-send-email-rajan.vaja@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> References: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(396003)(136003)(39860400002)(376002)(346002)(199004)(189003)(126002)(4326008)(36756003)(47776003)(8676002)(44832011)(81166006)(81156014)(5660300002)(486006)(478600001)(70586007)(2906002)(107886003)(476003)(70206006)(48376002)(50466002)(356004)(6666004)(305945005)(106002)(336012)(426003)(2616005)(8936002)(36386004)(11346002)(446003)(186003)(16586007)(26005)(316002)(7696005)(76176011)(51416003)(6636002)(9786002)(7416002)(14444005)(50226002)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR02MB5371; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; A:1; MX:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f3dcb755-19d3-406b-db39-08d76772a607 X-MS-TrafficTypeDiagnostic: DM6PR02MB5371: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:513; X-Forefront-PRVS: 021975AE46 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PXEtnz7RbqeCD9c8eyFwyo1523L9WorAiS/fK0kwjsC1QbQYLoMgCF0o0lhGqRgfDgUXXw0RoBHNDM6pfmevF9FQLyz09o+9HtrHK0L6ij8qyWrELtxEXbueL/2VyHr/6mqxqvJS+vJ9rgd8Wqfewoe9F0ZM5p6KRCL8xG2emB1hr1OJsevKhubAxVUvq0VA/dfDVt4NeSsR/Kwzj6h5zY0cUUSlabuwY+I0mxaGwEwTSxBS9FEYyPR2oKv6C8cT98I8BQNP6mc3snajAW3Qvfl8zUqjiFMR9LtHIKqdetBg0evXxTzTtSdHdgucnCK7yA2diUWaqFIze9OtfMi3VxS9gQoPBgToQw52FpKkYy9vRQfuEtQZ0/oUK7PZbMs8n2RSFCq2r+OTYnwb83TTpGB3vx4X1SLQWm1RjqVL9akVHrNO3iZ7HyOVV+WCeT9n X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2019 13:17:20.4388 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f3dcb755-19d3-406b-db39-08d76772a607 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB5371 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191112_051723_782055_5F9E721F X-CRM114-Status: GOOD ( 15.45 ) X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [40.107.75.47 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Rajan Vaja , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Warn user if clock is used by more than allowed devices. This check is done by firmware and returns respective error code. Upon receiving error code for excessive user, warn user for the same. This change is done to restrict VPLL use count. It is assumed that VPLL is used by one user only. Signed-off-by: Michal Simek Signed-off-by: Rajan Vaja --- drivers/clk/zynqmp/pll.c | 9 ++++++--- drivers/firmware/xilinx/zynqmp.c | 2 ++ include/linux/firmware/xlnx-zynqmp.h | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/clk/zynqmp/pll.c b/drivers/clk/zynqmp/pll.c index a541397..2f4ccaa 100644 --- a/drivers/clk/zynqmp/pll.c +++ b/drivers/clk/zynqmp/pll.c @@ -188,9 +188,12 @@ static int zynqmp_pll_set_rate(struct clk_hw *hw, unsigned long rate, frac = (parent_rate * f) / FRAC_DIV; ret = eemi_ops->clock_setdivider(clk_id, m); - if (ret) - pr_warn_once("%s() set divider failed for %s, ret = %d\n", - __func__, clk_name, ret); + if (ret) { + if (ret == -EUSERS) + WARN(1, "More than allowed devices are using the %s, which is forbidden\n", clk_name); + pr_err("%s() set divider failed for %s, ret = %d\n", + __func__, clk_name, ret); + } eemi_ops->ioctl(0, IOCTL_SET_PLL_FRAC_DATA, clk_id, f, NULL); diff --git a/drivers/firmware/xilinx/zynqmp.c b/drivers/firmware/xilinx/zynqmp.c index 0137bf3..ecc339d 100644 --- a/drivers/firmware/xilinx/zynqmp.c +++ b/drivers/firmware/xilinx/zynqmp.c @@ -53,6 +53,8 @@ static int zynqmp_pm_ret_code(u32 ret_status) return -EACCES; case XST_PM_ABORT_SUSPEND: return -ECANCELED; + case XST_PM_MULT_USER: + return -EUSERS; case XST_PM_INTERNAL: case XST_PM_CONFLICT: case XST_PM_INVALID_NODE: diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h index 25bedd2..f019d1c 100644 --- a/include/linux/firmware/xlnx-zynqmp.h +++ b/include/linux/firmware/xlnx-zynqmp.h @@ -96,6 +96,7 @@ enum pm_ret_status { XST_PM_INVALID_NODE, XST_PM_DOUBLE_REQ, XST_PM_ABORT_SUSPEND, + XST_PM_MULT_USER = 2008, }; enum pm_ioctl_id { From patchwork Tue Nov 12 13:16:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajan Vaja X-Patchwork-Id: 11239285 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 837891515 for ; Tue, 12 Nov 2019 13:18:38 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 60E4620818 for ; Tue, 12 Nov 2019 13:18:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="cHUsRU90"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="hcquXC9l" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 60E4620818 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=SVF6ijPFR8kDXEKBpdldKm4zprm4lCm69kvJDY9xzjg=; b=cHUsRU900JHCSM iVuKtitfQd5B4ppl8swsYTrquI2D09PhRzUlgwsF2SlJrVdB2R8D8J3TYfvJLzT2TmqLEno2gqw9K WInRz10TS1nsE9fBWevdk21awCK1pi1uxoTOuo06TQr5jRsfl3N+2U9FZnU4DFqUTPyN2/l8rOyMs 5bxRyR9IFsVfA5SPY3ktjTAqCiiws5IyGMTQZ0gg6lnVYV29QtgxnoCXKAy6o6pKaDG74pZwIO26g KGlCgbloASdd/r2sAETBP4LN/zzVJMHWmvnCoBV2u3TS7Axte5u3mZX/pnz6FOjBWdXAwT/NSXsE6 Cw4G8+uIRJ4Q8bK2V9qQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW44-0007uW-JJ; Tue, 12 Nov 2019 13:18:36 +0000 Received: from mail-eopbgr730045.outbound.protection.outlook.com ([40.107.73.45] helo=NAM05-DM3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW2t-0006mE-PU for linux-arm-kernel@lists.infradead.org; Tue, 12 Nov 2019 13:17:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZF9gLcrSc+SeNzM5JCfL4fAHqRqnTvVh6J/LgssL0XmuLRml9vAN7JteYqvyu7W2APuI0cesamQiYg8LDMHn2YFxz6PGIwwArqI3wb6i+bPZtnA9m1lJm4isZ9NBtQJgj1p3l0+ERLaA0+3ItsAh0tZ3QTPPnRie+N/vs7ixNLZwj0bDUWXzkfGdcOVi0c51Uzgd/S1s4wO6JPihb6tYJCncfr17ycZDQu1I1x14KqE2m+4ExASXaulchV92Pv2n/NaEgFUq/wFsEdYUkOzloFVn0YJ1hl1+h8sSZKyBkp1s2PCp0O7UB0tzvhnPntnBe68RzBnRdNvnKEAOiUrsMQ== 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-SenderADCheck; bh=cdP+U6dhtNw6+OGsPJTh0GU7JulyeSgqB1ovS8xjHZk=; b=oRKShkZLyIPVgI+tSv/Q+DgvQFk+w4P0fErtFyS170uObKAff0mtL/t4X1df+KtnZh+NGWHrOWlMzEInc7fxGtRN4wR9RxdA9mrUzcpiNJluj6pJ2fgkC2g8IdtF2mcnxbpLyv7zGFjf6JYtJ066KIyI6csYib1BL6EFHgr2z32BK4BNEmY0ZaguyN3cab84bV9GEifmxO97Q3qoNz9tyDdGoQs3rgoqGw/S0HuEAWfwJaPi1Na0YU8tnXxCmirV21l5hezzHjTEXtI8esTWmKurq6KilijuCytDmKrUs4Y4XUfZelPM1R/GKG1Vt6r18HZ4NSVHmQcF7VMnM1V13A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cdP+U6dhtNw6+OGsPJTh0GU7JulyeSgqB1ovS8xjHZk=; b=hcquXC9lfBu5KZIMZmCN4QhOmB91NP6T6cbrBdCjLN/3YuSY+387ri4dO5ir2oj6V785WDktv2PnBhoWfn1RbOr3U0G51xiQ9sVFWF0KvszGjvp0lXuNTyh5DmBpyhPKm3GYh9mPeRemiphBhITvJ/F4RBz2iTvDtCG96b0hjUQ= Received: from MN2PR02CA0001.namprd02.prod.outlook.com (2603:10b6:208:fc::14) by DM5PR02MB2507.namprd02.prod.outlook.com (2603:10b6:3:40::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.23; Tue, 12 Nov 2019 13:17:20 +0000 Received: from CY1NAM02FT058.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::201) by MN2PR02CA0001.outlook.office365.com (2603:10b6:208:fc::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.22 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT058.mail.protection.outlook.com (10.152.74.149) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2430.20 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2p-0003tC-S2; Tue, 12 Nov 2019 05:17:19 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1iUW2k-0004J3-OC; Tue, 12 Nov 2019 05:17:14 -0800 Received: from xsj-pvapsmtp01 (mailhost.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id xACDH4JA011314; Tue, 12 Nov 2019 05:17:04 -0800 Received: from [172.19.2.91] (helo=xsjjollys50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2a-0004Ds-1V; Tue, 12 Nov 2019 05:17:04 -0800 From: Rajan Vaja To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, michal.simek@xilinx.com, m.tretter@pengutronix.de, jolly.shah@xilinx.com, dan.carpenter@oracle.com, gustavo@embeddedor.com, tejas.patel@xilinx.com, nava.manne@xilinx.com, ravi.patel@xilinx.com Subject: [PATCH 4/7] clk: zynqmp: Add support for get max divider Date: Tue, 12 Nov 2019 05:16:17 -0800 Message-Id: <1573564580-9006-5-git-send-email-rajan.vaja@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> References: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(396003)(346002)(136003)(376002)(199004)(189003)(48376002)(50466002)(36386004)(305945005)(50226002)(486006)(81156014)(81166006)(476003)(8676002)(70206006)(126002)(8936002)(51416003)(7696005)(70586007)(7416002)(9786002)(44832011)(5660300002)(2616005)(2906002)(76176011)(6636002)(26005)(107886003)(426003)(336012)(4326008)(36756003)(14444005)(47776003)(356004)(6666004)(16586007)(316002)(478600001)(11346002)(186003)(106002)(446003)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR02MB2507; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; A:1; MX:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9559286b-faa2-4879-de99-08d76772a5fa X-MS-TrafficTypeDiagnostic: DM5PR02MB2507: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:546; X-Forefront-PRVS: 021975AE46 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6POVWDugc0sdqyR9De+ldbWRza7Yr5+w1Hs6NtS4UuAu12ftpoGiDCjtvaL526ITqWX2Kx/+vpbWk1GXpkXhWzam0mRtH8W1/rYc7PbBCO67G4LTKatyCxWPOOKYnVkYNK5I2Hz/h88uGIow5WnVRgIpj/CjeWPAjJWm9FrrZeVlt4jKHrdphMDvOYNktl3wOZzA2YN+kzJpyL0p0ZxM5m8GabFU/WiZB+t9MusBtKRWv5ms1vKhxb6Odn4LvMFKtU62U+XD+kXxhRA/gHudRsOKyrb4woEMa9fHht7C2HBspRHPOkGBC5GAVFkVFJkL4X7B66tmVLUb4a145BwqjUk9RiboeQmUW80wJOzwzqzzAxGrWfyQhULvWWDKu1xtvgPB+qYAmwVsixiSyj6+Gi8JOaTjwFbPtnY+lPsoS6h8tNS4NBTF2P1yd4TMkSey X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2019 13:17:20.3537 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9559286b-faa2-4879-de99-08d76772a5fa X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR02MB2507 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191112_051723_837604_37952433 X-CRM114-Status: GOOD ( 12.18 ) X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [40.107.73.45 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Rajan Vaja , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org To achieve best possible rate, maximum limit of divider is required while computation. Get maximum supported divisor from firmware. To maintain backward compatibility assign maximum possible value(0xFFFF) if query for max divisor is not successful. Signed-off-by: Rajan Vaja --- drivers/clk/zynqmp/divider.c | 19 +++++++++++++++++++ include/linux/firmware/xlnx-zynqmp.h | 1 + 2 files changed, 20 insertions(+) diff --git a/drivers/clk/zynqmp/divider.c b/drivers/clk/zynqmp/divider.c index d8f5b70d..b79cd45 100644 --- a/drivers/clk/zynqmp/divider.c +++ b/drivers/clk/zynqmp/divider.c @@ -41,6 +41,7 @@ struct zynqmp_clk_divider { bool is_frac; u32 clk_id; u32 div_type; + u16 max_div; }; static inline int zynqmp_divider_get_val(unsigned long parent_rate, @@ -195,6 +196,9 @@ struct clk_hw *zynqmp_clk_register_divider(const char *name, struct clk_hw *hw; struct clk_init_data init; int ret; + const struct zynqmp_eemi_ops *eemi_ops = zynqmp_pm_get_eemi_ops(); + struct zynqmp_pm_query_data qdata = {0}; + u32 ret_payload[PAYLOAD_ARG_CNT]; /* allocate the divider */ div = kzalloc(sizeof(*div), GFP_KERNEL); @@ -215,6 +219,21 @@ struct clk_hw *zynqmp_clk_register_divider(const char *name, div->clk_id = clk_id; div->div_type = nodes->type; + /* + * To achieve best possible rate, maximum limit of divider is required + * while computation. Get maximum supported divisor from firmware. To + * maintain backward compatibility assign maximum possible value(0xFFFF) + * if query for max divisor is not successful. + */ + qdata.qid = PM_QID_CLOCK_GET_MAX_DIVISOR; + qdata.arg1 = clk_id; + qdata.arg2 = nodes->type; + ret = eemi_ops->query_data(qdata, ret_payload); + if (ret) + div->max_div = U16_MAX; + else + div->max_div = ret_payload[1]; + hw = &div->hw; ret = clk_hw_register(NULL, hw); if (ret) { diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h index f019d1c..f0d4558 100644 --- a/include/linux/firmware/xlnx-zynqmp.h +++ b/include/linux/firmware/xlnx-zynqmp.h @@ -114,6 +114,7 @@ enum pm_query_id { PM_QID_CLOCK_GET_PARENTS, PM_QID_CLOCK_GET_ATTRIBUTES, PM_QID_CLOCK_GET_NUM_CLOCKS = 12, + PM_QID_CLOCK_GET_MAX_DIVISOR, }; enum zynqmp_pm_reset_action { From patchwork Tue Nov 12 13:16:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajan Vaja X-Patchwork-Id: 11239281 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7C4CD16B1 for ; Tue, 12 Nov 2019 13:18:12 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 56334214E0 for ; Tue, 12 Nov 2019 13:18:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="GspHXQaW"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="hDHVR/93" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 56334214E0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=q64jB/l6GwriRB9N/+34y3HXgpS3IQnKedFmtYOX1DM=; b=GspHXQaWtJb4sh nX1SdMCTgrfaA/kBBDcNgLN4S5AqNuwFCvrs0FgLZ6dQ8z49OJEXUW4PeitmoyXFJpgg5Lk6eHZqE KLuglpFkRYpdTsyqnqDjLUpuVPeJrlI6ZJnf4fFyjbfmaoxCu2m3igA5XpKLAd2r1J+51wvQk89V9 ZSxZ5/AJdRC+w5YckUIKlHGLZD1BvTWyLLGJrQgZEMLkgaDLIiYBsx7GB1fguMCTxPG2FdC1h8QPy alVGLtz67E5VzMRPhKIzusyHkJbqU6elRL5wwkCKK7ed0XbuqHkopNbwlaNGPJNU6y2vlgjeDHOQ7 ZySsiNM+bIID16y9C1fA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW3e-0007T2-VP; Tue, 12 Nov 2019 13:18:11 +0000 Received: from mail-eopbgr820049.outbound.protection.outlook.com ([40.107.82.49] helo=NAM01-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW2t-0006lo-ID for linux-arm-kernel@lists.infradead.org; Tue, 12 Nov 2019 13:17:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E4U9ZDEDVQcxJcvs93IDsX4/0qtE47lGzGBXfemniXq5s//v8ePmTXuOX3sV/1vcjdyrxb+Br7bl5ckt/D+6xnJwxsSxxOZoJRsDa94Wvcy2+or1WHfzGdmndO8nokzynjHR6OXyAp1Ik0SG8xQ08/5Rr/VTzPqDtFwfJERninLPhxFs7YNTtqL/lX4wXy26GMXX1OuHCjn5+cqXSflZbI6Pp/Zi0OLrOyf8OQqfDZqNXaB7hTBqKAu6k1RyB23HywqVSQXzbh/QwR2Bdz6aTxIWvSs2uV9gKA1MD9AXu5rZtzuKkTlZ7/ZE/kLty9lKPWSogkt/J5szQ18Qw8dD8g== 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-SenderADCheck; bh=C+CH5nha3u7VAb6/vGD4aWhpVS4G2MMB+OKjgcV9eMk=; b=jwCKKoQ139DiZBipvpY9kYNrCikGL/IKzFwhtvdrw5N8PaEFdj0tWzgaVU8FTPuRWa6Lz8ZaNaVv7WN28Xm8cJNwulwb6TAsWyhk8s5O3VF5ofIJpmQ4G4g/4dO5qd2bOGNkE8nc0AAXAyqjr1Zh1f59xWvewGiQUOzMkQAVFp3Scxcez3KN3eilPRHFeVCZY6i1rmkRvYDmXSL2gv65FV4ZFO3hR5ag61I6nyLioU4GhZtfZVx1o39yZyMAaQdv7TUwWXwNpphbQsMc00BUrI+mfYGY6KL6G3OGH0G4iPSQrKW+NL0ZADj4vhl0HqaxdR9ZP5D1Cj7qf0R19zeJzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C+CH5nha3u7VAb6/vGD4aWhpVS4G2MMB+OKjgcV9eMk=; b=hDHVR/93gr4DB05ho7CgiNebuhWrOkL4bTWcnH7jePEH5eaLXMIRijwOTKB6lqDTxtB4CEPDvdeL/KB4UHz65nBby491TdJ8Jr70ilrgZdU/Lb8e80IV+hhWj0bW1AbvoLMKUr3AvA2jDmRYSdHSkvl73InAoq2S91NlALmhvVg= Received: from MWHPR0201CA0033.namprd02.prod.outlook.com (2603:10b6:301:74::46) by DM6PR02MB4923.namprd02.prod.outlook.com (2603:10b6:5:fa::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.20; Tue, 12 Nov 2019 13:17:20 +0000 Received: from SN1NAM02FT061.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::206) by MWHPR0201CA0033.outlook.office365.com (2603:10b6:301:74::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.22 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by SN1NAM02FT061.mail.protection.outlook.com (10.152.72.196) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2367.14 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2q-0003tE-0E; Tue, 12 Nov 2019 05:17:20 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1iUW2k-0004J3-St; Tue, 12 Nov 2019 05:17:14 -0800 Received: from xsj-pvapsmtp01 (xsj-mail.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id xACDH5hO011322; Tue, 12 Nov 2019 05:17:05 -0800 Received: from [172.19.2.91] (helo=xsjjollys50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2b-0004Ds-H6; Tue, 12 Nov 2019 05:17:05 -0800 From: Rajan Vaja To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, michal.simek@xilinx.com, m.tretter@pengutronix.de, jolly.shah@xilinx.com, dan.carpenter@oracle.com, gustavo@embeddedor.com, tejas.patel@xilinx.com, nava.manne@xilinx.com, ravi.patel@xilinx.com Subject: [PATCH 5/7] clk: zynqmp: Fix divider calculation Date: Tue, 12 Nov 2019 05:16:18 -0800 Message-Id: <1573564580-9006-6-git-send-email-rajan.vaja@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> References: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(376002)(39860400002)(396003)(346002)(136003)(189003)(199004)(186003)(50226002)(26005)(4326008)(7416002)(50466002)(70586007)(76176011)(107886003)(81166006)(44832011)(36756003)(8936002)(48376002)(5660300002)(478600001)(8676002)(70206006)(51416003)(336012)(7696005)(81156014)(11346002)(426003)(2906002)(446003)(126002)(6666004)(6636002)(356004)(2616005)(16586007)(316002)(486006)(305945005)(36386004)(476003)(9786002)(47776003)(106002)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR02MB4923; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; MX:1; A:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7b53be68-52f1-4652-8d7c-08d76772a60c X-MS-TrafficTypeDiagnostic: DM6PR02MB4923: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:4714; X-Forefront-PRVS: 021975AE46 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RJH/R/nLbRMigxKVB6MMqGMhlAlHWrkgiPP8IM1dlf4c9XUJg5r3hgj52A+uUgt/iTNrZwaywiM6EoPKoupkb4N4iDc9h3dGsBnN/9C50Hq+Zjr/6fNMS7FsFW33KFrWMYkknoYNzqQCg5ayxadhleFPydNjvLZ6uj7y1+qVu3SZ6t/U2PzfpP2zoZFPBN5sVWomilnYaMuVoR7fqsyrD82/bYDCrr5woqh97/JLWSjUTZ4LgWDe6hswpn9I9WHynnFP+R0q/gf2zK45DdSBm3rsVHvQF6CGxbkkUNGDbOQEKpj3S9xdPO97lrJuDutTvQhzUDtlk51lfp+Ucm6ZU0nacOIQlRLkuPbXiO497zP657+mjS4hJSdcGlhGuomL44eKTfxV9GZvK7tHqGzBztSdBQqpVZUlXny/0OCD6icNUiEc99yO3Wq4o7rRU/bA X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2019 13:17:20.4486 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7b53be68-52f1-4652-8d7c-08d76772a60c X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB4923 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191112_051723_669263_3693E4EF X-CRM114-Status: GOOD ( 10.83 ) X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [40.107.82.49 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Rajan Vaja , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org zynqmp_clk_divider_round_rate() returns actual divider value after calculating from parent rate and desired rate, even though that rate is not supported by single divider of hardware. It is also possible that such divisor value can be achieved through 2 different dividers. As, Linux tries to set such divisor value(out of range) in single divider set divider is getting failed. Fix the same by computing best possible combination of two divisors which provides more accurate clock rate. Signed-off-by: Michal Simek Signed-off-by: Tejas Patel Signed-off-by: Rajan Vaja --- drivers/clk/zynqmp/divider.c | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/drivers/clk/zynqmp/divider.c b/drivers/clk/zynqmp/divider.c index b79cd45..b564696 100644 --- a/drivers/clk/zynqmp/divider.c +++ b/drivers/clk/zynqmp/divider.c @@ -89,6 +89,42 @@ static unsigned long zynqmp_clk_divider_recalc_rate(struct clk_hw *hw, return DIV_ROUND_UP_ULL(parent_rate, value); } +static void zynqmp_get_divider2_val(struct clk_hw *hw, + unsigned long rate, + unsigned long parent_rate, + struct zynqmp_clk_divider *divider, + int *bestdiv) +{ + int div1; + int div2; + long error = LONG_MAX; + struct clk_hw *parent_hw = clk_hw_get_parent(hw); + struct zynqmp_clk_divider *pdivider = to_zynqmp_clk_divider(parent_hw); + + if (!pdivider) + return; + + *bestdiv = 1; + for (div1 = 1; div1 <= pdivider->max_div;) { + for (div2 = 1; div2 <= divider->max_div;) { + long new_error = ((parent_rate / div1) / div2) - rate; + + if (abs(new_error) < abs(error)) { + *bestdiv = div2; + error = new_error; + } + if (divider->flags & CLK_DIVIDER_POWER_OF_TWO) + div2 = div2 << 1; + else + div2++; + } + if (pdivider->flags & CLK_DIVIDER_POWER_OF_TWO) + div1 = div1 << 1; + else + div1++; + } +} + /** * zynqmp_clk_divider_round_rate() - Round rate of divider clock * @hw: handle between common and hardware-specific interfaces @@ -126,6 +162,16 @@ static long zynqmp_clk_divider_round_rate(struct clk_hw *hw, bestdiv = zynqmp_divider_get_val(*prate, rate); + /* + * In case of two divisors, compute best divider values and return + * divider2 value based on compute value. div1 will be automatically + * set to optimum based on required total divider value. + */ + if (div_type == TYPE_DIV2 && + (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) { + zynqmp_get_divider2_val(hw, rate, *prate, divider, &bestdiv); + } + if ((clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) && divider->is_frac) bestdiv = rate % *prate ? 1 : bestdiv; *prate = rate * bestdiv; From patchwork Tue Nov 12 13:16:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajan Vaja X-Patchwork-Id: 11239287 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 237F41515 for ; Tue, 12 Nov 2019 13:19:02 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 002B620818 for ; Tue, 12 Nov 2019 13:19:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="kaR92YB9"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="HyB3iE2O" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 002B620818 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=f/izvMPf1Jkdwky/nGQv7XYSa+nNkQHoLxO95t3KZGE=; b=kaR92YB9/N1Rty cys/lZn4xfe+IbDgL6h5YtOhR17ls4/HhQ/qCcjOYCvx8IYlCvpEH9BwqFi3xG8DIPBahW7cT3byi BNEPbkpZ7qq6Dv6c65QwrN4hyEG8gERaP8vOx6pF/GNiZZq08A6ibvMsG8PjrBwqzdHLAmFmngDoN 1Rt92WO6UsR4950f5lgabHwuVWlXACTg/hC8NGIdptbCN57ddelcBJZ14mynPFo+IWsEHcXHxmBSE UbF1X70ysx0tHRc+fbfmn7WfbndeRYQDVZpxsRQux4pZbD8mW31qj76UtAoZkY3vEAnnLcbCqoZPt zPPUGLYr0u/GCW/lme3A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW4T-0008Hb-A1; Tue, 12 Nov 2019 13:19:01 +0000 Received: from mail-eopbgr800043.outbound.protection.outlook.com ([40.107.80.43] helo=NAM03-DM3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW2u-0006mh-8i for linux-arm-kernel@lists.infradead.org; Tue, 12 Nov 2019 13:17:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mttOl/KoCymW0LCfzGC9s6QEmLWh04/cRbpiRGTc0+9iq06s7FdTXNPOOpDV7fjYOIlX6qu7ybIbATDZidIM0gLGeV3dP8UgCdxToaMaxQCxjBg3lcY/GHq7grXLKxm0KTg97TmsOLdWcME1DHb8J3jsrZmAIXRdMKtNfgjaKFnfRF1ligoF0q5gwDai7shUieh1iCXrWWFLRsNImZyaBaKeQedzdg7nyyVyEvehbj1jWKIWu8o4Pe/HtGr2777yjL1Me5ZShVevNWeG7QaCJ8Hgn4FdtMklFDPXR5QG0rY/Iv8xONcCeBYrgPCPlKV3eFSG4sg/1++gBYPaYzCcEA== 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-SenderADCheck; bh=3cFkGCKk7MuEitcTUnSnqvZ/QbDnmb5KjStx3kSvack=; b=M+84ozEL+WfaGuLfhnnTnDH/omtchBXMDnhHYFVrPY9Xb5q5CjO1pInyc/AIiH5oHDE4ho+cL4llO7MET3GFXRxn+dp0Q89kxXMbki3cmbRl6A8pZP3dCil8geMtxjGXQDJu+nlxDyh2J+4hY3rRoAGoOgEy0x8d+AZVvbnkOyD0fYsHT7P+dfh9974foAvMFbXU8VxFR0G5RGs/a9z68BH8xvQ2aBtaQko7Ga4ZvsCWoyWwBXrjXP+jIy3M8Q2Vn2NfVUIog2CRqNZ4l4Jkoqd3lzX3YsYdBTcWC1lo9YbnBvnY+yXvhXTOHOMVRYmwVyo/9EDXIU+FrL1arqL+JQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3cFkGCKk7MuEitcTUnSnqvZ/QbDnmb5KjStx3kSvack=; b=HyB3iE2OD6p83hK493koqVtM95XgS214QIO7M27DclA+GGyC0Bpj1ml9a/TiIzFnc35e7vSOpmDJK2cFdpTH5pOgel3ejCj9ImqUK2qvgZrqmqcyUjgY6LPlRRnvFJZKeBJ/BUucqRHPjCExteDndFJM3BUGRCvw+0YzAQh+/CI= Received: from BL0PR02CA0058.namprd02.prod.outlook.com (2603:10b6:207:3d::35) by DM6PR02MB5180.namprd02.prod.outlook.com (2603:10b6:5:4e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.22; Tue, 12 Nov 2019 13:17:20 +0000 Received: from BL2NAM02FT047.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::206) by BL0PR02CA0058.outlook.office365.com (2603:10b6:207:3d::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.25 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by BL2NAM02FT047.mail.protection.outlook.com (10.152.77.9) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2430.20 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2p-0003tB-Q6; Tue, 12 Nov 2019 05:17:19 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1iUW2k-0004J3-Mc; Tue, 12 Nov 2019 05:17:14 -0800 Received: from xsj-pvapsmtp01 (maildrop.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id xACDH6lG022526; Tue, 12 Nov 2019 05:17:07 -0800 Received: from [172.19.2.91] (helo=xsjjollys50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2c-0004Ds-P0; Tue, 12 Nov 2019 05:17:06 -0800 From: Rajan Vaja To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, michal.simek@xilinx.com, m.tretter@pengutronix.de, jolly.shah@xilinx.com, dan.carpenter@oracle.com, gustavo@embeddedor.com, tejas.patel@xilinx.com, nava.manne@xilinx.com, ravi.patel@xilinx.com Subject: [PATCH 6/7] clk: zynqmp: Add support for clock with CLK_DIVIDER_POWER_OF_TWO flag Date: Tue, 12 Nov 2019 05:16:19 -0800 Message-Id: <1573564580-9006-7-git-send-email-rajan.vaja@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> References: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(376002)(396003)(136003)(39860400002)(346002)(199004)(189003)(50226002)(81156014)(9786002)(50466002)(186003)(11346002)(446003)(2616005)(486006)(126002)(476003)(426003)(336012)(26005)(8936002)(81166006)(8676002)(48376002)(70586007)(36386004)(4326008)(70206006)(356004)(7696005)(6666004)(51416003)(36756003)(107886003)(106002)(76176011)(16586007)(316002)(6636002)(54906003)(478600001)(2906002)(7416002)(305945005)(44832011)(5660300002)(47776003)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR02MB5180; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; A:1; MX:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 64ca7f2a-38db-4dde-4c72-08d76772a612 X-MS-TrafficTypeDiagnostic: DM6PR02MB5180: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:1186; X-Forefront-PRVS: 021975AE46 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +PG7LSlqBANqo0T68T1kDibIsVt5tyJTPGAjid3YRleze+uZj7MLcb+4dUgU3UF0XQwsjR3hIdCrYofHzPzpBR94OfMVZuDGUVr9pFwg7GaujHvuGN/XBZirALyTYhSzNIDcoNqGmc5RkEWxSyzIsl8/SmqGrAlBk5A3lYDASMAL51VCUW/Pyxq6kk5q9pti4/E3mA5P3wEkg1TOvkI4yxyeXNGIP4MmRUOTf+CRLsz12RxrHZ2M11xb3JjPGNgSPm/wIhzgQxNZm3uUbJ4UoQc9KcB+eIsW+r+1Rf8l20/5felEPZkKR24WjVomPpDwNzfROsk4oR/IS4OXxkA4148ve/d1VPw3jdS4HfqBEgETrH3BUCMhunAULh9Oa7hb/1xYOFMndEdvfY75aHMyx7ByzinHMFLVGzFN5veXbFmQwm7qdYnfyCjn2jOXWRh+ X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2019 13:17:20.3972 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 64ca7f2a-38db-4dde-4c72-08d76772a612 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB5180 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191112_051724_341986_47947121 X-CRM114-Status: GOOD ( 15.11 ) X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Rajan Vaja , Radhey Shyam Pandey , linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org From: Tejas Patel Existing clock divider functions is not checking for base of divider. So, if any clock divider is power of 2 then clock rate calculation will be wrong. Add support to calculate divider value for the clocks with CLK_DIVIDER_POWER_OF_TWO flag. Signed-off-by: Tejas Patel Signed-off-by: Radhey Shyam Pandey Signed-off-by: Rajan Vaja --- drivers/clk/zynqmp/divider.c | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/drivers/clk/zynqmp/divider.c b/drivers/clk/zynqmp/divider.c index b564696..67aa88c 100644 --- a/drivers/clk/zynqmp/divider.c +++ b/drivers/clk/zynqmp/divider.c @@ -2,7 +2,7 @@ /* * Zynq UltraScale+ MPSoC Divider support * - * Copyright (C) 2016-2018 Xilinx + * Copyright (C) 2016-2019 Xilinx * * Adjustable divider clock implementation */ @@ -45,9 +45,26 @@ struct zynqmp_clk_divider { }; static inline int zynqmp_divider_get_val(unsigned long parent_rate, - unsigned long rate) + unsigned long rate, u16 flags) { - return DIV_ROUND_CLOSEST(parent_rate, rate); + int up, down; + unsigned long up_rate, down_rate; + + if (flags & CLK_DIVIDER_POWER_OF_TWO) { + up = DIV_ROUND_UP_ULL((u64)parent_rate, rate); + down = DIV_ROUND_DOWN_ULL((u64)parent_rate, rate); + + up = __roundup_pow_of_two(up); + down = __rounddown_pow_of_two(down); + + up_rate = DIV_ROUND_UP_ULL((u64)parent_rate, up); + down_rate = DIV_ROUND_UP_ULL((u64)parent_rate, down); + + return (rate - up_rate) <= (down_rate - rate) ? up : down; + + } else { + return DIV_ROUND_CLOSEST(parent_rate, rate); + } } /** @@ -79,6 +96,9 @@ static unsigned long zynqmp_clk_divider_recalc_rate(struct clk_hw *hw, else value = div >> 16; + if (divider->flags & CLK_DIVIDER_POWER_OF_TWO) + value = 1 << value; + if (!value) { WARN(!(divider->flags & CLK_DIVIDER_ALLOW_ZERO), "%s: Zero divisor and CLK_DIVIDER_ALLOW_ZERO not set\n", @@ -157,10 +177,13 @@ static long zynqmp_clk_divider_round_rate(struct clk_hw *hw, else bestdiv = bestdiv >> 16; + if (divider->flags & CLK_DIVIDER_POWER_OF_TWO) + bestdiv = 1 << bestdiv; + return DIV_ROUND_UP_ULL((u64)*prate, bestdiv); } - bestdiv = zynqmp_divider_get_val(*prate, rate); + bestdiv = zynqmp_divider_get_val(*prate, rate, divider->flags); /* * In case of two divisors, compute best divider values and return @@ -198,7 +221,7 @@ static int zynqmp_clk_divider_set_rate(struct clk_hw *hw, unsigned long rate, int ret; const struct zynqmp_eemi_ops *eemi_ops = zynqmp_pm_get_eemi_ops(); - value = zynqmp_divider_get_val(parent_rate, rate); + value = zynqmp_divider_get_val(parent_rate, rate, divider->flags); if (div_type == TYPE_DIV1) { div = value & 0xFFFF; div |= 0xffff << 16; @@ -207,6 +230,9 @@ static int zynqmp_clk_divider_set_rate(struct clk_hw *hw, unsigned long rate, div |= value << 16; } + if (divider->flags & CLK_DIVIDER_POWER_OF_TWO) + div = __ffs(div); + ret = eemi_ops->clock_setdivider(clk_id, div); if (ret) From patchwork Tue Nov 12 13:16:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajan Vaja X-Patchwork-Id: 11239289 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 379BB13BD for ; Tue, 12 Nov 2019 13:19:16 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id CC2E620818 for ; Tue, 12 Nov 2019 13:19:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="sXyrgua7"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="Dj/Ragp0" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CC2E620818 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=M7j42OOF8x0XLU/5sL1g5XJ41zp1L7Z29XM2tbGKstk=; b=sXyrgua7PpfQXZ qp3biygTGAKWxBhz0Spm8M3BBZl007btlrNQ25kt0NTgq9dHw2oWvOW7bsLByqpIoffQ9fsvJ7DBQ vqye82svSe7khUl8eqW+oq9E9G4lvWHR7sUM6TQvEdVmH/dYw3FQY1K4WBznmGG2tfrrzH2B8BEKL pMCbrReCissdyh5GaU//xbbQcV8pgejnUS5t1hSC2ti9X3XbyplovkM7TOFa87uWvEtle6y6lalP/ MVZ3bSvn9Z4FMmICgSZp44tpW28knP/lV55w2pP9a8G3vL2Ynk25NzMOsSoIuSyeeCmwZW1fkysA7 Il4jAUMkrj7han/qG4NQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW4e-0008TX-3i; Tue, 12 Nov 2019 13:19:12 +0000 Received: from mail-eopbgr750058.outbound.protection.outlook.com ([40.107.75.58] helo=NAM02-BL2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUW2t-0006ly-VK for linux-arm-kernel@lists.infradead.org; Tue, 12 Nov 2019 13:17:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cuNqMuNRF8MTjq5kX6gqUr7RRiLQzsYbm+e1bGPxQ5jzd+uIAxkx7nU47SGCWmWbdINJqYdNj8X7kPujt0oxzZQ0p57J0GAlLxY2nm0lmnCwnJlDp34We0aSWEwP2It1PoKiq2IgYP5k27+oxshy8Jfib/+Za8jWDyZreKdqSOWkS3xUGBCwIgL+BBiatNa1JW5ZBcUlwFubQ3fwDiMDs9RIuEW9ndeFQdCvUSSB3EtoXAGXY8mQpbpYp5RWnp4Fis7BG7IqGX7EfREzLd+80xnBQvxYKOvm9vl4VLEgCkKBPgnWfKDlNvJg7PQDoFadw2nhmoy7a9gGob7VAFQ08g== 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-SenderADCheck; bh=y0REmxpnpKp22WD6nXTe52Q4Jsfe8pXDkZTPk1CgtJI=; b=ZlT+eWvemw0qlYvKNPUWwSG7+WehHHaQtftKSgzVCs579zaY7G9GzOtG2MgigfTWEW0UsXU2nmHZTVbnqJ0TG9KsJbbWmlj3lFCfgOocZDxSBP4leFrXRTtTxYNm5eZ3WSQ47LqvmR9LUip1sk4hVgzBPcoyaSKpOx9/1XcdwIEF9wYWGKn8kMmdqWpxxWL90Cq9WqvK08JV1GZoc6y2Z3lXOUZqwfexEU5/QcGEfq54e5Nelwzo9RkpujiUzowgLK/LbQNlah/Mpxlppbxd5TIS9dtmgnMPL2fzHBcm80LMY4s2pwG2LyJ1BDQBq0k68zcThLIg54bc36N3ysQxMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y0REmxpnpKp22WD6nXTe52Q4Jsfe8pXDkZTPk1CgtJI=; b=Dj/Ragp0fyWRCLmqIKv3LKnwGdfLVhpjyTOww0VmFNZc1qB+2fNM/AEs5VhIGEGZlY+UreaBPKHELg8oocrgWjU9p6Y6bFGFortxxKXStTIVHOwLRZOKfJVBDiLNjGf1ExrpbkkNnj8fbwYsBY8xusIuD+4GvKQS+ORbm8LHmrI= Received: from CH2PR02CA0001.namprd02.prod.outlook.com (2603:10b6:610:4e::11) by DM6PR02MB4889.namprd02.prod.outlook.com (2603:10b6:5:fb::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.23; Tue, 12 Nov 2019 13:17:20 +0000 Received: from SN1NAM02FT016.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::209) by CH2PR02CA0001.outlook.office365.com (2603:10b6:610:4e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.22 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by SN1NAM02FT016.mail.protection.outlook.com (10.152.72.113) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.2430.20 via Frontend Transport; Tue, 12 Nov 2019 13:17:20 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2p-0003tA-La; Tue, 12 Nov 2019 05:17:19 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1iUW2k-0004J3-Hz; Tue, 12 Nov 2019 05:17:14 -0800 Received: from xsj-pvapsmtp01 (xsj-smtp1.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id xACDH8HI011332; Tue, 12 Nov 2019 05:17:08 -0800 Received: from [172.19.2.91] (helo=xsjjollys50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1iUW2e-0004Ds-13; Tue, 12 Nov 2019 05:17:08 -0800 From: Rajan Vaja To: mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, michal.simek@xilinx.com, m.tretter@pengutronix.de, jolly.shah@xilinx.com, dan.carpenter@oracle.com, gustavo@embeddedor.com, tejas.patel@xilinx.com, nava.manne@xilinx.com, ravi.patel@xilinx.com Subject: [PATCH 7/7] clk: zynqmp: Fix fractional clock check Date: Tue, 12 Nov 2019 05:16:20 -0800 Message-Id: <1573564580-9006-8-git-send-email-rajan.vaja@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> References: <1573564580-9006-1-git-send-email-rajan.vaja@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(346002)(39860400002)(396003)(376002)(136003)(189003)(199004)(107886003)(16586007)(50226002)(316002)(6636002)(106002)(4326008)(305945005)(6666004)(356004)(478600001)(486006)(81166006)(81156014)(26005)(8936002)(36756003)(8676002)(7416002)(44832011)(2906002)(9786002)(336012)(446003)(426003)(36386004)(2616005)(476003)(70206006)(51416003)(5660300002)(76176011)(7696005)(70586007)(11346002)(186003)(50466002)(47776003)(126002)(48376002)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR02MB4889; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; MX:1; A:1; MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 879e0f80-5ab5-4ce7-9494-08d76772a5da X-MS-TrafficTypeDiagnostic: DM6PR02MB4889: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:2512; X-Forefront-PRVS: 021975AE46 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3eFeADfoKhjBWHHdV9cN2J7FOPK39AxOP7vJTPtGxOlwVLGeQGDjN88KTFrQLKvDlgs6DnfB6k99M32hEaThbIB2pkwybP3eKiAUC0qGlz4cCUd91ayYiprk6OtWaeZwjNI31RmvsgHc6u5bHPmGejWY+FE4MaCdmCjIdleb0KZlNuzNS0nBQL7AUp8Q9P0LuMMFhUBOhJRVFkQWWc8MHloiI6Jw3BXL1ElISIJxzohKzLfw+OMaGwF7vCuPCd1Dp7nXyE4MhhKNgjJrQC+8DHmN33ymx/WtfLX5pMJLj0AKqzEzxMeZ1CJvd8Y7BoVSKgbvgJgUP/zlAST710PdN84aDE4B+RCG1v1v+YGsATE7J5MvFZ37tjV1ejgLoKp1qAW0QB/8BAhw9UxB8LhVS/qWBuTRyV/T8ap8w17Xqb8bd8NnQPEDYpz4Xh+l3eQ+ X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2019 13:17:20.1161 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 879e0f80-5ab5-4ce7-9494-08d76772a5da X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB4889 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191112_051724_026508_1D8599DD X-CRM114-Status: GOOD ( 13.27 ) X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [40.107.75.58 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Rajan Vaja , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Firmware driver sets BIT(4) to BIT(7) as custom type flags. To make divider as fractional divider firmware sets BIT(4). So add support for custom type flag and use BIT(4) of custom type flag as CLOCK_FRAC bit. Add a new field to the clock_topology to store custom type flags. Signed-off-by: Rajan Vaja --- drivers/clk/zynqmp/clk-zynqmp.h | 1 + drivers/clk/zynqmp/clkc.c | 4 ++++ drivers/clk/zynqmp/divider.c | 7 +++---- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/clk/zynqmp/clk-zynqmp.h b/drivers/clk/zynqmp/clk-zynqmp.h index fec9a15..5beeb41 100644 --- a/drivers/clk/zynqmp/clk-zynqmp.h +++ b/drivers/clk/zynqmp/clk-zynqmp.h @@ -30,6 +30,7 @@ struct clock_topology { u32 type; u32 flag; u32 type_flag; + u8 custom_type_flag; }; struct clk_hw *zynqmp_clk_register_pll(const char *name, u32 clk_id, diff --git a/drivers/clk/zynqmp/clkc.c b/drivers/clk/zynqmp/clkc.c index 10e89f2..4dd8413 100644 --- a/drivers/clk/zynqmp/clkc.c +++ b/drivers/clk/zynqmp/clkc.c @@ -84,6 +84,7 @@ struct name_resp { struct topology_resp { #define CLK_TOPOLOGY_TYPE GENMASK(3, 0) +#define CLK_TOPOLOGY_CUSTOM_TYPE_FLAGS GENMASK(7, 4) #define CLK_TOPOLOGY_FLAGS GENMASK(23, 8) #define CLK_TOPOLOGY_TYPE_FLAGS GENMASK(31, 24) u32 topology[CLK_GET_TOPOLOGY_RESP_WORDS]; @@ -396,6 +397,9 @@ static int __zynqmp_clock_get_topology(struct clock_topology *topology, topology[*nnodes].type_flag = FIELD_GET(CLK_TOPOLOGY_TYPE_FLAGS, response->topology[i]); + topology[*nnodes].custom_type_flag = + FIELD_GET(CLK_TOPOLOGY_CUSTOM_TYPE_FLAGS, + response->topology[i]); (*nnodes)++; } diff --git a/drivers/clk/zynqmp/divider.c b/drivers/clk/zynqmp/divider.c index 67aa88c..e700504 100644 --- a/drivers/clk/zynqmp/divider.c +++ b/drivers/clk/zynqmp/divider.c @@ -25,7 +25,7 @@ #define to_zynqmp_clk_divider(_hw) \ container_of(_hw, struct zynqmp_clk_divider, hw) -#define CLK_FRAC BIT(13) /* has a fractional parent */ +#define CLK_FRAC BIT(4) /* has a fractional parent */ /** * struct zynqmp_clk_divider - adjustable divider clock @@ -279,13 +279,12 @@ struct clk_hw *zynqmp_clk_register_divider(const char *name, init.name = name; init.ops = &zynqmp_clk_divider_ops; - /* CLK_FRAC is not defined in the common clk framework */ - init.flags = nodes->flag & ~CLK_FRAC; + init.flags = nodes->flag; init.parent_names = parents; init.num_parents = 1; /* struct clk_divider assignments */ - div->is_frac = !!(nodes->flag & CLK_FRAC); + div->is_frac = !!(nodes->custom_type_flag & CLK_FRAC); div->flags = nodes->type_flag; div->hw.init = &init; div->clk_id = clk_id;