| /linux/drivers/clk/zynqmp/ |
| H A D | clk-gate-zynqmp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Zynq UltraScale+ MPSoC clock controller 5 * Copyright (C) 2016-2018 Xilinx 7 * Gated clock implementation 10 #include <linux/clk-provider.h> 12 #include "clk-zynqmp.h" 15 * struct zynqmp_clk_gate - gating clock 16 * @hw: handle between common and hardware-specific interfaces 17 * @flags: hardware-specific flags 18 * @clk_id: Id of clock [all …]
|
| /linux/drivers/clk/bcm/ |
| H A D | clk-kona.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 16 #include <linux/clk-provider.h> 20 /* The common clock framework uses u8 to represent a parent index */ 24 #define BAD_CLK_NAME ((const char *)-1) 33 #define FLAG_SET(obj, type, flag) ((obj)->flags |= FLAG(type, flag)) 34 #define FLAG_CLEAR(obj, type, flag) ((obj)->flags &= ~(FLAG(type, flag))) 35 #define FLAG_FLIP(obj, type, flag) ((obj)->flags ^= FLAG(type, flag)) 36 #define FLAG_TEST(obj, type, flag) (!!((obj)->flags & FLAG(type, flag))) 40 #define ccu_policy_exists(ccu_policy) ((ccu_policy)->enable.offset != 0) 42 /* Clock field state tests */ [all …]
|
| H A D | clk-kona.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include "clk-kona.h" 12 #include <linux/clk-provider.h> 28 /* Produces a mask of set bits covering a range of a 32-bit value */ 31 return ((1 << width) - 1) << shift; in bitfield_mask() 53 return (u64)reg_div + ((u64)1 << div->u.s.frac_width); in scaled_div_value() 61 return (u64)div->u.fixed; in scaled_div_min() 72 return (u64)div->u.fixed; in scaled_div_max() 74 reg_div = ((u32)1 << div->u.s.width) - 1; in scaled_div_max() 89 return (u32)(scaled_div - ((u64)1 << div->u.s.frac_width)); in divider() [all …]
|
| H A D | clk-kona-setup.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 #include "clk-kona.h" 13 #define selector_clear_exists(sel) ((sel)->width = 0) 20 struct ccu_policy *ccu_policy = &ccu->policy; in ccu_data_offsets_valid() 23 limit = ccu->range - sizeof(u32); in ccu_data_offsets_valid() 26 if (ccu_policy->enable.offset > limit) { in ccu_data_offsets_valid() 29 ccu->name, ccu_policy->enable.offset, limit); in ccu_data_offsets_valid() 32 if (ccu_policy->control.offset > limit) { in ccu_data_offsets_valid() 35 ccu->name, ccu_policy->control.offset, limit); in ccu_data_offsets_valid() 45 struct peri_clk_data *peri = bcm_clk->u.peri; in clk_requires_trigger() [all …]
|
| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | omap3xxx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for OMAP3 clock data 9 #clock-cells = <0>; 10 compatible = "fixed-clock"; 11 clock-frequency = <16800000>; 15 #clock-cells = <0>; 16 compatible = "ti,mux-clock"; 22 #clock-cells = <0>; 23 compatible = "ti,divider-clock"; 25 ti,bit-shift = <6>; [all …]
|
| H A D | omap24xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for OMAP24xx clock data 9 #clock-cells = <0>; 10 compatible = "ti,composite-mux-clock"; 12 ti,bit-shift = <2>; 17 #clock-cells = <0>; 18 compatible = "ti,composite-clock"; 23 #clock-cells = <0>; 24 compatible = "ti,composite-mux-clock"; 26 ti,bit-shift = <6>; [all …]
|
| H A D | am35xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for OMAP3 clock data 9 #clock-cells = <0>; 10 compatible = "ti,am35xx-gate-clock"; 13 ti,bit-shift = <1>; 17 #clock-cells = <0>; 18 compatible = "ti,gate-clock"; 21 ti,bit-shift = <9>; 25 #clock-cells = <0>; 26 compatible = "ti,am35xx-gate-clock"; [all …]
|
| H A D | omap36xx-am35xx-omap3430es2plus-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for OMAP36xx/AM35xx/OMAP34xx clock data 9 #clock-cells = <0>; 10 compatible = "fixed-factor-clock"; 12 clock-mult = <1>; 13 clock-div = <3>; 17 #clock-cells = <0>; 18 compatible = "fixed-factor-clock"; 20 clock-mult = <1>; 21 clock-div = <5>; [all …]
|
| /linux/drivers/clk/aspeed/ |
| H A D | clk-aspeed.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 #define pr_fmt(fmt) "clk-aspeed: " fmt 13 #include <dt-bindings/clock/aspeed-clock.h> 15 #include "clk-aspeed.h" 49 [ASPEED_CLK_GATE_ECLK] = { 0, 6, "eclk-gate", "eclk", 0 }, /* Video Engine */ 50 [ASPEED_CLK_GATE_GCLK] = { 1, 7, "gclk-gate", NULL, 0 }, /* 2D engine */ 51 [ASPEED_CLK_GATE_MCLK] = { 2, -1, "mclk-gate", "mpll", CLK_IS_CRITICAL }, /* SDRAM */ 52 [ASPEED_CLK_GATE_VCLK] = { 3, -1, "vclk-gate", NULL, 0 }, /* Video Capture */ 53 [ASPEED_CLK_GATE_BCLK] = { 4, 8, "bclk-gate", "bclk", CLK_IS_CRITICAL }, /* PCIe/PCI */ 54 [ASPEED_CLK_GATE_DCLK] = { 5, -1, "dclk-gate", NULL, CLK_IS_CRITICAL }, /* DAC */ [all …]
|
| H A D | clk-ast2600.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 #define pr_fmt(fmt) "clk-ast2600: " fmt 14 #include <dt-bindings/clock/ast2600-clock.h> 16 #include "clk-aspeed.h" 20 * explicitly-configured clocks (ASPEED_CLK_HPLL and up). 81 * to control the clock enable register and the other to control the reset 85 * 2. Enable clock 89 * Consequently, if reset_idx is set, reset control is implicit: the clock 90 * consumer does not need its own reset handling, as enabling the clock will 94 * handled by using -1 as the index for the reset, and the consumer must [all …]
|
| /linux/drivers/clk/sunxi/ |
| H A D | clk-a20-gmac.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Copyright 2013 Chen-Yu Tsai 7 * Chen-Yu Tsai <wens@csie.org> 10 #include <linux/clk-provider.h> 29 * sun7i_a20_gmac_clk_setup - Setup function for A20/A31 GMAC clock module 30 * @node: &struct device_node for the clock 32 * This clock looks something like this 34 * MII TX clock from PHY >-----|___________ _________|----> to GMAC core 35 * GMAC Int. RGMII TX clk >----|___________\__/__gate---|----> to PHY 36 * Ext. 125MHz RGMII TX clk >--|__divider__/ | [all …]
|
| /linux/Documentation/devicetree/bindings/clock/ |
| H A D | sprd,sc9860-clk.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/clock/sprd,sc9860-clk.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Spreadtrum SC9860 clock 10 - Orson Zhai <orsonzhai@gmail.com> 11 - Baolin Wang <baolin.wang7@gmail.com> 12 - Chunyan Zhang <zhang.lyra@gmail.com> 17 - sprd,sc9860-agcp-gate 18 - sprd,sc9860-aonsecure-clk [all …]
|
| H A D | sprd,ums512-clk.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/clock/sprd,ums512-clk.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: UMS512 Soc clock controller 11 - Orson Zhai <orsonzhai@gmail.com> 12 - Baolin Wang <baolin.wang7@gmail.com> 13 - Chunyan Zhang <zhang.lyra@gmail.com> 18 - sprd,ums512-apahb-gate 19 - sprd,ums512-ap-clk [all …]
|
| H A D | sprd,sc9863a-clk.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/clock/sprd,sc9863a-clk.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: SC9863A Clock Control Unit 11 - Orson Zhai <orsonzhai@gmail.com> 12 - Baolin Wang <baolin.wang7@gmail.com> 13 - Chunyan Zhang <zhang.lyra@gmail.com> 16 "#clock-cells": 21 - sprd,sc9863a-ap-clk [all …]
|
| /linux/drivers/clk/ti/ |
| H A D | gate.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OMAP gate clock support 7 * Tero Kristo <t-kristo@ti.com> 10 #include <linux/clk-provider.h> 17 #include "clock.h" 48 * omap36xx_gate_clk_enable_with_hsdiv_restore - enable clocks suffering 74 orig_v = ti_clk_ll_ops->clk_readl(&parent->reg); in omap36xx_gate_clk_enable_with_hsdiv_restore() 78 dummy_v ^= (1 << parent->shift); in omap36xx_gate_clk_enable_with_hsdiv_restore() 79 ti_clk_ll_ops->clk_writel(dummy_v, &parent->reg); in omap36xx_gate_clk_enable_with_hsdiv_restore() 82 ti_clk_ll_ops->clk_writel(orig_v, &parent->reg); in omap36xx_gate_clk_enable_with_hsdiv_restore() [all …]
|
| /linux/include/dt-bindings/clock/ |
| H A D | tegra234-clock.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (c) 2018-2022, NVIDIA CORPORATION. All rights reserved. */ 9 * @defgroup bpmp_clock_ids Clock ID's 14 /** @brief output of gate CLK_ENB_ADSP */ 16 /** @brief output of gate CLK_ENB_ADSPNEON */ 20 /** @brief output of gate CLK_ENB_APB2APE */ 30 /** @brief output of gate CLK_ENB_CAN1_HOST */ 34 /** @brief output of gate CLK_ENB_CAN2_HOST */ 46 /** @brief output of gate CLK_ENB_DPAUX */ 58 /** @brief clock recovered from EAVB input */ [all …]
|
| H A D | tegra186-clock.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 * @defgroup clock_ids Clock Identifiers 235 * @defgroup nafll_clks NAFLL clock sources 350 /** @brief output of gate CLK_ENB_FUSE */ 354 * @details output of gate CLK_ENB_GPU. This output connects to the GPU 355 * pwrclk. @warning: This is almost certainly not the clock you think 356 * it is. If you're looking for the clock of the graphics engine, see 360 /** @brief output of gate CLK_ENB_PCIE */ 364 /** @brief output of gate CLK_ENB_PCIE2_IOBIST */ 366 /** @brief output of gate CLK_ENB_PCIERX0*/ [all …]
|
| /linux/drivers/clk/imx/ |
| H A D | clk-composite-7ulp.c | 1 // SPDX-License-Identifier: GPL-2.0+ 9 #include <linux/clk-provider.h> 15 #include "../clk-fractional-divider.h" 31 struct clk_gate *gate = to_clk_gate(hw); in pcc_gate_enable() local 40 /* Make sure the IP's clock is ready before release reset */ in pcc_gate_enable() 43 spin_lock_irqsave(gate->lock, flags); in pcc_gate_enable() 46 * with this pcc clock. in pcc_gate_enable() 48 val = readl(gate->reg); in pcc_gate_enable() 50 writel(val, gate->reg); in pcc_gate_enable() 52 spin_unlock_irqrestore(gate->lock, flags); in pcc_gate_enable() [all …]
|
| H A D | clk-gate-exclusive.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/clk-provider.h> 13 * struct clk_gate_exclusive - i.MX specific gate clock which is mutually 14 * exclusive with other gate clocks 16 * @gate: the parent class 17 * @exclusive_mask: mask of gate bits which are mutually exclusive to this 18 * gate clock 20 * The imx exclusive gate clock is a subclass of basic clk_gate 21 * with an additional mask to indicate which other gate bits in the same 22 * register is mutually exclusive to this gate clock. [all …]
|
| /linux/Documentation/devicetree/bindings/mfd/ |
| H A D | omap-usb-host.txt | 5 - compatible: should be "ti,usbhs-host" 6 - reg: should contain one register range i.e. start and length 7 - ti,hwmods: must contain "usb_host_hs" 11 - num-ports: number of USB ports. Usually this is automatically detected 15 - portN-mode: String specifying the port mode for port N, where N can be 18 "ehci-phy", 19 "ehci-tll", 20 "ehci-hsic", 21 "ohci-phy-6pin-datse0", 22 "ohci-phy-6pin-dpdm", [all …]
|
| /linux/Documentation/devicetree/bindings/dma/ |
| H A D | cirrus,ep9301-dma-m2p.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2p.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Alexander Sverdlin <alexander.sverdlin@gmail.com> 11 - Nikita Shubin <nikita.shubin@maquefel.me> 14 - $ref: dma-controller.yaml# 19 - const: cirrus,ep9301-dma-m2p 20 - items: 21 - enum: [all …]
|
| /linux/drivers/clk/ |
| H A D | clk-gate.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2010-2011 Canonical Ltd <jeremy.kerr@canonical.com> 4 * Copyright (C) 2011-2012 Mike Turquette, Linaro Ltd <mturquette@linaro.org> 6 * Gated clock implementation 9 #include <linux/clk-provider.h> 18 * DOC: basic gateable clock which can gate and ungate its output 20 * Traits of this clock: 21 * prepare - clk_(un)prepare only ensures parent is (un)prepared 22 * enable - clk_enable and clk_disable are functional & control gating 23 * rate - inherits rate from parent. No clk_set_rate support [all …]
|
| /linux/arch/arm64/boot/dts/sprd/ |
| H A D | sharkl3.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 9 interrupt-parent = <&gic>; 10 #address-cells = <2>; 11 #size-cells = <2>; 14 compatible = "simple-bus"; 15 #address-cells = <2>; 16 #size-cells = <2>; 20 compatible = "sprd,sc9863a-glbregs", "syscon", 21 "simple-mfd"; 23 #address-cells = <1>; [all …]
|
| /linux/drivers/clk/renesas/ |
| H A D | rcar-gen2-cpg.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car Gen2 Clock Pulse Generator 10 #include <linux/clk-provider.h> 18 #include "renesas-cpg-mssr.h" 19 #include "rcar-gen2-cpg.h" 36 * Z Clock 38 * Traits of this clock: 39 * prepare - clk_prepare only ensures that parents are prepared 40 * enable - clk_enable only ensures that parents are enabled 41 * rate - rate is adjustable. clk->rate = parent->rate * mult / 32 [all …]
|
| /linux/drivers/clk/mvebu/ |
| H A D | cp110-system-controller.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 14 * - PLL0 (1 Ghz) 15 * - PPv2 core (1/3 PLL0) 16 * - x2 Core (1/2 PLL0) 17 * - Core (1/2 x2 Core) 18 * - SDIO (2/5 PLL0) 20 * - NAND clock, which is either: 21 * - Equal to SDIO clock 22 * - 2/5 PLL0 [all …]
|