Home
last modified time | relevance | path

Searched +full:clkdiv +full:- +full:- (Results 1 – 25 of 131) sorted by relevance

123456

/kernel/linux/linux-5.10/drivers/clk/qcom/
Dclk-spmi-pmic-div.c1 // SPDX-License-Identifier: GPL-2.0-only
7 #include <linux/clk-provider.h>
24 struct clkdiv { struct
33 static inline struct clkdiv *to_clkdiv(struct clk_hw *hw) in to_clkdiv() argument
35 return container_of(hw, struct clkdiv, hw); in to_clkdiv()
43 return 1 << (div_factor - 1); in div_factor_to_div()
51 static bool is_spmi_pmic_clkdiv_enabled(struct clkdiv *clkdiv) in is_spmi_pmic_clkdiv_enabled() argument
55 regmap_read(clkdiv->regmap, clkdiv->base + REG_EN_CTL, &val); in is_spmi_pmic_clkdiv_enabled()
61 __spmi_pmic_clkdiv_set_enable_state(struct clkdiv *clkdiv, bool enable, in __spmi_pmic_clkdiv_set_enable_state() argument
65 unsigned int ns = clkdiv->cxo_period_ns; in __spmi_pmic_clkdiv_set_enable_state()
[all …]
/kernel/linux/linux-4.19/drivers/clk/qcom/
Dclk-spmi-pmic-div.c15 #include <linux/clk-provider.h>
32 struct clkdiv { struct
41 static inline struct clkdiv *to_clkdiv(struct clk_hw *hw) in to_clkdiv() argument
43 return container_of(hw, struct clkdiv, hw); in to_clkdiv()
51 return 1 << (div_factor - 1); in div_factor_to_div()
59 static bool is_spmi_pmic_clkdiv_enabled(struct clkdiv *clkdiv) in is_spmi_pmic_clkdiv_enabled() argument
63 regmap_read(clkdiv->regmap, clkdiv->base + REG_EN_CTL, &val); in is_spmi_pmic_clkdiv_enabled()
69 __spmi_pmic_clkdiv_set_enable_state(struct clkdiv *clkdiv, bool enable, in __spmi_pmic_clkdiv_set_enable_state() argument
73 unsigned int ns = clkdiv->cxo_period_ns; in __spmi_pmic_clkdiv_set_enable_state()
76 ret = regmap_update_bits(clkdiv->regmap, clkdiv->base + REG_EN_CTL, in __spmi_pmic_clkdiv_set_enable_state()
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/clock/
Dqcom,spmi-clkdiv.txt1 Qualcomm Technologies, Inc. SPMI PMIC clock divider (clkdiv)
3 clkdiv configures the clock frequency of a set of outputs on the PMIC.
11 - compatible
14 Definition: must be "qcom,spmi-clkdiv".
16 - reg
18 Value type: <prop-encoded-array>
19 Definition: base address of CLKDIV peripherals.
21 - qcom,num-clkdivs
24 Definition: number of CLKDIV peripherals.
26 - clocks:
[all …]
Drenesas,emev2-smu.txt10 - compatible: Should be "renesas,emev2-smu"
11 - reg: Address and Size of SMU registers
21 - compatible: Should be "renesas,emev2-smu-clkdiv"
22 - reg: Byte offset from SMU base and Bit position in the register
23 - clocks: Parent clocks. Input clocks as described in clock-bindings.txt
24 - #clock-cells: Should be <0>
32 - compatible: Should be "renesas,emev2-smu-gclk"
33 - reg: Byte offset from SMU base and Bit position in the register
34 - clocks: Input clock as described in clock-bindings.txt
35 - #clock-cells: Should be <0>
[all …]
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/clock/
Dqcom,spmi-clkdiv.txt1 Qualcomm Technologies, Inc. SPMI PMIC clock divider (clkdiv)
3 clkdiv configures the clock frequency of a set of outputs on the PMIC.
11 - compatible
14 Definition: must be "qcom,spmi-clkdiv".
16 - reg
18 Value type: <prop-encoded-array>
19 Definition: base address of CLKDIV peripherals.
21 - qcom,num-clkdivs
24 Definition: number of CLKDIV peripherals.
26 - clocks:
[all …]
Demev2-clock.txt10 - compatible: Should be "renesas,emev2-smu"
11 - reg: Address and Size of SMU registers
21 - compatible: Should be "renesas,emev2-smu-clkdiv"
22 - reg: Byte offset from SMU base and Bit position in the register
23 - clocks: Parent clocks. Input clocks as described in clock-bindings.txt
24 - #clock-cells: Should be <0>
32 - compatible: Should be "renesas,emev2-smu-gclk"
33 - reg: Byte offset from SMU base and Bit position in the register
34 - clocks: Input clock as described in clock-bindings.txt
35 - #clock-cells: Should be <0>
[all …]
/kernel/linux/linux-5.10/drivers/media/rc/
Dtango-ir.c1 // SPDX-License-Identifier: GPL-2.0-or-later
13 #include <media/rc-core.h>
15 #define DRIVER_NAME "tango-ir"
60 v = readl_relaxed(ir->rc5_base + IR_NEC_DATA); in tango_ir_handle_nec()
62 rc_repeat(ir->rc); in tango_ir_handle_nec()
67 rc_keydown(ir->rc, proto, code, 0); in tango_ir_handle_nec()
74 data = readl_relaxed(ir->rc5_base + IR_RC5_DATA); in tango_ir_handle_rc5()
84 rc_keydown(ir->rc, RC_PROTO_RC5, code, toggle); in tango_ir_handle_rc5()
91 data0 = readl_relaxed(ir->rc6_base + RC6_DATA0); in tango_ir_handle_rc6()
92 data1 = readl_relaxed(ir->rc6_base + RC6_DATA1); in tango_ir_handle_rc6()
[all …]
/kernel/linux/linux-5.10/drivers/cpufreq/
Ds3c2412-cpufreq.c1 // SPDX-License-Identifier: GPL-2.0-only
22 #include <linux/soc/samsung/s3c-cpufreq-core.h>
23 #include <linux/soc/samsung/s3c-pm.h>
55 fclk = cfg->freq.fclk; in s3c2412_cpufreq_calcdivs()
56 armclk = cfg->freq.armclk; in s3c2412_cpufreq_calcdivs()
57 hclk_max = cfg->max.hclk; in s3c2412_cpufreq_calcdivs()
68 __func__, cfg->freq.fclk, cfg->freq.armclk, in s3c2412_cpufreq_calcdivs()
69 cfg->freq.hclk, cfg->freq.pclk); in s3c2412_cpufreq_calcdivs()
78 cfg->divs.arm_divisor = armdiv; in s3c2412_cpufreq_calcdivs()
85 cfg->freq.hclk = hclk = armdiv_clk / hdiv; in s3c2412_cpufreq_calcdivs()
[all …]
Ds3c2440-cpufreq.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2006-2009 Simtec Electronics
23 #include <linux/soc/samsung/s3c-cpufreq-core.h>
24 #include <linux/soc/samsung/s3c-pm.h>
54 long diff = a - b; in within_khz()
56 return (diff >= -1000 && diff <= 1000); in within_khz()
60 * s3c2440_cpufreq_calcdivs - calculate divider settings
73 fclk = cfg->freq.fclk; in s3c2440_cpufreq_calcdivs()
74 armclk = cfg->freq.armclk; in s3c2440_cpufreq_calcdivs()
75 hclk_max = cfg->max.hclk; in s3c2440_cpufreq_calcdivs()
[all …]
Ds3c2410-cpufreq.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2006-2008 Simtec Electronics
19 #include <linux/soc/samsung/s3c-cpufreq-core.h>
20 #include <linux/soc/samsung/s3c-pm.h>
28 /* Note, 2410A has an extra mode for 1:4:4 ratio, bit 2 of CLKDIV */
32 u32 clkdiv = 0; in s3c2410_cpufreq_setdivs() local
34 if (cfg->divs.h_divisor == 2) in s3c2410_cpufreq_setdivs()
35 clkdiv |= S3C2410_CLKDIVN_HDIVN; in s3c2410_cpufreq_setdivs()
37 if (cfg->divs.p_divisor != cfg->divs.h_divisor) in s3c2410_cpufreq_setdivs()
38 clkdiv |= S3C2410_CLKDIVN_PDIVN; in s3c2410_cpufreq_setdivs()
[all …]
/kernel/linux/linux-4.19/drivers/media/rc/
Dtango-ir.c17 #include <media/rc-core.h>
19 #define DRIVER_NAME "tango-ir"
64 v = readl_relaxed(ir->rc5_base + IR_NEC_DATA); in tango_ir_handle_nec()
66 rc_repeat(ir->rc); in tango_ir_handle_nec()
71 rc_keydown(ir->rc, proto, code, 0); in tango_ir_handle_nec()
78 data = readl_relaxed(ir->rc5_base + IR_RC5_DATA); in tango_ir_handle_rc5()
88 rc_keydown(ir->rc, RC_PROTO_RC5, code, toggle); in tango_ir_handle_rc5()
95 data0 = readl_relaxed(ir->rc6_base + RC6_DATA0); in tango_ir_handle_rc6()
96 data1 = readl_relaxed(ir->rc6_base + RC6_DATA1); in tango_ir_handle_rc6()
107 rc_keydown(ir->rc, RC_PROTO_RC6_0, code, toggle); in tango_ir_handle_rc6()
[all …]
/kernel/linux/linux-4.19/drivers/cpufreq/
Ds3c2412-cpufreq.c29 #include <mach/regs-clock.h>
33 #include <plat/cpu-freq-core.h>
49 fclk = cfg->freq.fclk; in s3c2412_cpufreq_calcdivs()
50 armclk = cfg->freq.armclk; in s3c2412_cpufreq_calcdivs()
51 hclk_max = cfg->max.hclk; in s3c2412_cpufreq_calcdivs()
62 __func__, cfg->freq.fclk, cfg->freq.armclk, in s3c2412_cpufreq_calcdivs()
63 cfg->freq.hclk, cfg->freq.pclk); in s3c2412_cpufreq_calcdivs()
72 cfg->divs.arm_divisor = armdiv; in s3c2412_cpufreq_calcdivs()
79 cfg->freq.hclk = hclk = armdiv_clk / hdiv; in s3c2412_cpufreq_calcdivs()
82 cfg->divs.dvs = dvs = armclk < armdiv_clk; in s3c2412_cpufreq_calcdivs()
[all …]
Ds3c2440-cpufreq.c2 * Copyright (c) 2006-2009 Simtec Electronics
30 #include <mach/regs-clock.h>
33 #include <plat/cpu-freq-core.h>
44 long diff = a - b; in within_khz()
46 return (diff >= -1000 && diff <= 1000); in within_khz()
50 * s3c2440_cpufreq_calcdivs - calculate divider settings
63 fclk = cfg->freq.fclk; in s3c2440_cpufreq_calcdivs()
64 armclk = cfg->freq.armclk; in s3c2440_cpufreq_calcdivs()
65 hclk_max = cfg->max.hclk; in s3c2440_cpufreq_calcdivs()
93 pdiv = (hclk > cfg->max.pclk) ? 2 : 1; in s3c2440_cpufreq_calcdivs()
[all …]
Ds3c2410-cpufreq.c2 * Copyright (c) 2006-2008 Simtec Electronics
26 #include <mach/regs-clock.h>
29 #include <plat/cpu-freq-core.h>
31 /* Note, 2410A has an extra mode for 1:4:4 ratio, bit 2 of CLKDIV */
35 u32 clkdiv = 0; in s3c2410_cpufreq_setdivs() local
37 if (cfg->divs.h_divisor == 2) in s3c2410_cpufreq_setdivs()
38 clkdiv |= S3C2410_CLKDIVN_HDIVN; in s3c2410_cpufreq_setdivs()
40 if (cfg->divs.p_divisor != cfg->divs.h_divisor) in s3c2410_cpufreq_setdivs()
41 clkdiv |= S3C2410_CLKDIVN_PDIVN; in s3c2410_cpufreq_setdivs()
43 __raw_writel(clkdiv, S3C2410_CLKDIVN); in s3c2410_cpufreq_setdivs()
[all …]
/kernel/linux/linux-5.10/drivers/spi/
Dspi-cavium.h1 /* SPDX-License-Identifier: GPL-2.0 */
26 #define OCTEON_SPI_CFG(x) (x->regs.config)
27 #define OCTEON_SPI_STS(x) (x->regs.status)
28 #define OCTEON_SPI_TX(x) (x->regs.tx)
29 #define OCTEON_SPI_DAT0(x) (x->regs.data)
46 uint64_t clkdiv:13; member
78 uint64_t clkdiv:13;
85 uint64_t clkdiv:13; member
111 uint64_t clkdiv:13;
118 uint64_t clkdiv:13; member
[all …]
Dspi-cavium.c14 #include "spi-cavium.h"
24 mpi_sts.u64 = readq(p->register_base + OCTEON_SPI_STS(p)); in octeon_spi_wait_ready()
33 struct spi_device *spi = msg->spi; in octeon_spi_do_transfer()
36 unsigned int clkdiv; in octeon_spi_do_transfer() local
44 mode = spi->mode; in octeon_spi_do_transfer()
48 clkdiv = p->sys_freq / (2 * xfer->speed_hz); in octeon_spi_do_transfer()
52 mpi_cfg.s.clkdiv = clkdiv; in octeon_spi_do_transfer()
60 if (spi->chip_select < 4) in octeon_spi_do_transfer()
61 p->cs_enax |= 1ull << (12 + spi->chip_select); in octeon_spi_do_transfer()
62 mpi_cfg.u64 |= p->cs_enax; in octeon_spi_do_transfer()
[all …]
/kernel/linux/linux-4.19/drivers/spi/
Dspi-cavium.h1 /* SPDX-License-Identifier: GPL-2.0 */
26 #define OCTEON_SPI_CFG(x) (x->regs.config)
27 #define OCTEON_SPI_STS(x) (x->regs.status)
28 #define OCTEON_SPI_TX(x) (x->regs.tx)
29 #define OCTEON_SPI_DAT0(x) (x->regs.data)
46 uint64_t clkdiv:13; member
78 uint64_t clkdiv:13;
85 uint64_t clkdiv:13; member
111 uint64_t clkdiv:13;
118 uint64_t clkdiv:13; member
[all …]
Dspi-cavium.c14 #include "spi-cavium.h"
24 mpi_sts.u64 = readq(p->register_base + OCTEON_SPI_STS(p)); in octeon_spi_wait_ready()
33 struct spi_device *spi = msg->spi; in octeon_spi_do_transfer()
36 unsigned int clkdiv; in octeon_spi_do_transfer() local
44 mode = spi->mode; in octeon_spi_do_transfer()
48 clkdiv = p->sys_freq / (2 * xfer->speed_hz); in octeon_spi_do_transfer()
52 mpi_cfg.s.clkdiv = clkdiv; in octeon_spi_do_transfer()
60 if (spi->chip_select < 4) in octeon_spi_do_transfer()
61 p->cs_enax |= 1ull << (12 + spi->chip_select); in octeon_spi_do_transfer()
62 mpi_cfg.u64 |= p->cs_enax; in octeon_spi_do_transfer()
[all …]
/kernel/linux/linux-4.19/drivers/hwtracing/intel_th/
Dpti.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2014-2016 Intel Corporation.
27 unsigned int clkdiv; member
46 return -EINVAL; in pti_width_mode()
54 return scnprintf(buf, PAGE_SIZE, "%d\n", pti_mode[pti->mode]); in mode_show()
72 pti->mode = ret; in mode_store()
85 return scnprintf(buf, PAGE_SIZE, "%d\n", pti->freeclk); in freerunning_clock_show()
100 pti->freeclk = !!val; in freerunning_clock_store()
113 return scnprintf(buf, PAGE_SIZE, "%d\n", 1u << pti->clkdiv); in clock_divider_show()
129 return -EINVAL; in clock_divider_store()
[all …]
/kernel/linux/linux-5.10/drivers/hwtracing/intel_th/
Dpti.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2014-2016 Intel Corporation.
27 unsigned int clkdiv; member
46 return -EINVAL; in pti_width_mode()
54 return scnprintf(buf, PAGE_SIZE, "%d\n", pti_mode[pti->mode]); in mode_show()
72 pti->mode = ret; in mode_store()
85 return scnprintf(buf, PAGE_SIZE, "%d\n", pti->freeclk); in freerunning_clock_show()
100 pti->freeclk = !!val; in freerunning_clock_store()
113 return scnprintf(buf, PAGE_SIZE, "%d\n", 1u << pti->clkdiv); in clock_divider_show()
129 return -EINVAL; in clock_divider_store()
[all …]
/kernel/linux/linux-4.19/arch/arm/boot/dts/
Demev2.dtsi1 // SPDX-License-Identifier: GPL-2.0
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
13 interrupt-parent = <&gic>;
14 #address-cells = <1>;
15 #size-cells = <1>;
28 #address-cells = <1>;
29 #size-cells = <0>;
33 compatible = "arm,cortex-a9";
35 clock-frequency = <533000000>;
[all …]
/kernel/linux/linux-5.10/arch/arm/boot/dts/
Demev2.dtsi1 // SPDX-License-Identifier: GPL-2.0
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
13 interrupt-parent = <&gic>;
14 #address-cells = <1>;
15 #size-cells = <1>;
28 #address-cells = <1>;
29 #size-cells = <0>;
33 compatible = "arm,cortex-a9";
35 clock-frequency = <533000000>;
[all …]
/kernel/linux/linux-5.10/drivers/w1/masters/
Dmxc_w1.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright 2005-2008 Freescale Semiconductor, Inc. All Rights Reserved.
22 # define MXC_W1_CONTROL_WR(x) BIT(5 - (x))
45 writeb(MXC_W1_CONTROL_RPP, dev->regs + MXC_W1_CONTROL); in mxc_w1_ds2_reset_bus()
53 u8 ctrl = readb(dev->regs + MXC_W1_CONTROL); in mxc_w1_ds2_reset_bus()
55 /* PST bit is valid after the RPP bit is self-cleared */ in mxc_w1_ds2_reset_bus()
73 writeb(MXC_W1_CONTROL_WR(bit), dev->regs + MXC_W1_CONTROL); in mxc_w1_ds2_touch_bit()
81 u8 ctrl = readb(dev->regs + MXC_W1_CONTROL); in mxc_w1_ds2_touch_bit()
83 /* RDST bit is valid after the WR1/RD bit is self-cleared */ in mxc_w1_ds2_touch_bit()
95 unsigned int clkdiv; in mxc_w1_probe() local
[all …]
/kernel/linux/linux-5.10/drivers/pwm/
Dpwm-tiehrpwm.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Copyright (C) 2012 Texas Instruments, Inc. - https://www.ti.com/
145 * set_prescale_div - Set up the prescaler divider function
153 unsigned int clkdiv, hspclkdiv; in set_prescale_div() local
155 for (clkdiv = 0; clkdiv <= CLKDIV_MAX; clkdiv++) { in set_prescale_div()
161 * CLKDIVIDER = (1), if clkdiv == 0 *OR* in set_prescale_div()
162 * (2 * clkdiv), if clkdiv != 0 in set_prescale_div()
168 *prescale_div = (1 << clkdiv) * in set_prescale_div()
171 *tb_clk_div = (clkdiv << TBCTL_CLKDIV_SHIFT) | in set_prescale_div()
196 if (pc->polarity[chan] == PWM_POLARITY_INVERSED) in configure_polarity()
[all …]
/kernel/linux/linux-4.19/drivers/w1/masters/
Dmxc_w1.c2 * Copyright 2005-2008 Freescale Semiconductor, Inc. All Rights Reserved.
30 # define MXC_W1_CONTROL_WR(x) BIT(5 - (x))
53 writeb(MXC_W1_CONTROL_RPP, dev->regs + MXC_W1_CONTROL); in mxc_w1_ds2_reset_bus()
61 u8 ctrl = readb(dev->regs + MXC_W1_CONTROL); in mxc_w1_ds2_reset_bus()
63 /* PST bit is valid after the RPP bit is self-cleared */ in mxc_w1_ds2_reset_bus()
81 writeb(MXC_W1_CONTROL_WR(bit), dev->regs + MXC_W1_CONTROL); in mxc_w1_ds2_touch_bit()
89 u8 ctrl = readb(dev->regs + MXC_W1_CONTROL); in mxc_w1_ds2_touch_bit()
91 /* RDST bit is valid after the WR1/RD bit is self-cleared */ in mxc_w1_ds2_touch_bit()
104 unsigned int clkdiv; in mxc_w1_probe() local
107 mdev = devm_kzalloc(&pdev->dev, sizeof(struct mxc_w1_device), in mxc_w1_probe()
[all …]

123456