Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: clock: Add StarFive JH7110 System-Top-Group clock and reset generator

Add bindings for the System-Top-Group clock and reset generator (STGCRG)
on the JH7110 RISC-V SoC by StarFive Ltd.

Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

authored by

Xingyu Wu and committed by
Conor Dooley
14b14a57 2110add8

+144
+82
Documentation/devicetree/bindings/clock/starfive,jh7110-stgcrg.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/clock/starfive,jh7110-stgcrg.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: StarFive JH7110 System-Top-Group Clock and Reset Generator 8 + 9 + maintainers: 10 + - Xingyu Wu <xingyu.wu@starfivetech.com> 11 + 12 + properties: 13 + compatible: 14 + const: starfive,jh7110-stgcrg 15 + 16 + reg: 17 + maxItems: 1 18 + 19 + clocks: 20 + items: 21 + - description: Main Oscillator (24 MHz) 22 + - description: HIFI4 core 23 + - description: STG AXI/AHB 24 + - description: USB (125 MHz) 25 + - description: CPU Bus 26 + - description: HIFI4 Axi 27 + - description: NOC STG Bus 28 + - description: APB Bus 29 + 30 + clock-names: 31 + items: 32 + - const: osc 33 + - const: hifi4_core 34 + - const: stg_axiahb 35 + - const: usb_125m 36 + - const: cpu_bus 37 + - const: hifi4_axi 38 + - const: nocstg_bus 39 + - const: apb_bus 40 + 41 + '#clock-cells': 42 + const: 1 43 + description: 44 + See <dt-bindings/clock/starfive,jh7110-crg.h> for valid indices. 45 + 46 + '#reset-cells': 47 + const: 1 48 + description: 49 + See <dt-bindings/reset/starfive,jh7110-crg.h> for valid indices. 50 + 51 + required: 52 + - compatible 53 + - reg 54 + - clocks 55 + - clock-names 56 + - '#clock-cells' 57 + - '#reset-cells' 58 + 59 + additionalProperties: false 60 + 61 + examples: 62 + - | 63 + #include <dt-bindings/clock/starfive,jh7110-crg.h> 64 + 65 + stgcrg: clock-controller@10230000 { 66 + compatible = "starfive,jh7110-stgcrg"; 67 + reg = <0x10230000 0x10000>; 68 + clocks = <&osc>, 69 + <&syscrg JH7110_SYSCLK_HIFI4_CORE>, 70 + <&syscrg JH7110_SYSCLK_STG_AXIAHB>, 71 + <&syscrg JH7110_SYSCLK_USB_125M>, 72 + <&syscrg JH7110_SYSCLK_CPU_BUS>, 73 + <&syscrg JH7110_SYSCLK_HIFI4_AXI>, 74 + <&syscrg JH7110_SYSCLK_NOCSTG_BUS>, 75 + <&syscrg JH7110_SYSCLK_APB_BUS>; 76 + clock-names = "osc", "hifi4_core", 77 + "stg_axiahb", "usb_125m", 78 + "cpu_bus", "hifi4_axi", 79 + "nocstg_bus", "apb_bus"; 80 + #clock-cells = <1>; 81 + #reset-cells = <1>; 82 + };
+34
include/dt-bindings/clock/starfive,jh7110-crg.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */ 2 2 /* 3 3 * Copyright 2022 Emil Renner Berthing <kernel@esmil.dk> 4 + * Copyright 2022 StarFive Technology Co., Ltd. 4 5 */ 5 6 6 7 #ifndef __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__ ··· 224 223 #define JH7110_AONCLK_RTC_CAL 13 225 224 226 225 #define JH7110_AONCLK_END 14 226 + 227 + /* STGCRG clocks */ 228 + #define JH7110_STGCLK_HIFI4_CLK_CORE 0 229 + #define JH7110_STGCLK_USB0_APB 1 230 + #define JH7110_STGCLK_USB0_UTMI_APB 2 231 + #define JH7110_STGCLK_USB0_AXI 3 232 + #define JH7110_STGCLK_USB0_LPM 4 233 + #define JH7110_STGCLK_USB0_STB 5 234 + #define JH7110_STGCLK_USB0_APP_125 6 235 + #define JH7110_STGCLK_USB0_REFCLK 7 236 + #define JH7110_STGCLK_PCIE0_AXI_MST0 8 237 + #define JH7110_STGCLK_PCIE0_APB 9 238 + #define JH7110_STGCLK_PCIE0_TL 10 239 + #define JH7110_STGCLK_PCIE1_AXI_MST0 11 240 + #define JH7110_STGCLK_PCIE1_APB 12 241 + #define JH7110_STGCLK_PCIE1_TL 13 242 + #define JH7110_STGCLK_PCIE_SLV_MAIN 14 243 + #define JH7110_STGCLK_SEC_AHB 15 244 + #define JH7110_STGCLK_SEC_MISC_AHB 16 245 + #define JH7110_STGCLK_GRP0_MAIN 17 246 + #define JH7110_STGCLK_GRP0_BUS 18 247 + #define JH7110_STGCLK_GRP0_STG 19 248 + #define JH7110_STGCLK_GRP1_MAIN 20 249 + #define JH7110_STGCLK_GRP1_BUS 21 250 + #define JH7110_STGCLK_GRP1_STG 22 251 + #define JH7110_STGCLK_GRP1_HIFI 23 252 + #define JH7110_STGCLK_E2_RTC 24 253 + #define JH7110_STGCLK_E2_CORE 25 254 + #define JH7110_STGCLK_E2_DBG 26 255 + #define JH7110_STGCLK_DMA1P_AXI 27 256 + #define JH7110_STGCLK_DMA1P_AHB 28 257 + 258 + #define JH7110_STGCLK_END 29 227 259 228 260 #endif /* __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__ */
+28
include/dt-bindings/reset/starfive,jh7110-crg.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */ 2 2 /* 3 3 * Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk> 4 + * Copyright (C) 2022 StarFive Technology Co., Ltd. 4 5 */ 5 6 6 7 #ifndef __DT_BINDINGS_RESET_STARFIVE_JH7110_CRG_H__ ··· 151 150 #define JH7110_AONRST_RTC_32K 7 152 151 153 152 #define JH7110_AONRST_END 8 153 + 154 + /* STGCRG resets */ 155 + #define JH7110_STGRST_SYSCON 0 156 + #define JH7110_STGRST_HIFI4_CORE 1 157 + #define JH7110_STGRST_HIFI4_AXI 2 158 + #define JH7110_STGRST_SEC_AHB 3 159 + #define JH7110_STGRST_E24_CORE 4 160 + #define JH7110_STGRST_DMA1P_AXI 5 161 + #define JH7110_STGRST_DMA1P_AHB 6 162 + #define JH7110_STGRST_USB0_AXI 7 163 + #define JH7110_STGRST_USB0_APB 8 164 + #define JH7110_STGRST_USB0_UTMI_APB 9 165 + #define JH7110_STGRST_USB0_PWRUP 10 166 + #define JH7110_STGRST_PCIE0_AXI_MST0 11 167 + #define JH7110_STGRST_PCIE0_AXI_SLV0 12 168 + #define JH7110_STGRST_PCIE0_AXI_SLV 13 169 + #define JH7110_STGRST_PCIE0_BRG 14 170 + #define JH7110_STGRST_PCIE0_CORE 15 171 + #define JH7110_STGRST_PCIE0_APB 16 172 + #define JH7110_STGRST_PCIE1_AXI_MST0 17 173 + #define JH7110_STGRST_PCIE1_AXI_SLV0 18 174 + #define JH7110_STGRST_PCIE1_AXI_SLV 19 175 + #define JH7110_STGRST_PCIE1_BRG 20 176 + #define JH7110_STGRST_PCIE1_CORE 21 177 + #define JH7110_STGRST_PCIE1_APB 22 178 + 179 + #define JH7110_STGRST_END 23 154 180 155 181 #endif /* __DT_BINDINGS_RESET_STARFIVE_JH7110_CRG_H__ */