Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp915692rdb; Wed, 6 Dec 2023 03:51:40 -0800 (PST) X-Google-Smtp-Source: AGHT+IEWvbdywm7tzNPxuoG7tsmdb4gpmZdMHtv7ZpGi/SuN0628dFqhLSS26XQRZOWIEwoO7DDB X-Received: by 2002:a05:6e02:11aa:b0:35d:59a2:a33f with SMTP id 10-20020a056e0211aa00b0035d59a2a33fmr805603ilj.65.1701863499950; Wed, 06 Dec 2023 03:51:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701863499; cv=none; d=google.com; s=arc-20160816; b=MxH7LdRD85itBQlrjVOYt0pH2WfHsJG4fFMnDr/RbvDW8FTm3lAfmah7QAQcRfK78t a0feuL6ZHujAqrCoEXF6SZl4x1CylsiI0KWGMcxndOR4oGDqGy9laAECM/rF+IPUTWOi 7nmUATkgkIvizzJa8UJwDOU0W8WRwRFjnSvItVHov12mnRZIsMhrvzO8nc1tWgpVha6Y J+BbhboVCIX+6mIOIH4xowP+C5co6++6SGR+a6+vRy+CPD8URKbCovogLf9UnlnXbNW2 l2evM8mkJR1QISbcg5H7DcMY82qR46L4FG1M+IF/RE3K8vVQVE5prp8WOLApy+iKEdcj rMng== 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 Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id cm17-20020a056a020a1100b005c66e60900csi6259702pgb.239.2023.12.06.03.51.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 03:51:39 -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 2AF4380C2576; Wed, 6 Dec 2023 03:51:29 -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 Content-Type: text/plain 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 Content-Transfer-Encoding: 8BIT 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:51:29 -0800 (PST) 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%) -- 2.34.1