Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp4567071ybe; Mon, 16 Sep 2019 14:35:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqyuhHFocVFcqPx1xEkpMItzgaxkCb4MMHhd72PDj0jcS6tVytwkfciFeKDqLU1dH0/WrYz3 X-Received: by 2002:a05:6402:713:: with SMTP id w19mr491735edx.126.1568669734756; Mon, 16 Sep 2019 14:35:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568669734; cv=none; d=google.com; s=arc-20160816; b=x3J4MqVX/3OYNIhwME76aie8MSGBBhvlVIf1AEHhGVYRtO2fd9opiTnR0YDbOaiLd3 E+6IFDV/yAAsO2tP+HuSrL84CJBHZtfGEXRboKF+nSC0ecUL04SxYBg9F5J6114jcNCm z6SNgz5tEz1jOqYDeBp2fwVxqoiPHXWyx6/DVYRF2GpXkEp1dnAUMwfddnQIvPyWornK DkX8a9dLD+/uWmz1fAp4xta5SgnCHSsq5rUb51y3jowkMbgX8zLulSsuRyoZ395pUssD BHZMzyeG1IdysgivJBpPtOvjifOHOhtz8FbQymCBg0DM+XwjhMalSGyaWbOsO/UOPpdn HdeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=YqI202SP9Uvm6lQD97H4g3P2DuY2a7DQ+cgjEVc1iKE=; b=JoGA3NwivWtRphrJ3kI3zk6JyJ0VuWoM7MmpMwb9V2+QDiXSyfU7ZDAb5iFvLApgUG kDBs9vRujFhmlkfidIbUAYtBkclrrvQxAuiwpb1PvgsbjoW+KBZ5Hx3c2/5bvrGbX5da rmRuGpNyvyMvJYroh0wTk7Dj1YaBktWJE1zO+BDRrVlpexKmUT/bdBA1TYsC+LiS9r1q c4OdbhD6VTKwxGHS30M8N0RrnNBTiS0WTegqz93Ehd+tVsLsvLoK2rOKQt26eoX2erkc QRhnbg3J/WPu5m48mUy0TqMQ4in9Y4+OP2x+r53uoUH9tdXezMAHXMLgX/xseiXu1etE tLCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TCFJ+T5V; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f47si201610ede.263.2019.09.16.14.35.11; Mon, 16 Sep 2019 14:35:34 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TCFJ+T5V; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389689AbfIPQPE (ORCPT + 99 others); Mon, 16 Sep 2019 12:15:04 -0400 Received: from mail-pg1-f195.google.com ([209.85.215.195]:46762 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727087AbfIPQPD (ORCPT ); Mon, 16 Sep 2019 12:15:03 -0400 Received: by mail-pg1-f195.google.com with SMTP id a3so248319pgm.13 for ; Mon, 16 Sep 2019 09:15:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=YqI202SP9Uvm6lQD97H4g3P2DuY2a7DQ+cgjEVc1iKE=; b=TCFJ+T5VQp/PBhYSSCAmY4rWCPO61OkcTmlcfwPeLEQxWoNSKi4+kdpTZ3KgLao1bP 78YuAjmnc+fuu15yyj9WuXavFLo8vmEeWx9qRJzt2m4tH4E88ZFkNAIUws8SNjvV334h ZuPxKFcj8jmDVbVXdIPSxRMx/rCG8AD6PQ8BL784ZjC1LzJKMv4fCABTrrpjSBnufWpR ab8VVXa7At+aYgWye6PRjYBlah4HDNfLX/FlQRlnybwD/nSvKQB+0yTYJCVPvOACTUnJ Sjjwkj38yDCfOyKJfB+vFJuVLkxtLsVxSuLrzVyu4hFFuOkAkQM87YzArntp+bofj1Ef XhAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=YqI202SP9Uvm6lQD97H4g3P2DuY2a7DQ+cgjEVc1iKE=; b=FAaATCsfxEEmam3vvnzNdjEyoyA8mkALQ6C6R/Nn6U5SGjPvuxKQhfgwFV1RndqxYj EPrsEdxslC86zFJ+h7dAketcGgB9dSzcLybRj6b4ajXORjaI55Dn/Bp6yDwOTAKlHazP vFqr4HIPL7hOrbgMkxCXMrTkqxTWyesJDOzyYGCA5IAmG4jjVTNuTMJmOLtgsVs4pUgm FluOHIL5BsoxXjBGneW8hK1cmAzaFZIQoRtUmQ6xgO2JGy6Q7akEtBXZEq+qZLFIuYQo jQKFhNDIWUZh2c5lJ7QjgmWr0alUNgfWwgx+os1RpvssPwWETMZ4bYKD9IU/hEkeongN dwtw== X-Gm-Message-State: APjAAAXl8qyBwiGD2mLKbtvvKrjGT/pAjL7sdd5zh0gv+SaLy/tOgk/Z yDJZA73x18FE1Cu8fLC37xbf X-Received: by 2002:a63:221f:: with SMTP id i31mr13278538pgi.251.1568650501307; Mon, 16 Sep 2019 09:15:01 -0700 (PDT) Received: from localhost.localdomain ([2409:4072:90b:91ce:94c2:ef93:5bd:cfe8]) by smtp.gmail.com with ESMTPSA id h66sm614134pjb.0.2019.09.16.09.14.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Sep 2019 09:15:00 -0700 (PDT) From: Manivannan Sadhasivam To: sboyd@kernel.org, mturquette@baylibre.com, robh+dt@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, haitao.suo@bitmain.com, darren.tsao@bitmain.com, fisher.cheng@bitmain.com, alec.lin@bitmain.com, Manivannan Sadhasivam Subject: [PATCH v5 0/8] Add Bitmain BM1880 clock driver Date: Mon, 16 Sep 2019 21:44:39 +0530 Message-Id: <20190916161447.32715-1-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, This patchset adds common clock driver for Bitmain BM1880 SoC clock controller. The clock controller consists of gate, divider, mux and pll clocks with different compositions. Hence, the driver uses composite clock structure in place where multiple clocking units are combined together. This patchset also removes UART fixed clock and sources clocks from clock controller for Sophon Edge board where the driver has been validated. Thanks, Mani Changes in v5: * Incorporated review comments from Rob on dt binding Changes in v4: * Fixed devicetree binding issue * Added ARCH_BITMAIN as the default for the clk driver Changes in v3: * Switched to clk_hw_{register/unregister} APIs * Returned clk_hw from the in-driver registration helpers Changes in v2: * Converted the dt binding to YAML * Incorporated review comments from Stephen (majority of change is switching to new way of specifying clk parents) Manivannan Sadhasivam (8): clk: Zero init clk_init_data in helpers clk: Warn if clk_init_data is not zero initialized clk: Add clk_hw_unregister_composite helper function definition dt-bindings: clock: Add devicetree binding for BM1880 SoC arm64: dts: bitmain: Add clock controller support for BM1880 SoC arm64: dts: bitmain: Source common clock for UART controllers clk: Add common clock driver for BM1880 SoC MAINTAINERS: Add entry for BM1880 SoC clock driver .../bindings/clock/bitmain,bm1880-clk.yaml | 76 ++ MAINTAINERS | 2 + .../boot/dts/bitmain/bm1880-sophon-edge.dts | 9 - arch/arm64/boot/dts/bitmain/bm1880.dtsi | 28 + drivers/clk/Kconfig | 7 + drivers/clk/Makefile | 1 + drivers/clk/clk-bm1880.c | 966 ++++++++++++++++++ drivers/clk/clk-composite.c | 13 +- drivers/clk/clk-divider.c | 2 +- drivers/clk/clk-fixed-rate.c | 2 +- drivers/clk/clk-gate.c | 2 +- drivers/clk/clk-mux.c | 2 +- drivers/clk/clk.c | 8 + include/dt-bindings/clock/bm1880-clock.h | 82 ++ 14 files changed, 1186 insertions(+), 14 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/bitmain,bm1880-clk.yaml create mode 100644 drivers/clk/clk-bm1880.c create mode 100644 include/dt-bindings/clock/bm1880-clock.h -- 2.17.1