From patchwork Thu Jun 15 18:29:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lucas Tanure X-Patchwork-Id: 13281664 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 56066EB64DB for ; Thu, 15 Jun 2023 18:30:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LDhzhVb3A96aA/d/Q1nkgGiC+DkB7S5BPefJmPlf+x8=; b=RaglB3uqQlONI8 k7mv5M/d1i1Iao5PR6YIC9YEKVoDbXpl2mYe2TdLtkxF0q2fYF4HcHodcYmeP37PwbPqpGw5icEk6 7A0Jb1jfP9mvc3AR8WdWxSAZWANjc13enyG491D0pQqDWZ7mhWNue0gGY3qHRUxUFLII4xNttqZYc ZtDu5eLBet/Wl+lzLY0nWUiRSubOTlLbRTawkwK4H0qH2TA/G4BL8dg+joZCEnCm6pQ0aiLE4SdRw EOtCrJvEtaJk/YBQCuon17yW/dO4DAI0ZfHcbL4oZDv5b6lmcdgW5ezQelJ/3LfJbVx18WjC7+lLi QLYeG3VU+ggoJ+fQRKKw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q9rjL-00FkgO-0p; Thu, 15 Jun 2023 18:29:59 +0000 Received: from mail-wr1-f52.google.com ([209.85.221.52]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q9rj7-00FkYR-0s; Thu, 15 Jun 2023 18:29:48 +0000 Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-311153ec442so784531f8f.1; Thu, 15 Jun 2023 11:29:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686853783; x=1689445783; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hU6a6sKvQg9ioadnbSYVtH+UsgRPTiogrfsIDCI88uA=; b=Cb3eq0kUcRx0cdpq46R2lUZOxqDt8U83b8KXDLM1ZCx1Ar796G0YHc4YxYyAprhemx oJ47y8HZ9E9sxpWgcG+4AMXFXp/L4H/x+QebCyhwNSjmNvC6blsaMFhQU4PGjiEN+IkY OGAlxbMRma+8108+WMpi0c3dLRP97GyLCf66wt4YzsxSPNZxR/oAPAo4dE4jARbyyEvq ZStLrVtG7qMBTGHfcl3yali/NwLlcgeYItsVIbcg2E1XM3vvXnpozgWnKlaeT0reDkig 1rWRxqrXPhaU/CHop6dlHn7n6uVlNsmhm2jWh+IUNm67XGrHVexQiyirEyjD2Y2BCOU6 8h+g== X-Gm-Message-State: AC+VfDxP+BgYk91bdoEWsR02iwhFNvlT7VcnkCK9KM7jZJG4OfXGN2md TJTc6+aXQPbHlDVtZPf7EK4= X-Google-Smtp-Source: ACHHUZ6EgZct0QfQ1duy3CEUre2XBD50U3qxsJ2bhtaGhPqHTS6r7ZpuIUOcaTnZ7iWOJThMidU+uA== X-Received: by 2002:adf:f601:0:b0:311:100a:d1e0 with SMTP id t1-20020adff601000000b00311100ad1e0mr3986490wrp.14.1686853783284; Thu, 15 Jun 2023 11:29:43 -0700 (PDT) Received: from ryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net. [82.11.51.62]) by smtp.gmail.com with ESMTPSA id c3-20020adffb03000000b0030ab5ebefa8sm21525887wrr.46.2023.06.15.11.29.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 11:29:42 -0700 (PDT) From: Lucas Tanure To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neil Armstrong , Jerome Brunet , Michael Turquette , Stephen Boyd , Kevin Hilman , Greg Kroah-Hartman Cc: Nick , Artem , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-serial@vger.kernel.org, Lucas Tanure Subject: [PATCH 2/6] dt-bindings: clock: Bindings for Meson T7 clock controller Date: Thu, 15 Jun 2023 19:29:34 +0100 Message-ID: <20230615182938.18487-3-tanure@linux.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230615182938.18487-1-tanure@linux.com> References: <20230615182938.18487-1-tanure@linux.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230615_112945_314649_BBABCAE7 X-CRM114-Status: GOOD ( 13.55 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add documentation for T7 the clock controller. Signed-off-by: Lucas Tanure --- .../bindings/clock/amlogic,mesont7.yaml | 69 +++ include/dt-bindings/clock/mesont7-clkc.h | 487 ++++++++++++++++++ 2 files changed, 556 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/amlogic,mesont7.yaml create mode 100644 include/dt-bindings/clock/mesont7-clkc.h -- 2.41.0 diff --git a/Documentation/devicetree/bindings/clock/amlogic,mesont7.yaml b/Documentation/devicetree/bindings/clock/amlogic,mesont7.yaml new file mode 100644 index 000000000000..18e7cca0c0e1 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/amlogic,mesont7.yaml @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/amlogic,mesont7-clk.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Amlogic Meson T7 Clock Controller + +maintainers: + - Lucas Tanure + +description: | + The Amlogic Meson T7 clock controller generates and supplies clock to + various peripherals within the SoC. + + This binding uses common clock bindings + [1] Documentation/devicetree/bindings/clock/clock-bindings.txt + +properties: + compatible: + const: amlogic,t7-clkc + + reg: + items: + - description: basic registers + - description: pll registers + - description: cpu_clk registers + + reg-names: + items: + - const: basic + - const: pll + - const: cpu_clk + + clocks: + maxItems: 1 + + clock-names: + const: xtal + + '#clock-cells': + const: 1 + +required: + - compatible + - reg + - reg-names + - clocks + - clock-names + - '#clock-cells' + +additionalProperties: false + +examples: + # Clock controller node: + - | + clkc: clock-controller { + compatible = "amlogic,t7-clkc"; + #clock-cells = <1>; + reg = <0x0 0x0000 0x00 0x49c>, + <0x0 0x8000 0x00 0x320>, + <0x0 0xe040 0x00 0x0bc>; + reg-names = "basic", "pll", "cpu_clk"; + clocks = <&xtal>; + clock-names = "xtal"; + status = "okay"; + }; + +... diff --git a/include/dt-bindings/clock/mesont7-clkc.h b/include/dt-bindings/clock/mesont7-clkc.h new file mode 100644 index 000000000000..8bc1122b75a7 --- /dev/null +++ b/include/dt-bindings/clock/mesont7-clkc.h @@ -0,0 +1,487 @@ +/* SPDX-License-Identifier: GPL-2.0 OR MIT */ +/* + * Copyright (c) 2019 Amlogic Inc. All rights reserved. + */ + +#ifndef __T7_CLKC_H +#define __T7_CLKC_H + +/* + * CLKID index values + */ + +#define CLKID_FIXED_PLL_DCO 0 +#define CLKID_FIXED_PLL 1 +#define CLKID_SYS_PLL_DCO 2 +#define CLKID_SYS_PLL 3 +#define CLKID_FCLK_DIV2_DIV 4 +#define CLKID_FCLK_DIV2 5 +#define CLKID_FCLK_DIV3_DIV 6 +#define CLKID_FCLK_DIV3 7 +#define CLKID_FCLK_DIV4_DIV 8 +#define CLKID_FCLK_DIV4 9 +#define CLKID_FCLK_DIV5_DIV 10 +#define CLKID_FCLK_DIV5 11 +#define CLKID_FCLK_DIV7_DIV 12 +#define CLKID_FCLK_DIV7 13 +#define CLKID_FCLK_DIV2P5_DIV 14 +#define CLKID_FCLK_DIV2P5 15 +#define CLKID_GP0_PLL_DCO 16 +#define CLKID_GP0_PLL 17 +#define CLKID_GP1_PLL_DCO 18 +#define CLKID_GP1_PLL 19 +#define CLKID_SYS1_PLL_DCO 20 +#define CLKID_SYS1_PLL 21 +#define CLKID_CPU_DYN_CLK 22 +#define CLKID_CPU_CLK 23 +#define CLKID_A73_DYN_CLK 24 +#define CLKID_A73_CLK 25 +#define CLKID_CPU1_CLK 26 +#define CLKID_CPU2_CLK 27 +#define CLKID_CPU3_CLK 28 +#define CLKID_MCLK_PLL_DCO 29 +#define CLKID_MCLK_PRE 30 +#define CLKID_MCLK_PLL 31 + +#define CLKID_PLL_BASE 32 +#define CLKID_HIFI_PLL_DCO (CLKID_PLL_BASE + 0) +#define CLKID_HIFI_PLL (CLKID_PLL_BASE + 1) +#define CLKID_PCIE_PLL_DCO (CLKID_PLL_BASE + 2) +#define CLKID_PCIE_PLL_DCO_DIV2 (CLKID_PLL_BASE + 3) +#define CLKID_PCIE_PLL_OD (CLKID_PLL_BASE + 4) +#define CLKID_PCIE_PLL (CLKID_PLL_BASE + 5) +#define CLKID_HDMI_PLL_DCO (CLKID_PLL_BASE + 6) +#define CLKID_HDMI_PLL_OD (CLKID_PLL_BASE + 7) +#define CLKID_HDMI_PLL (CLKID_PLL_BASE + 8) +#define CLKID_MPLL_50M_DIV (CLKID_PLL_BASE + 9) +#define CLKID_MPLL_50M (CLKID_PLL_BASE + 10) +#define CLKID_MPLL_PREDIV (CLKID_PLL_BASE + 11) +#define CLKID_MPLL0_DIV (CLKID_PLL_BASE + 12) +#define CLKID_MPLL0 (CLKID_PLL_BASE + 13) +#define CLKID_MPLL1_DIV (CLKID_PLL_BASE + 14) +#define CLKID_MPLL1 (CLKID_PLL_BASE + 15) +#define CLKID_MPLL2_DIV (CLKID_PLL_BASE + 16) +#define CLKID_MPLL2 (CLKID_PLL_BASE + 17) +#define CLKID_MPLL3_DIV (CLKID_PLL_BASE + 18) +#define CLKID_MPLL3 (CLKID_PLL_BASE + 19) +#define CLKID_PCIE_BGP (CLKID_PLL_BASE + 20) +#define CLKID_PCIE_HCSL (CLKID_PLL_BASE + 21) + +#define CLKID_BASE (CLKID_PLL_BASE + 22) +#define CLKID_RTC_32K_CLKIN (CLKID_BASE + 0) +#define CLKID_RTC_32K_DIV (CLKID_BASE + 1) +#define CLKID_RTC_32K_XATL (CLKID_BASE + 2) +#define CLKID_RTC_32K_MUX (CLKID_BASE + 3) +#define CLKID_RTC_CLK (CLKID_BASE + 4) +#define CLKID_SYS_CLK_B_MUX (CLKID_BASE + 5) +#define CLKID_SYS_CLK_B_DIV (CLKID_BASE + 6) +#define CLKID_SYS_CLK_B_GATE (CLKID_BASE + 7) +#define CLKID_SYS_CLK_A_MUX (CLKID_BASE + 8) +#define CLKID_SYS_CLK_A_DIV (CLKID_BASE + 9) +#define CLKID_SYS_CLK_A_GATE (CLKID_BASE + 10) +#define CLKID_SYS_CLK (CLKID_BASE + 11) +#define CLKID_CECA_32K_CLKIN (CLKID_BASE + 12) +#define CLKID_CECA_32K_DIV (CLKID_BASE + 13) +#define CLKID_CECA_32K_MUX_PRE (CLKID_BASE + 14) +#define CLKID_CECA_32K_MUX (CLKID_BASE + 15) +#define CLKID_CECA_32K_CLKOUT (CLKID_BASE + 16) +#define CLKID_CECB_32K_CLKIN (CLKID_BASE + 17) +#define CLKID_CECB_32K_DIV (CLKID_BASE + 18) +#define CLKID_CECB_32K_MUX_PRE (CLKID_BASE + 19) +#define CLKID_CECB_32K_MUX (CLKID_BASE + 20) +#define CLKID_CECB_32K_CLKOUT (CLKID_BASE + 21) +#define CLKID_SC_CLK_MUX (CLKID_BASE + 22) +#define CLKID_SC_CLK_DIV (CLKID_BASE + 23) +#define CLKID_SC_CLK_GATE (CLKID_BASE + 24) +#define CLKID_DSPA_CLK_B_MUX (CLKID_BASE + 25) +#define CLKID_DSPA_CLK_B_DIV (CLKID_BASE + 26) +#define CLKID_DSPA_CLK_B_GATE (CLKID_BASE + 27) +#define CLKID_DSPA_CLK_A_MUX (CLKID_BASE + 28) +#define CLKID_DSPA_CLK_A_DIV (CLKID_BASE + 29) +#define CLKID_DSPA_CLK_A_GATE (CLKID_BASE + 30) +#define CLKID_DSPA_CLK (CLKID_BASE + 31) +#define CLKID_24M_CLK_GATE (CLKID_BASE + 32) +#define CLKID_12M_CLK_DIV (CLKID_BASE + 33) +#define CLKID_12M_CLK_GATE (CLKID_BASE + 34) +#define CLKID_25M_CLK_DIV (CLKID_BASE + 35) +#define CLKID_25M_CLK_GATE (CLKID_BASE + 36) +/* Video clks */ +#define CLKID_VID_PLL_DIV (CLKID_BASE + 37) +#define CLKID_VID_PLL_MUX (CLKID_BASE + 38) +#define CLKID_VID_PLL (CLKID_BASE + 39) +#define CLKID_VCLK_MUX (CLKID_BASE + 40) +#define CLKID_VCLK2_MUX (CLKID_BASE + 41) +#define CLKID_VCLK_INPUT (CLKID_BASE + 42) +#define CLKID_VCLK2_INPUT (CLKID_BASE + 43) +#define CLKID_VCLK_DIV (CLKID_BASE + 44) +#define CLKID_VCLK2_DIV (CLKID_BASE + 45) +#define CLKID_VCLK (CLKID_BASE + 46) +#define CLKID_VCLK2 (CLKID_BASE + 47) +#define CLKID_VCLK_DIV1 (CLKID_BASE + 48) +#define CLKID_VCLK_DIV2_EN (CLKID_BASE + 49) +#define CLKID_VCLK_DIV4_EN (CLKID_BASE + 50) +#define CLKID_VCLK_DIV6_EN (CLKID_BASE + 51) +#define CLKID_VCLK_DIV12_EN (CLKID_BASE + 52) +#define CLKID_VCLK2_DIV1 (CLKID_BASE + 53) +#define CLKID_VCLK2_DIV2_EN (CLKID_BASE + 54) +#define CLKID_VCLK2_DIV4_EN (CLKID_BASE + 55) +#define CLKID_VCLK2_DIV6_EN (CLKID_BASE + 56) +#define CLKID_VCLK2_DIV12_EN (CLKID_BASE + 57) +#define CLKID_VCLK_DIV2 (CLKID_BASE + 58) +#define CLKID_VCLK_DIV4 (CLKID_BASE + 59) +#define CLKID_VCLK_DIV6 (CLKID_BASE + 60) +#define CLKID_VCLK_DIV12 (CLKID_BASE + 61) +#define CLKID_VCLK2_DIV2 (CLKID_BASE + 62) +#define CLKID_VCLK2_DIV4 (CLKID_BASE + 63) +#define CLKID_VCLK2_DIV6 (CLKID_BASE + 64) +#define CLKID_VCLK2_DIV12 (CLKID_BASE + 65) +#define CLKID_CTS_ENCI_MUX (CLKID_BASE + 66) +#define CLKID_CTS_ENCP_MUX (CLKID_BASE + 67) +#define CLKID_CTS_VDAC_MUX (CLKID_BASE + 68) +#define CLKID_HDMI_TX_MUX (CLKID_BASE + 69) +#define CLKID_CTS_ENCI (CLKID_BASE + 70) +#define CLKID_CTS_ENCP (CLKID_BASE + 71) +#define CLKID_CTS_VDAC (CLKID_BASE + 72) +#define CLKID_HDMI_TX (CLKID_BASE + 73) +#define CLKID_HDMITX_SYS_MUX (CLKID_BASE + 74) +#define CLKID_HDMITX_SYS_DIV (CLKID_BASE + 75) +#define CLKID_HDMITX_SYS (CLKID_BASE + 76) +#define CLKID_TS_CLK_DIV (CLKID_BASE + 77) +#define CLKID_TS_CLK_GATE (CLKID_BASE + 78) +#define CLKID_MALI_0_SEL (CLKID_BASE + 79) +#define CLKID_MALI_0_DIV (CLKID_BASE + 80) +#define CLKID_MALI_0 (CLKID_BASE + 81) +#define CLKID_MALI_1_SEL (CLKID_BASE + 82) +#define CLKID_MALI_1_DIV (CLKID_BASE + 83) +#define CLKID_MALI_1 (CLKID_BASE + 84) +#define CLKID_MALI_MUX (CLKID_BASE + 85) +#define CLKID_VDEC_P0_MUX (CLKID_BASE + 86) +#define CLKID_VDEC_P0_DIV (CLKID_BASE + 87) +#define CLKID_VDEC_P0 (CLKID_BASE + 88) +#define CLKID_VDEC_P1_MUX (CLKID_BASE + 89) +#define CLKID_VDEC_P1_DIV (CLKID_BASE + 90) +#define CLKID_VDEC_P1 (CLKID_BASE + 91) +#define CLKID_VDEC_MUX (CLKID_BASE + 92) +#define CLKID_HCODEC_P0_MUX (CLKID_BASE + 93) +#define CLKID_HCODEC_P0_DIV (CLKID_BASE + 94) +#define CLKID_HCODEC_P0 (CLKID_BASE + 95) +#define CLKID_HCODEC_P1_MUX (CLKID_BASE + 96) +#define CLKID_HCODEC_P1_DIV (CLKID_BASE + 97) +#define CLKID_HCODEC_P1 (CLKID_BASE + 98) +#define CLKID_HCODEC_MUX (CLKID_BASE + 99) +#define CLKID_HEVCB_P0_MUX (CLKID_BASE + 100) +#define CLKID_HEVCB_P0_DIV (CLKID_BASE + 101) +#define CLKID_HEVCB_P0 (CLKID_BASE + 102) +#define CLKID_HEVCB_P1_MUX (CLKID_BASE + 103) +#define CLKID_HEVCB_P1_DIV (CLKID_BASE + 104) +#define CLKID_HEVCB_P1 (CLKID_BASE + 105) +#define CLKID_HEVCB_MUX (CLKID_BASE + 106) +#define CLKID_HEVCF_P0_MUX (CLKID_BASE + 107) +#define CLKID_HEVCF_P0_DIV (CLKID_BASE + 108) +#define CLKID_HEVCF_P0 (CLKID_BASE + 109) +#define CLKID_HEVCF_P1_MUX (CLKID_BASE + 110) +#define CLKID_HEVCF_P1_DIV (CLKID_BASE + 111) +#define CLKID_HEVCF_P1 (CLKID_BASE + 112) +#define CLKID_HEVCF_MUX (CLKID_BASE + 113) +#define CLKID_WAVE_A_MUX (CLKID_BASE + 114) +#define CLKID_WAVE_A_DIV (CLKID_BASE + 115) +#define CLKID_WAVE_A_GATE (CLKID_BASE + 116) +#define CLKID_WAVE_B_MUX (CLKID_BASE + 117) +#define CLKID_WAVE_B_DIV (CLKID_BASE + 118) +#define CLKID_WAVE_B_GATE (CLKID_BASE + 119) +#define CLKID_WAVE_C_MUX (CLKID_BASE + 120) +#define CLKID_WAVE_C_DIV (CLKID_BASE + 121) +#define CLKID_WAVE_C_GATE (CLKID_BASE + 122) +#define CLKID_VPU_0_MUX (CLKID_BASE + 123) +#define CLKID_VPU_0_DIV (CLKID_BASE + 124) +#define CLKID_VPU_0 (CLKID_BASE + 125) +#define CLKID_VPU_1_MUX (CLKID_BASE + 126) +#define CLKID_VPU_1_DIV (CLKID_BASE + 127) +#define CLKID_VPU_1 (CLKID_BASE + 128) +#define CLKID_VPU (CLKID_BASE + 129) +#define CLKID_VPU_CLKB_TMP_MUX (CLKID_BASE + 130) +#define CLKID_VPU_CLKB_TMP_DIV (CLKID_BASE + 131) +#define CLKID_VPU_CLKB_TMP (CLKID_BASE + 132) +#define CLKID_VPU_CLKB_DIV (CLKID_BASE + 133) +#define CLKID_VPU_CLKB (CLKID_BASE + 134) +#define CLKID_VPU_CLKC_P0_MUX (CLKID_BASE + 135) +#define CLKID_VPU_CLKC_P0_DIV (CLKID_BASE + 136) +#define CLKID_VPU_CLKC_P0 (CLKID_BASE + 137) +#define CLKID_VPU_CLKC_P1_MUX (CLKID_BASE + 138) +#define CLKID_VPU_CLKC_P1_DIV (CLKID_BASE + 139) +#define CLKID_VPU_CLKC_P1 (CLKID_BASE + 140) +#define CLKID_VPU_CLKC_MUX (CLKID_BASE + 141) +#define CLKID_VAPB_0_MUX (CLKID_BASE + 142) +#define CLKID_VAPB_0_DIV (CLKID_BASE + 143) +#define CLKID_VAPB_0 (CLKID_BASE + 144) +#define CLKID_VAPB_1_MUX (CLKID_BASE + 145) +#define CLKID_VAPB_1_DIV (CLKID_BASE + 146) +#define CLKID_VAPB_1 (CLKID_BASE + 147) +#define CLKID_VAPB (CLKID_BASE + 148) +#define CLKID_GE2D (CLKID_BASE + 149) +#define CLKID_VDIN_MEAS_MUX (CLKID_BASE + 150) +#define CLKID_VDIN_MEAS_DIV (CLKID_BASE + 151) +#define CLKID_VDIN_MEAS_GATE (CLKID_BASE + 152) +#define CLKID_DSI_A_MEAS_MUX (CLKID_BASE + 153) +#define CLKID_DSI_A_MEAS_DIV (CLKID_BASE + 154) +#define CLKID_DSI_A_MEAS_GATE (CLKID_BASE + 155) +#define CLKID_DSI_B_MEAS_MUX (CLKID_BASE + 156) +#define CLKID_DSI_B_MEAS_DIV (CLKID_BASE + 157) +#define CLKID_DSI_B_MEAS_GATE (CLKID_BASE + 158) +#define CLKID_DSI0_PHY_MUX (CLKID_BASE + 159) +#define CLKID_DSI0_PHY_DIV (CLKID_BASE + 160) +#define CLKID_DSI0_PHY_GATE (CLKID_BASE + 161) +#define CLKID_DSI1_PHY_MUX (CLKID_BASE + 162) +#define CLKID_DSI1_PHY_DIV (CLKID_BASE + 163) +#define CLKID_DSI1_PHY_GATE (CLKID_BASE + 164) +#define CLKID_VID_LOCK_DIV (CLKID_BASE + 165) +#define CLKID_VID_LOCK (CLKID_BASE + 166) +#define PERI_BASE (CLKID_BASE + 167) +#define CLKID_PWM_A_MUX (PERI_BASE + 0) +#define CLKID_PWM_A_DIV (PERI_BASE + 1) +#define CLKID_PWM_A_GATE (PERI_BASE + 2) +#define CLKID_PWM_B_MUX (PERI_BASE + 3) +#define CLKID_PWM_B_DIV (PERI_BASE + 4) +#define CLKID_PWM_B_GATE (PERI_BASE + 5) +#define CLKID_PWM_C_MUX (PERI_BASE + 6) +#define CLKID_PWM_C_DIV (PERI_BASE + 7) +#define CLKID_PWM_C_GATE (PERI_BASE + 8) +#define CLKID_PWM_D_MUX (PERI_BASE + 9) +#define CLKID_PWM_D_DIV (PERI_BASE + 10) +#define CLKID_PWM_D_GATE (PERI_BASE + 11) +#define CLKID_PWM_E_MUX (PERI_BASE + 12) +#define CLKID_PWM_E_DIV (PERI_BASE + 13) +#define CLKID_PWM_E_GATE (PERI_BASE + 14) +#define CLKID_PWM_F_MUX (PERI_BASE + 15) +#define CLKID_PWM_F_DIV (PERI_BASE + 16) +#define CLKID_PWM_F_GATE (PERI_BASE + 17) +#define CLKID_PWM_AO_A_MUX (PERI_BASE + 18) +#define CLKID_PWM_AO_A_DIV (PERI_BASE + 19) +#define CLKID_PWM_AO_A_GATE (PERI_BASE + 20) +#define CLKID_PWM_AO_B_MUX (PERI_BASE + 21) +#define CLKID_PWM_AO_B_DIV (PERI_BASE + 22) +#define CLKID_PWM_AO_B_GATE (PERI_BASE + 23) +#define CLKID_PWM_AO_C_MUX (PERI_BASE + 24) +#define CLKID_PWM_AO_C_DIV (PERI_BASE + 25) +#define CLKID_PWM_AO_C_GATE (PERI_BASE + 26) +#define CLKID_PWM_AO_D_MUX (PERI_BASE + 27) +#define CLKID_PWM_AO_D_DIV (PERI_BASE + 28) +#define CLKID_PWM_AO_D_GATE (PERI_BASE + 29) +#define CLKID_PWM_AO_E_MUX (PERI_BASE + 30) +#define CLKID_PWM_AO_E_DIV (PERI_BASE + 31) +#define CLKID_PWM_AO_E_GATE (PERI_BASE + 32) +#define CLKID_PWM_AO_F_MUX (PERI_BASE + 33) +#define CLKID_PWM_AO_F_DIV (PERI_BASE + 34) +#define CLKID_PWM_AO_F_GATE (PERI_BASE + 35) +#define CLKID_PWM_AO_G_MUX (PERI_BASE + 36) +#define CLKID_PWM_AO_G_DIV (PERI_BASE + 37) +#define CLKID_PWM_AO_G_GATE (PERI_BASE + 38) +#define CLKID_PWM_AO_H_MUX (PERI_BASE + 39) +#define CLKID_PWM_AO_H_DIV (PERI_BASE + 40) +#define CLKID_PWM_AO_H_GATE (PERI_BASE + 41) +#define CLKID_SPICC0_MUX (PERI_BASE + 42) +#define CLKID_SPICC0_DIV (PERI_BASE + 43) +#define CLKID_SPICC0_GATE (PERI_BASE + 44) +#define CLKID_SPICC1_MUX (PERI_BASE + 45) +#define CLKID_SPICC1_DIV (PERI_BASE + 46) +#define CLKID_SPICC1_GATE (PERI_BASE + 47) +#define CLKID_SPICC2_MUX (PERI_BASE + 48) +#define CLKID_SPICC2_DIV (PERI_BASE + 49) +#define CLKID_SPICC2_GATE (PERI_BASE + 50) +#define CLKID_SPICC3_MUX (PERI_BASE + 51) +#define CLKID_SPICC3_DIV (PERI_BASE + 52) +#define CLKID_SPICC3_GATE (PERI_BASE + 53) +#define CLKID_SPICC4_MUX (PERI_BASE + 54) +#define CLKID_SPICC4_DIV (PERI_BASE + 55) +#define CLKID_SPICC4_GATE (PERI_BASE + 56) +#define CLKID_SPICC5_MUX (PERI_BASE + 57) +#define CLKID_SPICC5_DIV (PERI_BASE + 58) +#define CLKID_SPICC5_GATE (PERI_BASE + 59) +#define CLKID_SD_EMMC_C_CLK_MUX (PERI_BASE + 60) +#define CLKID_SD_EMMC_C_CLK_DIV (PERI_BASE + 61) +#define CLKID_SD_EMMC_C_CLK (PERI_BASE + 62) +#define CLKID_SD_EMMC_A_CLK_MUX (PERI_BASE + 63) +#define CLKID_SD_EMMC_A_CLK_DIV (PERI_BASE + 64) +#define CLKID_SD_EMMC_A_CLK (PERI_BASE + 65) +#define CLKID_SD_EMMC_B_CLK_MUX (PERI_BASE + 66) +#define CLKID_SD_EMMC_B_CLK_DIV (PERI_BASE + 67) +#define CLKID_SD_EMMC_B_CLK (PERI_BASE + 68) +#define CLKID_ETH_RMII_SEL (PERI_BASE + 69) +#define CLKID_ETH_RMII_DIV (PERI_BASE + 70) +#define CLKID_ETH_RMII (PERI_BASE + 71) +#define CLKID_ETH_DIV8 (PERI_BASE + 72) +#define CLKID_ETH_125M (PERI_BASE + 73) +#define CLKID_SARADC_MUX (PERI_BASE + 74) +#define CLKID_SARADC_DIV (PERI_BASE + 75) +#define CLKID_SARADC_GATE (PERI_BASE + 76) +#define CLKID_GEN_MUX (PERI_BASE + 77) +#define CLKID_GEN_DIV (PERI_BASE + 78) +#define CLKID_GEN_GATE (PERI_BASE + 79) + +#define MEDIA_BASE (PERI_BASE + 80) +#define CLKID_DSPB_CLK_B_MUX (MEDIA_BASE + 0) +#define CLKID_DSPB_CLK_B_DIV (MEDIA_BASE + 1) +#define CLKID_DSPB_CLK_B_GATE (MEDIA_BASE + 2) +#define CLKID_DSPB_CLK_A_MUX (MEDIA_BASE + 3) +#define CLKID_DSPB_CLK_A_DIV (MEDIA_BASE + 4) +#define CLKID_DSPB_CLK_A_GATE (MEDIA_BASE + 5) +#define CLKID_DSPB_CLK (MEDIA_BASE + 6) +#define CLKID_MIPI_ISP_MUX (MEDIA_BASE + 7) +#define CLKID_MIPI_ISP_DIV (MEDIA_BASE + 8) +#define CLKID_MIPI_ISP (MEDIA_BASE + 9) +#define CLKID_MIPI_CSI_PHY_SEL0 (MEDIA_BASE + 10) +#define CLKID_MIPI_CSI_PHY_DIV0 (MEDIA_BASE + 11) +#define CLKID_MIPI_CSI_PHY0 (MEDIA_BASE + 12) +#define CLKID_MIPI_CSI_PHY_SEL1 (MEDIA_BASE + 13) +#define CLKID_MIPI_CSI_PHY_DIV1 (MEDIA_BASE + 14) +#define CLKID_MIPI_CSI_PHY1 (MEDIA_BASE + 15) +#define CLKID_MIPI_CSI_PHY_CLK (MEDIA_BASE + 16) +#define CLKID_GDCCLK_0_MUX (MEDIA_BASE + 17) +#define CLKID_GDCCLK_0_DIV (MEDIA_BASE + 18) +#define CLKID_GDCCLK_0 (MEDIA_BASE + 19) +#define CLKID_GDCCLK_1_MUX (MEDIA_BASE + 20) +#define CLKID_GDCCLK_1_DIV (MEDIA_BASE + 21) +#define CLKID_GDCCLK_1 (MEDIA_BASE + 22) +#define CLKID_GDCCLK (MEDIA_BASE + 23) +#define CLKID_GDC_CLK (MEDIA_BASE + 24) +#define CLKID_DEWARPCLK_0_MUX (MEDIA_BASE + 25) +#define CLKID_DEWARPCLK_0_DIV (MEDIA_BASE + 26) +#define CLKID_DEWARPCLK_0 (MEDIA_BASE + 27) +#define CLKID_DEWARPCLK_1_MUX (MEDIA_BASE + 28) +#define CLKID_DEWARPCLK_1_DIV (MEDIA_BASE + 29) +#define CLKID_DEWARPCLK_1 (MEDIA_BASE + 30) +#define CLKID_DEWARPCLK (MEDIA_BASE + 31) +#define CLKID_DEWARP_CLK (MEDIA_BASE + 32) +#define CLKID_ANAKIN_0_MUX (MEDIA_BASE + 33) +#define CLKID_ANAKIN_0_DIV (MEDIA_BASE + 34) +#define CLKID_ANAKIN_0 (MEDIA_BASE + 35) +#define CLKID_ANAKIN_1_MUX (MEDIA_BASE + 36) +#define CLKID_ANAKIN_1_DIV (MEDIA_BASE + 37) +#define CLKID_ANAKIN_1 (MEDIA_BASE + 38) +#define CLKID_ANAKIN (MEDIA_BASE + 39) +#define CLKID_ANAKIN_CLK (MEDIA_BASE + 40) +#define CLKID_HDMITX_PRIF_MUX (MEDIA_BASE + 41) +#define CLKID_HDMITX_PRIF_DIV (MEDIA_BASE + 42) +#define CLKID_HDMITX_PRIF (MEDIA_BASE + 43) +#define CLKID_HDMITX_200M_MUX (MEDIA_BASE + 44) +#define CLKID_HDMITX_200M_DIV (MEDIA_BASE + 45) +#define CLKID_HDMITX_200M (MEDIA_BASE + 46) +#define CLKID_HDMITX_AUD_MUX (MEDIA_BASE + 47) +#define CLKID_HDMITX_AUD_DIV (MEDIA_BASE + 48) +#define CLKID_HDMITX_AUD (MEDIA_BASE + 49) +#define CLKID_HDMIRX_2M_MUX (MEDIA_BASE + 50) +#define CLKID_HDMIRX_2M_DIV (MEDIA_BASE + 51) +#define CLKID_HDMIRX_2M (MEDIA_BASE + 52) +#define CLKID_HDMIRX_5M_MUX (MEDIA_BASE + 53) +#define CLKID_HDMIRX_5M_DIV (MEDIA_BASE + 54) +#define CLKID_HDMIRX_5M (MEDIA_BASE + 55) +#define CLKID_HDMIRX_CFG_MUX (MEDIA_BASE + 56) +#define CLKID_HDMIRX_CFG_DIV (MEDIA_BASE + 57) +#define CLKID_HDMIRX_CFG (MEDIA_BASE + 58) +#define CLKID_HDMIRX_HDCP_MUX (MEDIA_BASE + 59) +#define CLKID_HDMIRX_HDCP_DIV (MEDIA_BASE + 60) +#define CLKID_HDMIRX_HDCP (MEDIA_BASE + 61) +#define CLKID_HDMIRX_AUD_PLL_MUX (MEDIA_BASE + 62) +#define CLKID_HDMIRX_AUD_PLL_DIV (MEDIA_BASE + 63) +#define CLKID_HDMIRX_AUD_PLL (MEDIA_BASE + 64) +#define CLKID_HDMIRX_ACR_MUX (MEDIA_BASE + 65) +#define CLKID_HDMIRX_ACR_DIV (MEDIA_BASE + 66) +#define CLKID_HDMIRX_ACR (MEDIA_BASE + 67) +#define CLKID_HDMIRX_METER_MUX (MEDIA_BASE + 68) +#define CLKID_HDMIRX_METER_DIV (MEDIA_BASE + 69) +#define CLKID_HDMIRX_METER (MEDIA_BASE + 70) +#define CLKID_MCLK_0_SEL (MEDIA_BASE + 71) +#define CLKID_MCLK_0_DIV2 (MEDIA_BASE + 72) +#define CLKID_MCLK_0_PRE (MEDIA_BASE + 73) +#define CLKID_MCLK_0 (MEDIA_BASE + 74) +#define CLKID_MCLK_1_SEL (MEDIA_BASE + 75) +#define CLKID_MCLK_1_DIV2 (MEDIA_BASE + 76) +#define CLKID_MCLK_1_PRE (MEDIA_BASE + 77) +#define CLKID_MCLK_1 (MEDIA_BASE + 78) + +#define SYS_BASE (MEDIA_BASE + 79) +#define CLKID_DDR (SYS_BASE + 0) +#define CLKID_DOS (SYS_BASE + 1) +#define CLKID_ETHPHY (SYS_BASE + 2) +#define CLKID_MALI (SYS_BASE + 3) +#define CLKID_TS_A53 (SYS_BASE + 4) +#define CLKID_TS_A73 (SYS_BASE + 5) +#define CLKID_CEC (SYS_BASE + 6) +#define CLKID_SD_EMMC_A (SYS_BASE + 7) +#define CLKID_SD_EMMC_B (SYS_BASE + 8) +#define CLKID_SD_EMMC_C (SYS_BASE + 9) +#define CLKID_SMARTCARD (SYS_BASE + 10) +#define CLKID_ACODEC (SYS_BASE + 11) +#define CLKID_SPIFC (SYS_BASE + 12) +#define CLKID_MSR_CLK (SYS_BASE + 13) +#define CLKID_IR_CTRL (SYS_BASE + 14) +#define CLKID_AUDIO (SYS_BASE + 15) +#define CLKID_ETH (SYS_BASE + 16) +#define CLKID_UART_A (SYS_BASE + 17) +#define CLKID_UART_B (SYS_BASE + 18) +#define CLKID_UART_C (SYS_BASE + 19) +#define CLKID_UART_D (SYS_BASE + 20) +#define CLKID_UART_E (SYS_BASE + 21) +#define CLKID_AIFIFO (SYS_BASE + 22) +#define CLKID_TS_DDR (SYS_BASE + 23) +#define CLKID_TS_PLL (SYS_BASE + 24) +#define CLKID_G2D (SYS_BASE + 25) +#define CLKID_SPICC0 (SYS_BASE + 26) +#define CLKID_SPICC1 (SYS_BASE + 27) +#define CLKID_PCIE (SYS_BASE + 28) +#define CLKID_USB (SYS_BASE + 29) +#define CLKID_PCIE_PHY (SYS_BASE + 30) +#define CLKID_I2C_M_A (SYS_BASE + 31) +#define CLKID_I2C_M_B (SYS_BASE + 32) +#define CLKID_I2C_M_C (SYS_BASE + 33) +#define CLKID_I2C_M_D (SYS_BASE + 34) +#define CLKID_I2C_M_E (SYS_BASE + 35) +#define CLKID_I2C_M_F (SYS_BASE + 36) +#define CLKID_HDMITX_APB (SYS_BASE + 37) +#define CLKID_I2C_S_A (SYS_BASE + 38) +#define CLKID_USB1_TO_DDR (SYS_BASE + 39) +#define CLKID_AOCPU (SYS_BASE + 40) +#define CLKID_MMC_APB (SYS_BASE + 41) +#define CLKID_RSA (SYS_BASE + 42) +#define CLKID_AUCPU (SYS_BASE + 43) +#define CLKID_DSPA (SYS_BASE + 44) +#define CLKID_VPU_INTR (SYS_BASE + 45) +#define CLKID_SAR_ADC (SYS_BASE + 46) +#define CLKID_GIC (SYS_BASE + 47) +#define CLKID_PWM_AB (SYS_BASE + 48) +#define CLKID_PWM_CD (SYS_BASE + 49) +#define CLKID_PWM_EF (SYS_BASE + 50) +#define CLKID_PWM_GH (SYS_BASE + 51) +#define CLKID_PWM_AO_AB (SYS_BASE + 52) +#define CLKID_MIPI_DSI_A (SYS_BASE + 53) +#define CLKID_MIPI_DSI_B (SYS_BASE + 54) +#define CLKID_GDC (SYS_BASE + 55) +#define CLKID_DESWARP (SYS_BASE + 56) +#define CLKID_AMPIPE_NAND (SYS_BASE + 57) +#define CLKID_AMPIPE_ETH (SYS_BASE + 58) +#define CLKID_AM2AXI0 (SYS_BASE + 59) +#define CLKID_AM2AXI1 (SYS_BASE + 60) +#define CLKID_AM2AXI2 (SYS_BASE + 61) +#define CLKID_PWM_AO_CD (SYS_BASE + 62) +#define CLKID_PWM_AO_EF (SYS_BASE + 63) +#define CLKID_PWM_AO_GH (SYS_BASE + 64) +#define CLKID_TS_NNA (SYS_BASE + 65) +#define CLKID_TS_GPU (SYS_BASE + 66) +#define CLKID_TS_HEVC (SYS_BASE + 67) +#define CLKID_DSPB (SYS_BASE + 68) +#define CLKID_SPICC2 (SYS_BASE + 69) +#define CLKID_SPICC3 (SYS_BASE + 70) +#define CLKID_SPICC4 (SYS_BASE + 71) +#define CLKID_SPICC5 (SYS_BASE + 72) +#define CLKID_I2C_AO_A (SYS_BASE + 73) +#define CLKID_I2C_AO_B (SYS_BASE + 74) +#define CLKID_UART_F (SYS_BASE + 75) +#define CLKID_MIPI_ISP_PCLK (SYS_BASE + 76) +#define CLKID_HDMIRX_PCLK (SYS_BASE + 77) +#define CLKID_PCLK_SYS_CPU_APB (SYS_BASE + 78) +#define CLKID_A73PCLK_CPU_APB (SYS_BASE + 79) +#define CLKID_TS_VPU (SYS_BASE + 80) + +#define NR_CLKS (SYS_BASE + 81) + +#endif /* __T7_CLKC_H */