| /linux/drivers/dpll/ |
| H A D | dpll_core.c | 3 * dpll_core.c - DPLL subsystem kernel-space interface implementation. 21 /* Mutex lock to protect DPLL subsystem devices and pins */ 61 void dpll_device_notify(struct dpll_device *dpll, unsigned long action) in dpll_device_notify() argument 64 .dpll = dpll, in dpll_device_notify() 65 .id = dpll->id, in dpll_device_notify() 66 .idx = dpll->device_idx, in dpll_device_notify() 67 .clock_id = dpll->clock_id, in dpll_device_notify() 68 .type = dpll->type, in dpll_device_notify() 88 static void dpll_device_tracker_alloc(struct dpll_device *dpll, in dpll_device_tracker_alloc() argument 92 ref_tracker_alloc(&dpll->refcnt_tracker, tracker, GFP_KERNEL); in dpll_device_tracker_alloc() [all …]
|
| H A D | Makefile | 3 # Makefile for DPLL drivers. 6 obj-$(CONFIG_DPLL) += dpll.o 7 dpll-y += dpll_core.o 8 dpll-y += dpll_netlink.o 9 dpll-y += dpll_nl.o
|
| /linux/Documentation/devicetree/bindings/clock/ti/ |
| H A D | dpll.txt | 1 Binding for Texas Instruments DPLL clock. 4 register-mapped DPLL with usually two selectable input clocks 10 for the actual DPLL clock. 16 "ti,omap3-dpll-clock", 17 "ti,omap3-dpll-core-clock", 18 "ti,omap3-dpll-per-clock", 19 "ti,omap3-dpll-per-j-type-clock", 20 "ti,omap4-dpll-clock", 21 "ti,omap4-dpll-x2-clock", 22 "ti,omap4-dpll-core-clock", [all …]
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_dpll.c | 7 #include <linux/dpll.h> 90 * for pin control. For E810 NIC with dpll there is additional MUX-related logic 91 * between SMA/U.FL pins/connectors and dpll device, best to give user access 187 * @dpll: pointer to dpll 188 * @dpll_priv: private data pointer passed on dpll registration 202 const struct dpll_device *dpll, void *dpll_priv, in ice_dpll_frequency_set() argument 226 * @dpll: pointer to dpll 227 * @dpll_priv: private data pointer passed on dpll registration 240 const struct dpll_device *dpll, void *dpll_priv, in ice_dpll_input_frequency_set() argument 243 return ice_dpll_frequency_set(pin, pin_priv, dpll, dpll_priv, frequency, in ice_dpll_input_frequency_set() [all …]
|
| /linux/drivers/clk/ti/ |
| H A D | dpll3xxx.c | 3 * OMAP3/4 - specific DPLL control functions 46 /* _omap3_dpll_write_clken - write clken_bits arg to a DPLL's enable bits */ 60 /* _omap3_wait_dpll_status: wait for a DPLL to enter a specific state */ 129 * _omap3_noncore_dpll_lock - instruct a DPLL to lock and wait for readiness 130 * @clk: pointer to a DPLL struct clk 132 * Instructs a non-CORE DPLL to lock. Waits for the DPLL to report 133 * readiness before returning. Will save and restore the DPLL's 134 * autoidle state across the enable, per the CDP code. If the DPLL 135 * locked successfully, return 0; if the DPLL did not lock in the time 145 pr_debug("clock: locking DPLL %s\n", clk_hw_get_name(&clk->hw)); in _omap3_noncore_dpll_lock() [all …]
|
| H A D | clkt_dpll.c | 3 * OMAP2/3/4 DPLL clock functions 25 /* DPLL rate rounding: minimum DPLL multiplier, divider values */ 33 * Scale factor to mitigate roundoff errors in DPLL rate rounding. 44 * DPLL valid Fint frequency range for OMAP36xx and OMAP4xxx. 45 * From device data manual section 4.3 "DPLL and DLL Specifications". 57 * _dpll_test_fint - test whether an Fint value is valid for the DPLL 58 * @clk: DPLL struct clk to test 61 * Tests whether a particular divider @n will result in a valid DPLL 62 * internal clock frequency Fint. See the 34xx TRM 4.7.6.2 "DPLL Jitter 75 /* DPLL divider must result in a valid jitter correction val */ in _dpll_test_fint() [all …]
|
| H A D | dpll44xx.c | 3 * OMAP4-specific DPLL control functions 19 * Maximum DPLL input frequency (FINT) and output frequency (FOUT) that 20 * can supported when using the DPLL low-power mode. Frequencies are 79 * omap4_dpll_lpmode_recalc - compute DPLL low-power setting 80 * @dd: pointer to the dpll data structure 104 * omap4_dpll_regm4xen_recalc - compute DPLL rate, considering REGM4XEN bit 106 * @parent_rate: clock rate of the DPLL parent 108 * Compute the output rate for the OMAP4 DPLL represented by @clk. 110 * OMAP4 ABE DPLL. Returns the DPLL's output rate (before M-dividers) 128 /* regm4xen adds a multiplier of 4 to DPLL calculations */ in omap4_dpll_regm4xen_recalc() [all …]
|
| H A D | dpll.c | 3 * OMAP DPLL clock support 137 * _register_dpll - low level registration of a DPLL clock 141 * Finalizes DPLL registration process. In case a failure (clk-ref or 207 * Initializes a DPLL x 2 clock from device tree data. 264 * of_ti_dpll_setup - Setup function for OMAP DPLL clocks 265 * @node: device node containing the DPLL info 266 * @ops: ops for the DPLL 267 * @ddt: DPLL data template to use 269 * Initializes a DPLL clock from device tree data. 314 * Special case for OMAP2 DPLL, register order is different due to in of_ti_dpll_setup() [all …]
|
| /linux/Documentation/devicetree/bindings/dpll/ |
| H A D | dpll-device.yaml | 4 $id: http://devicetree.org/schemas/dpll/dpll-device.yaml# 7 title: Digital Phase-Locked Loop (DPLL) Device 13 Digital Phase-Locked Loop (DPLL) device is used for precise clock 16 output pins. Each DPLL channel can either produce pulse-per-clock signal 18 indicated by dpll-types property. 22 pattern: "^dpll(@.*)?$" 30 dpll-types: 31 description: List of DPLL channel types, one per DPLL instance. 38 description: DPLL input pins 49 $ref: /schemas/dpll/dpll-pin.yaml [all …]
|
| H A D | microchip,zl30731.yaml | 4 $id: http://devicetree.org/schemas/dpll/microchip,zl30731.yaml# 7 title: Microchip Azurite DPLL device 13 Microchip Azurite DPLL (ZL3073x) is a family of DPLL devices that 14 provides up to 5 independent DPLL channels, up to 10 differential or 35 - $ref: /schemas/dpll/dpll-device.yaml# 46 dpll@70 { 49 dpll-types = "pps", "eec"; 82 dpll@70 { 87 dpll-types = "pps";
|
| H A D | dpll-pin.yaml | 4 $id: http://devicetree.org/schemas/dpll/dpll-pin.yaml# 7 title: DPLL Pin 13 The DPLL pin is either a physical input or output pin that is provided 14 by a DPLL( Digital Phase-Locked Loop) device. The pin is identified by 23 description: Hardware index of the DPLL pin.
|
| /linux/drivers/dpll/zl3073x/ |
| H A D | dpll.c | 8 #include <linux/dpll.h> 20 #include "dpll.h" 28 * struct zl3073x_dpll_pin - DPLL pin 29 * @list: this DPLL pin list entry 30 * @dpll: DPLL the pin is registered to 46 struct zl3073x_dpll *dpll; member 94 const struct dpll_device *dpll, void *dpll_priv, in zl3073x_dpll_pin_direction_get() argument 122 const struct dpll_device *dpll, in zl3073x_dpll_input_pin_esync_get() argument 164 const struct dpll_device *dpll, in zl3073x_dpll_input_pin_esync_set() argument 197 const struct dpll_device *dpll, void *dpll_priv, in zl3073x_dpll_input_pin_ffo_get() argument [all …]
|
| H A D | Kconfig | 4 tristate "Microchip Azurite DPLL/PTP/SyncE devices" if COMPILE_TEST 6 select DPLL 10 This driver supports Microchip Azurite family DPLL/PTP/SyncE 11 devices that support up to 5 independent DPLL channels, 23 This is I2C bus implementation for Microchip Azurite DPLL/PTP/SyncE 35 This is SPI bus implementation for Microchip Azurite DPLL/PTP/SyncE
|
| H A D | prop.c | 113 /* Set package_label pointer in DPLL core properties to generated in zl3073x_prop_pin_package_label_set() 242 /* Look for pin type property and translate its value to DPLL in zl3073x_pin_props_get() 276 * DPLL core pin properties requires list of frequency ranges. in zl3073x_pin_props_get() 352 * zl3073x_prop_dpll_type_get - get DPLL channel type 354 * @index: DPLL channel index 356 * Return: DPLL type for given DPLL channel 364 /* Read dpll types property from firmware */ in zl3073x_prop_dpll_type_get() 365 count = device_property_read_string_array(zldev->dev, "dpll-types", in zl3073x_prop_dpll_type_get() 377 dev_info(zldev->dev, "Unknown DPLL type '%s', using default\n", in zl3073x_prop_dpll_type_get()
|
| /linux/drivers/gpu/drm/gma500/ |
| H A D | psb_intel_display.c | 108 u32 dpll = 0, fp = 0, dspcntr, pipeconf; in psb_intel_crtc_mode_set() local 159 dpll = DPLL_VGA_MODE_DIS; in psb_intel_crtc_mode_set() 161 dpll |= DPLLB_MODE_LVDS; in psb_intel_crtc_mode_set() 162 dpll |= DPLL_DVO_HIGH_SPEED; in psb_intel_crtc_mode_set() 164 dpll |= DPLLB_MODE_DAC_SERIAL; in psb_intel_crtc_mode_set() 168 dpll |= DPLL_DVO_HIGH_SPEED; in psb_intel_crtc_mode_set() 169 dpll |= in psb_intel_crtc_mode_set() 174 dpll |= (1 << (clock.p1 - 1)) << 16; in psb_intel_crtc_mode_set() 177 dpll |= DPLL_DAC_SERIAL_P2_CLOCK_DIV_5; in psb_intel_crtc_mode_set() 180 dpll |= DPLLB_LVDS_P2_CLOCK_DIV_7; in psb_intel_crtc_mode_set() [all …]
|
| H A D | cdv_intel_display.c | 208 /* Unlike most Intel display engines, on Cedarview the DPLL registers 210 * DPLL reference clock is on in the DPLL control register, but before 211 * the DPLL is enabled in the DPLL control register. 262 DRM_DEBUG_KMS("use their DPLL for pipe A/B\n"); in cdv_dpll_set_clock_cdv() 585 u32 dpll = 0, dspcntr, pipeconf; in cdv_intel_crtc_mode_set() local 666 dpll = DPLL_VGA_MODE_DIS; in cdv_intel_crtc_mode_set() 677 dpll |= DPLL_SYNCLOCK_ENABLE; in cdv_intel_crtc_mode_set() 679 dpll |= DPLLB_MODE_LVDS; in cdv_intel_crtc_mode_set() 681 dpll |= DPLLB_MODE_DAC_SERIAL; */ in cdv_intel_crtc_mode_set() 682 /* dpll |= (2 << 11); */ in cdv_intel_crtc_mode_set() [all …]
|
| /linux/include/linux/clk/ |
| H A D | ti.h | 29 * struct dpll_data - DPLL registers and integration data 30 * @mult_div1_reg: register containing the DPLL M and N bitfields 31 * @mult_mask: mask of the DPLL M bitfield in @mult_div1_reg 32 * @div1_mask: mask of the DPLL N bitfield in @mult_div1_reg 35 * @control_reg: register containing the DPLL mode bitfield 36 * @enable_mask: mask of the DPLL mode bitfield in @control_reg 47 * @max_rate: maximum clock rate for the DPLL 49 * @autoidle_reg: register containing the DPLL autoidle mode bitfield 50 * @idlest_reg: register containing the DPLL idle status bitfield 51 * @autoidle_mask: mask of the DPLL autoidle mode bitfield in @autoidle_reg [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | dpll.c | 4 #include <linux/dpll.h> 7 /* This structure represents a reference to DPLL, one is created 11 struct dpll_device *dpll; member 146 mlx5_dpll_device_lock_status_get(const struct dpll_device *dpll, void *priv, in mlx5_dpll_device_lock_status_get() argument 163 static int mlx5_dpll_device_mode_get(const struct dpll_device *dpll, in mlx5_dpll_device_mode_get() argument 200 static int mlx5_dpll_clock_quality_level_get(const struct dpll_device *dpll, in mlx5_dpll_clock_quality_level_get() argument 259 const struct dpll_device *dpll, in mlx5_dpll_pin_direction_get() argument 270 const struct dpll_device *dpll, in mlx5_dpll_state_on_dpll_get() argument 288 const struct dpll_device *dpll, in mlx5_dpll_state_on_dpll_set() argument 302 const struct dpll_device *dpll, void *dpll_priv, in mlx5_dpll_ffo_get() argument [all …]
|
| /linux/arch/arm/mach-omap2/ |
| H A D | clkt2xxx_dpll.c | 3 * OMAP2-specific DPLL control functions 21 * _allow_idle - enable DPLL autoidle bits 22 * @clk: struct clk * of the DPLL to operate on 24 * Enable DPLL automatic idle control. The DPLL will enter low-power 26 * REVISIT: DPLL can optionally enter low-power bypass by writing 0x1 38 * _deny_idle - prevent DPLL from automatically idling 39 * @clk: struct clk * of the DPLL to operate on 41 * Disable DPLL automatic idle control. No return value.
|
| H A D | sleep24xx.S | 35 * The if the DPLL is going to AutoIdle. It seems like the DPLL may be back on 37 * case the DPLL isn't quite there yet. The code will wait on DLL for DDR even 44 * Post sleep we will shift back to using the DPLL. Apparently, 60 mov r5, #0x2000 @ set delay (DPLL relock + DLL relock) 69 /* The DPLL has to be on before we take the DDR out of self refresh */
|
| H A D | opp2xxx.h | 14 * respect to each other. These ratio sets are for a given voltage/DPLL 15 * setting. All configurations can be described by a DPLL setting and a ratio 45 unsigned long dpll_speed; /* dpll: out*xtal*M/(N-1)table_recalc */ 65 * Voltage/DPLL ratios 218 * describe DPLL combinations to go along with a ratio. 230 * #5a (ratio1) baseport-target, target DPLL = 266*2 = 532MHz 247 /* #5b (ratio1) target DPLL = 200*2 = 400MHz */ 265 * #4 (ratio2), DPLL = 399*2 = 798MHz, L3=133MHz 286 * #3 (ratio2) baseport-target, target DPLL = 330*2 = 660MHz 305 * #2 (ratio1) DPLL = 330*2 = 660MHz, L3=165MHz [all …]
|
| /linux/Documentation/devicetree/bindings/clock/ |
| H A D | microchip,sparx5-dpll.yaml | 4 $id: http://devicetree.org/schemas/clock/microchip,sparx5-dpll.yaml# 7 title: Microchip Sparx5 DPLL Clock 13 The Sparx5 DPLL clock controller generates and supplies clock to 18 const: microchip,sparx5-dpll 46 compatible = "microchip,sparx5-dpll";
|
| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | am43xx-clocks.dtsi | 231 compatible = "ti,am3-dpll-core-clock"; 237 dpll_core_x2_ck: clock-dpll-core-x2 { 239 compatible = "ti,am3-dpll-x2-clock"; 244 dpll_core_m4_ck: clock-dpll-core-m4-8@2d38 { 256 dpll_core_m5_ck: clock-dpll-core-m5-8@2d3c { 268 dpll_core_m6_ck: clock-dpll-core-m6-8@2d40 { 282 compatible = "ti,am3-dpll-clock"; 288 dpll_mpu_m2_ck: clock-dpll-mpu-m2-8@2d70 { 311 compatible = "ti,am3-dpll-clock"; 317 dpll_ddr_m2_ck: clock-dpll-ddr-m2-8@2db0 { [all …]
|
| H A D | am33xx-clocks.dtsi | 191 compatible = "ti,am3-dpll-core-clock"; 197 dpll_core_x2_ck: clock-dpll-core-x2 { 199 compatible = "ti,am3-dpll-x2-clock"; 204 dpll_core_m4_ck: clock-dpll-core-m4@480 { 214 dpll_core_m5_ck: clock-dpll-core-m5@484 { 224 dpll_core_m6_ck: clock-dpll-core-m6@4d8 { 236 compatible = "ti,am3-dpll-clock"; 242 dpll_mpu_m2_ck: clock-dpll-mpu-m2@4a8 { 254 compatible = "ti,am3-dpll-no-gate-clock"; 260 dpll_ddr_m2_ck: clock-dpll-ddr-m2@4a0 { [all …]
|
| /linux/drivers/ata/ |
| H A D | pata_hpt3x2n.c | 61 /* 66MHz DPLL clocks */ 263 * We must use the DPLL for 299 /* See if we should use the DPLL */ in hpt3x2n_use_dpll() 312 int dpll = hpt3x2n_use_dpll(ap, qc->tf.flags & ATA_TFLAG_WRITE); in hpt3x2n_qc_defer() local 319 if ((flags & USE_DPLL) != dpll && alt->qc_active) in hpt3x2n_qc_defer() 328 int dpll = hpt3x2n_use_dpll(ap, qc->tf.flags & ATA_TFLAG_WRITE); in hpt3x2n_qc_issue() local 330 if ((flags & USE_DPLL) != dpll) { in hpt3x2n_qc_issue() 332 flags |= dpll; in hpt3x2n_qc_issue() 335 hpt3x2n_set_clock(ap, dpll ? 0x21 : 0x23); in hpt3x2n_qc_issue() 372 * hpt3xn_calibrate_dpll - Calibrate the DPLL loop [all …]
|