From patchwork Wed Dec 6 11:49:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: JeeHeng Sia X-Patchwork-Id: 17617 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4048746vqy; Wed, 6 Dec 2023 03:51:28 -0800 (PST) X-Google-Smtp-Source: AGHT+IGqjS5+JRD9RygdSUFD6E/W5u2dg4M323Y65xxYFa6aQc4x4RtZJfCNM1q55TN2CFYw0G+/ X-Received: by 2002:a05:6871:d10e:b0:1fb:e5f:c539 with SMTP id pi14-20020a056871d10e00b001fb0e5fc539mr789035oac.49.1701863488327; Wed, 06 Dec 2023 03:51:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701863488; cv=none; d=google.com; s=arc-20160816; b=ng7AOXoOIcnZahz0Scx7gzofkSinJDnbDeFeprYiuDEsQSNCK2QSfoWnM0fal8YcHg yZKiKOkqOL1YISYOaQ9V5ryojH1ZppD0gUjEcaLUSbtoTXpn5chEGjiVIwU3PDsM+OaE DyZPN0cWFhtV8WpLru4XhmkkSowoulS0+hc9i5ROmGOZgktiaO1FLOlYTkyKZuGdFUQi l1PrJvvpCkpjsglHO+giEWdUBx08FkNYZP1A0LsfY54flCbr4b6JjoqWqFzXpDVeMHbU cwSmyBRHLTzFuFAsb+s57veyeox49C+Gbx4/OGBwUSc5ZfxYG6U0E6o8XnkI/OcQXy4l z1qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=fzMxNjFx3jbQz46WGox6VMhufzZGoBAghL70yH420oI=; fh=nAnTSeHk7ZG6JaVuKwLyTGDSWDb/q5GiASFSvBr1exo=; b=IzS2AMTewrLbOLv7I+SH2lNV+O+wS86/TQFjTUAixH9UR50wVkNaBUvcI9c6V8lpq9 u7RhSenR8lLU3w3IWCA7O8NoFUV77NOydJqdHyuoOj8+BHlEHEIG4P7zJWzVsS3mWcF9 po1xQ6SCjZn8pQ40NgJWCkDe14JeCOemzy+pHp05CMIKM65Ghu/d5UiXMO3ivQyyYUjo nVt7a1Ryf07+J+mcS3OavjRO+XpIysTjio81LWHR/5OYmTlZY9O0N7c/Dmd920wOZ6iK tFs47cYsfYssNYmmXvvPdNhOLrfV4w/r/9Sm3usktcLenaFu1zYGkfrQThCVTBncpbY/ I3cw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id l6-20020a63ba46000000b005c67bf3805fsi6351607pgu.309.2023.12.06.03.51.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 03:51:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 6B97D807E44D; Wed, 6 Dec 2023 03:50:55 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377808AbjLFLuO convert rfc822-to-8bit (ORCPT + 99 others); Wed, 6 Dec 2023 06:50:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377762AbjLFLuL (ORCPT ); Wed, 6 Dec 2023 06:50:11 -0500 Received: from ex01.ufhost.com (ex01.ufhost.com [61.152.239.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2ABAA1BD; Wed, 6 Dec 2023 03:50:15 -0800 (PST) Received: from EXMBX165.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX165", Issuer "EXMBX165" (not verified)) by ex01.ufhost.com (Postfix) with ESMTP id AAD0924E2F7; Wed, 6 Dec 2023 19:50:12 +0800 (CST) Received: from EXMBX066.cuchost.com (172.16.7.66) by EXMBX165.cuchost.com (172.16.6.75) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 6 Dec 2023 19:50:12 +0800 Received: from jsia-virtual-machine.localdomain (175.136.135.142) by EXMBX066.cuchost.com (172.16.6.66) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 6 Dec 2023 19:50:05 +0800 From: Sia Jee Heng To: , , , , , , , , , , , , CC: , , , , , Subject: [PATCH v1 00/16] Basic clock and reset support for StarFive JH8100 RISC-V SoC Date: Wed, 6 Dec 2023 19:49:44 +0800 Message-ID: <20231206115000.295825-1-jeeheng.sia@starfivetech.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Originating-IP: [175.136.135.142] X-ClientProxiedBy: EXCAS062.cuchost.com (172.16.6.22) To EXMBX066.cuchost.com (172.16.6.66) X-YovoleRuleAgent: yovoleflag X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Wed, 06 Dec 2023 03:50:55 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784533208915595572 X-GMAIL-MSGID: 1784533208915595572 This patch series enabled basic clock & reset support for StarFive JH8100 SoC. This patch series depends on the Initial device tree support for StarFive JH8100 SoC patch series which can be found at below link: https://lore.kernel.org/lkml/20231201121410.95298-1-jeeheng.sia@starfivetech.com/ StarFive JH8100 shares a similar clock and reset design with JH7110. To facilitate the reuse of the file and its functionalities, files containing the 'jh71x0' naming convention are renamed to use the 'common' wording. Internal functions that contain the 'jh71x0' naming convention are renamed to use 'starfive.' This is accomplished through patches 1, 2, 3, and 4. Patch 5 adds documentation to describe System (SYSCRG) Clock & Reset binding. Patch 6 adds SYSCRG clock driver. patch 7 adds documentation to describe System-North-West (SYSCRG-NW) Clock & Reset binding. Patch 8 adds SYSCRG-NW clock driver. patch 9 adds documentation to describe System-North-East (SYSCRG-NE) Clock & Reset binding. Patch 10 adds SYSCRG-NE clock driver. patch 11 adds documentation to describe System-South-West (SYSCRG-SW) Clock & Reset binding. Patch 12 adds SYSCRG-SW clock driver. patch 13 adds documentation to describe Always-On (AON) Clock & Reset binding. Patch 14 adds AON clock driver. Patch 15 adds support for the auxiliary reset driver. Patch 16 adds clocks and reset nodes to the JH8100 device tree. Sia Jee Heng (16): reset: starfive: Rename file name "jh71x0" to "common" reset: starfive: Convert the word "jh71x0" to "starfive" clk: starfive: Rename file name "jh71x0" to "common" clk: starfive: Convert the word "jh71x0" to "starfive" dt-bindings: clock: Add StarFive JH8100 System clock and reset generator clk: starfive: Add JH8100 System clock generator driver dt-bindings: clock: Add StarFive JH8100 System-North-West clock and reset generator clk: starfive: Add JH8100 System-North-West clock generator driver dt-bindings: clock: Add StarFive JH8100 System-North-East clock and reset generator clk: starfive: Add JH8100 System-North-East clock generator driver dt-bindings: clock: Add StarFive JH8100 System-South-West clock and reset generator clk: starfive: Add JH8100 System-South-West clock generator driver dt-bindings: clock: Add StarFive JH8100 Always-On clock and reset generator clk: starfive: Add JH8100 Always-On clock generator driver reset: starfive: Add StarFive JH8100 reset driver riscv: dts: starfive: jh8100: Add clocks and resets nodes .../clock/starfive,jh8100-aoncrg.yaml | 77 +++ .../clock/starfive,jh8100-syscrg-ne.yaml | 158 +++++ .../clock/starfive,jh8100-syscrg-nw.yaml | 119 ++++ .../clock/starfive,jh8100-syscrg-sw.yaml | 66 ++ .../clock/starfive,jh8100-syscrg.yaml | 66 ++ MAINTAINERS | 15 + arch/riscv/boot/dts/starfive/jh8100-clk.dtsi | 180 ++++++ arch/riscv/boot/dts/starfive/jh8100.dtsi | 115 ++++ drivers/clk/starfive/Kconfig | 49 +- drivers/clk/starfive/Makefile | 3 +- drivers/clk/starfive/clk-starfive-common.c | 327 ++++++++++ drivers/clk/starfive/clk-starfive-common.h | 130 ++++ .../clk/starfive/clk-starfive-jh7100-audio.c | 127 ++-- drivers/clk/starfive/clk-starfive-jh7100.c | 503 ++++++++-------- .../clk/starfive/clk-starfive-jh7110-aon.c | 62 +- .../clk/starfive/clk-starfive-jh7110-isp.c | 72 +-- .../clk/starfive/clk-starfive-jh7110-stg.c | 94 +-- .../clk/starfive/clk-starfive-jh7110-sys.c | 523 ++++++++-------- .../clk/starfive/clk-starfive-jh7110-vout.c | 74 +-- drivers/clk/starfive/clk-starfive-jh7110.h | 4 +- drivers/clk/starfive/clk-starfive-jh71x0.c | 327 ---------- drivers/clk/starfive/clk-starfive-jh71x0.h | 123 ---- drivers/clk/starfive/jh8100/Makefile | 7 + drivers/clk/starfive/jh8100/clk-aon.c | 275 +++++++++ .../clk/starfive/jh8100/clk-starfive-jh8100.h | 11 + drivers/clk/starfive/jh8100/clk-sys-ne.c | 566 ++++++++++++++++++ drivers/clk/starfive/jh8100/clk-sys-nw.c | 268 +++++++++ drivers/clk/starfive/jh8100/clk-sys-sw.c | 136 +++++ drivers/clk/starfive/jh8100/clk-sys.c | 455 ++++++++++++++ drivers/reset/starfive/Kconfig | 14 +- drivers/reset/starfive/Makefile | 4 +- ...rfive-jh71x0.c => reset-starfive-common.c} | 68 +-- .../reset/starfive/reset-starfive-common.h | 14 + .../reset/starfive/reset-starfive-jh7100.c | 4 +- .../reset/starfive/reset-starfive-jh7110.c | 8 +- .../reset/starfive/reset-starfive-jh71x0.h | 14 - .../reset/starfive/reset-starfive-jh8100.c | 102 ++++ .../dt-bindings/clock/starfive,jh8100-crg.h | 430 +++++++++++++ .../dt-bindings/reset/starfive,jh8100-crg.h | 127 ++++ ...rfive-jh71x0.h => reset-starfive-common.h} | 10 +- 40 files changed, 4485 insertions(+), 1242 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-aoncrg.yaml create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-syscrg-ne.yaml create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-syscrg-nw.yaml create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-syscrg-sw.yaml create mode 100644 Documentation/devicetree/bindings/clock/starfive,jh8100-syscrg.yaml create mode 100644 arch/riscv/boot/dts/starfive/jh8100-clk.dtsi create mode 100644 drivers/clk/starfive/clk-starfive-common.c create mode 100644 drivers/clk/starfive/clk-starfive-common.h delete mode 100644 drivers/clk/starfive/clk-starfive-jh71x0.c delete mode 100644 drivers/clk/starfive/clk-starfive-jh71x0.h create mode 100644 drivers/clk/starfive/jh8100/Makefile create mode 100644 drivers/clk/starfive/jh8100/clk-aon.c create mode 100644 drivers/clk/starfive/jh8100/clk-starfive-jh8100.h create mode 100644 drivers/clk/starfive/jh8100/clk-sys-ne.c create mode 100644 drivers/clk/starfive/jh8100/clk-sys-nw.c create mode 100644 drivers/clk/starfive/jh8100/clk-sys-sw.c create mode 100644 drivers/clk/starfive/jh8100/clk-sys.c rename drivers/reset/starfive/{reset-starfive-jh71x0.c => reset-starfive-common.c} (55%) create mode 100644 drivers/reset/starfive/reset-starfive-common.h delete mode 100644 drivers/reset/starfive/reset-starfive-jh71x0.h create mode 100644 drivers/reset/starfive/reset-starfive-jh8100.c create mode 100644 include/dt-bindings/clock/starfive,jh8100-crg.h create mode 100644 include/dt-bindings/reset/starfive,jh8100-crg.h rename include/soc/starfive/{reset-starfive-jh71x0.h => reset-starfive-common.h} (50%)