Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp10767705ybl; Fri, 27 Dec 2019 01:47:00 -0800 (PST) X-Google-Smtp-Source: APXvYqyE41Wh0RTtQbNADD8nUWaYJu3A/nH6kAvKFsGMJWcsDTW/4AOFFdhWoikcr/PxWaHhfDeT X-Received: by 2002:a9d:6c99:: with SMTP id c25mr36826140otr.178.1577440020257; Fri, 27 Dec 2019 01:47:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577440020; cv=none; d=google.com; s=arc-20160816; b=U57Vmu5rA6ggSy2uXxAqib2ntNuo24XAAhF3Zueb1AW5SiGbVLYeUdcEUpwxU/ju66 HPjLoooT+jBde4C+bTKTfoBimSkZhcjdjHnEJhAE40zoz0Zd/tYrad53Qi0OFFddS3xc cCImj+b0jpBIGfKAxkLKWvx7gOlsmuZWtMy78LJGdz2D7LPsGFGBthbLyWPTpDtW+zWq l9wJrfGHUVBjvFER8s+Rgogys9PYkHHDw/WyIhjuPBY/1hOoKKp9KnUpCJZvqVDEwqy9 RnougAX4AdQ2Jk8F2XW8LnpigviqDM8vKOR7oh/yYiXHKJo9XFKIuE2YzQJAvKvUnZE0 iJ/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=X2VtsNRXMVmp4NxaA6VLYQ3xe+Gau6OPMvvi7UIlf9M=; b=zmxUEUHxewxIGKxaj81DVcN+xI2vn5a2d8hhhfUDI79d14HnjplI+dmAYyfTPB03Jg oCAkDK7e1Y2WSWFG7WxpuacF0ASfUr2shtSGN6NrG1jMu0VrrJA4bocFVlOIZTAXQACZ kL/RjFkQgedndMW3eaDLSu7bUV4rygXSyCdmvvfobOYIulPeiGhO5JZADnKdGzlwuB50 PbMJPDLhVum2F5NaPuNZBd15mpwbcQM6MlU52Y407hYBXZtnMFja0PKm/h5B8MpxoLRZ Iz5A5tpkg5G/J9nDye4e86VdiFq5fd/pKk5d2dUd1YH6jFKQfgHKQpm1qgQ2wjN0v2RN wNUw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c186si9598670oib.103.2019.12.27.01.46.48; Fri, 27 Dec 2019 01:47:00 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726408AbfL0JqL (ORCPT + 99 others); Fri, 27 Dec 2019 04:46:11 -0500 Received: from mail-sz.amlogic.com ([211.162.65.117]:21024 "EHLO mail-sz.amlogic.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726014AbfL0JqL (ORCPT ); Fri, 27 Dec 2019 04:46:11 -0500 Received: from droid15-sz.amlogic.com (10.28.8.25) by mail-sz.amlogic.com (10.28.11.5) with Microsoft SMTP Server id 15.1.1591.10; Fri, 27 Dec 2019 17:46:27 +0800 From: Jian Hu To: Jerome Brunet , Neil Armstrong CC: Jian Hu , Kevin Hilman , Rob Herring , Martin Blumenstingl , Michael Turquette , Stephen Boyd , Qiufang Dai , Jianxin Pan , Victor Wan , Chandle Zou , , , , , Subject: [PATCH v5 0/5] add Amlogic A1 clock controller driver Date: Fri, 27 Dec 2019 17:46:01 +0800 Message-ID: <20191227094606.143637-1-jian.hu@amlogic.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.28.8.25] Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org add support for Amlogic A1 clock driver, the clock includes three parts: peripheral clocks, pll clocks, CPU clocks. sys pll and CPU clocks will be sent in next patch. Changes since v4 at [5]: - change yaml GPL - drop meson-eeclk.c patch, add probe function in each driver - add CLK_IS_CRITICAL for sys_clk clock, drop the flag for sys_a and sys_b - add new parm for pll, add protection for rst parm - drop flag for a1_fixed_pll - remove the same comment for fclk_div, add "refer to" - add critical flag for a1_sys_clk - remove rtc table - rename a1_dspa_en_dspa and a1_dspb_en_dspb - remove useless comment Changes since v3 at [3]: -fix reparenting orphan failed, it depends on jerome's patch [4] -fix changelist in v3 about reparenting orphan -remove the dts patch Changes since v2 at [2]: -add probe function for A1 -seperate the clock driver into two patch -change some clock flags and ops -add support for a1 PLL ops -add A1 clock node -fix reparenting orphan clock failed, registering xtal_fixpll and xtal_hifipll after the provider registration, it is not a best way. Changes since v1 at [1]: -place A1 config alphabetically -add actual reason for RO ops, CLK_IS_CRITICAL, CLK_IGNORE_UNUSED -separate the driver into two driver: peripheral and pll driver -delete CLK_IGNORE_UNUSED flag for pwm b/c/d/e/f clock, dsp clock -delete the change in Kconfig.platforms, address to Kevin alone -remove the useless comments -modify the meson pll driver to support A1 PLLs [1] https://lkml.kernel.org/r/1569411888-98116-1-git-send-email-jian.hu@amlogic.com [2] https://lkml.kernel.org/r/1571382865-41978-1-git-send-email-jian.hu@amlogic.com [3] https://lkml.kernel.org/r/20191129144605.182774-1-jian.hu@amlogic.com [4] https://lkml.kernel.org/r/20191203080805.104628-1-jbrunet@baylibre.com [5] https://lkml.kernel.org/r/20191206074052.15557-1-jian.hu@amlogic.com Jian Hu (5): dt-bindings: clock: meson: add A1 PLL clock controller bindings clk: meson: add support for A1 PLL clock ops clk: meson: a1: add support for Amlogic A1 PLL clock driver dt-bindings: clock: meson: add A1 peripheral clock controller bindings clk: meson: a1: add support for Amlogic A1 Peripheral clock driver .../bindings/clock/amlogic,a1-clkc.yaml | 67 + .../bindings/clock/amlogic,a1-pll-clkc.yaml | 54 + drivers/clk/meson/Kconfig | 18 + drivers/clk/meson/Makefile | 2 + drivers/clk/meson/a1-pll.c | 374 +++ drivers/clk/meson/a1-pll.h | 56 + drivers/clk/meson/a1.c | 2263 +++++++++++++++++ drivers/clk/meson/a1.h | 120 + drivers/clk/meson/clk-pll.c | 40 +- drivers/clk/meson/clk-pll.h | 2 + include/dt-bindings/clock/a1-clkc.h | 98 + include/dt-bindings/clock/a1-pll-clkc.h | 16 + 12 files changed, 3105 insertions(+), 5 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/amlogic,a1-clkc.yaml create mode 100644 Documentation/devicetree/bindings/clock/amlogic,a1-pll-clkc.yaml create mode 100644 drivers/clk/meson/a1-pll.c create mode 100644 drivers/clk/meson/a1-pll.h create mode 100644 drivers/clk/meson/a1.c create mode 100644 drivers/clk/meson/a1.h create mode 100644 include/dt-bindings/clock/a1-clkc.h create mode 100644 include/dt-bindings/clock/a1-pll-clkc.h -- 2.24.0