/openbmc/u-boot/include/ |
H A D | pwm.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * header file for pwm driver. 13 /* struct pwm_ops: Operations for the PWM uclass */ 16 * set_config() - Set the PWM configuration 18 * @dev: PWM device to update 19 * @channel: PWM channel to update 20 * @period_ns: PWM period in nanoseconds 21 * @duty_ns: PWM duty period in nanoseconds 22 * @return 0 if OK, -ve on error 28 * set_enable() - Enable or disable the PWM [all …]
|
/openbmc/u-boot/drivers/pwm/ |
H A D | Kconfig | 2 bool "Enable support for pulse-width modulation devices (PWM)" 5 A pulse-width modulator emits a pulse of varying width and provides 7 is often used to control a voltage level. The more time the PWM 8 spends in the 'high' state, the higher the voltage. The PWM's 13 bool "Enable support for the Exynos PWM" 16 This PWM is found on Samsung Exynos 5250 and other Samsung SoCs. It 17 supports a programmable period and duty cycle. A 32-bit counter is 22 bool "Enable support for the Rockchip PWM" 25 This PWM is found on RK3288 and other Rockchip SoCs. It supports a 26 programmable period and duty cycle. A 32-bit counter is used. [all …]
|
H A D | sandbox_pwm.c | 1 // SPDX-License-Identifier: GPL-2.0+ 10 #include <pwm.h> 18 * struct sandbox_pwm_chan - a sandbox PWM channel 20 * @period_ns: Period of the PWM in nanoseconds 21 * @duty_ns: Current duty cycle of the PWM in nanoseconds 22 * @enable: true if the PWM is enabled 23 * @polarity: true if the PWM polarity is active high 28 bool enable; member 43 return -ENOSPC; in sandbox_pwm_get_config() 44 chan = &priv->chan[channel]; in sandbox_pwm_get_config() [all …]
|
/openbmc/linux/Documentation/hwmon/ |
H A D | pwm-fan.rst | 1 Kernel driver pwm-fan 4 This driver enables the use of a PWM module to drive a fan. It uses the 5 generic PWM interface thus it is hardware independent. It can be used on 6 many SoCs, as long as the SoC supplies a PWM line driver that exposes 7 the generic PWM API. 12 ----------- 15 a PWM output. It uses the generic PWM interface, thus it can be used with 26 pwm1_enable rw keep enable mode, defines behaviour when pwm1=0 27 0 -> disable pwm and regulator 28 1 -> enable pwm; if pwm==0, disable pwm, keep regulator enabled [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/input/ |
H A D | pwm-vibrator.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/input/pwm-vibrator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: PWM vibrator 10 - Sebastian Reichel <sre@kernel.org> 13 Registers a PWM device as vibrator. It is expected, that the vibrator's 14 strength increases based on the duty cycle of the enable PWM channel 17 The binding supports an optional direction PWM channel, that can be 23 const: pwm-vibrator [all …]
|
H A D | dlg,da7280.txt | 4 - compatible: Should be "dlg,da7280". 5 - reg: Specifies the I2C slave address. 7 - interrupt-parent : Specifies the phandle of the interrupt controller to 10 - dlg,actuator-type: Set Actuator type. it should be one of: 11 "LRA" - Linear Resonance Actuator type. 12 "ERM-bar" - Bar type Eccentric Rotating Mass. 13 "ERM-coin" - Coin type Eccentric Rotating Mass. 15 - dlg,const-op-mode: Haptic operation mode for FF_CONSTANT. 17 1 - Direct register override(DRO) mode triggered by i2c(default), 18 2 - PWM data source mode controlled by PWM duty, [all …]
|
/openbmc/u-boot/test/dm/ |
H A D | panel.c | 1 // SPDX-License-Identifier: GPL-2.0+ 23 struct udevice *dev, *pwm, *gpio, *reg; in dm_test_panel() local 26 bool enable; in dm_test_panel() local 30 ut_assertok(uclass_first_device_err(UCLASS_PWM, &pwm)); in dm_test_panel() 33 ut_assertok(sandbox_pwm_get_config(pwm, 0, &period_ns, &duty_ns, in dm_test_panel() 34 &enable, &polarity)); in dm_test_panel() 35 ut_asserteq(false, enable); in dm_test_panel() 39 ut_assertok(sandbox_pwm_get_config(pwm, 0, &period_ns, &duty_ns, in dm_test_panel() 40 &enable, &polarity)); in dm_test_panel() 43 ut_asserteq(true, enable); in dm_test_panel() [all …]
|
/openbmc/linux/Documentation/driver-api/ |
H A D | pwm.rst | 2 Pulse Width Modulation (PWM) interface 5 This provides an overview about the Linux PWM interface 9 the Linux PWM API (although they could). However, PWMs are often 12 this kind of flexibility the generic PWM API exists. 15 ---------------- 17 Users of the legacy PWM API use unique IDs to refer to PWM devices. 19 Instead of referring to a PWM device via its unique ID, board setup code 20 should instead register a static mapping that can be used to match PWM 24 PWM_LOOKUP("tegra-pwm", 0, "pwm-backlight", NULL, 36 ---------- [all …]
|
/openbmc/u-boot/drivers/video/ |
H A D | pwm_backlight.c | 1 // SPDX-License-Identifier: GPL-2.0+ 12 #include <pwm.h> 17 * Private information for the PWM backlight 21 * Otherwise the levels are an index into @levels (0..n-1). 23 * @reg: Regulator to enable to turn the backlight on (NULL if none) 24 * @enable, GPIO to set to enable the backlight (can be missing) 25 * @pwm: PWM to use to change the backlight brightness 26 * @channel: PWM channel to use 38 struct gpio_desc enable; member 39 struct udevice *pwm; member [all …]
|
/openbmc/openbmc/meta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/ |
H A D | motor-init | 1 #!/bin/bash -e 4 # Enable pwm and setup pwm duty 10 # shellcheck source=meta-facebook/meta-bletchley/recipes-bletchley/plat-tools/files/bletchley-commo… 11 source /usr/libexec/bletchley-common-functions 13 PWM_CLASS_PATH="/sys/class/pwm/pwmchip0" 20 #Enable pwm for sledN 23 echo "Open pwm of sled$SLED_NUM" 25 PWM_PATH="${PWM_CLASS_PATH}/pwm${PWM_NUM}" 26 if [ ! -d "$PWM_PATH" ];then 29 if [ -d "$PWM_PATH" ];then [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/leds/backlight/ |
H A D | mediatek,mt6370-backlight.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/leds/backlight/mediatek,mt6370-backlight.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - ChiaEn Wu <chiaen_wu@richtek.com> 21 - $ref: common.yaml# 26 - mediatek,mt6370-backlight 27 - mediatek,mt6372-backlight 29 default-brightness: 32 max-brightness: [all …]
|
H A D | pwm-backlight.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/leds/backlight/pwm-backlight.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: pwm-backlight 10 - Lee Jones <lee@kernel.org> 11 - Daniel Thompson <daniel.thompson@linaro.org> 12 - Jingoo Han <jingoohan1@gmail.com> 16 const: pwm-backlight 21 pwm-names: true [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/regulator/ |
H A D | pwm-regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/regulator/pwm-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic PWM Regulator 10 - Brian Norris <briannorris@chromium.org> 11 - Lee Jones <lee@kernel.org> 12 - Alexandre Courbot <acourbot@nvidia.com> 19 duty-cycle values must be provided via DT. Limitations are that the 21 Intermediary duty-cycle values which would normally allow finer grained [all …]
|
H A D | tps51632-regulator.txt | 4 - compatible: Must be "ti,tps51632" 5 - reg: I2C slave address 8 - ti,enable-pwm-dvfs: Enable the DVFS voltage control through the PWM interface. 9 - ti,dvfs-step-20mV: The 20mV step voltage when PWM DVFS enabled. Missing this 10 will set 10mV step voltage in PWM DVFS mode. In normal mode, the voltage 21 regulator-name = "tps51632-vout"; 22 regulator-min-microvolt = <500000>; 23 regulator-max-microvolt = <1500000>; 24 regulator-boot-on; 25 ti,enable-pwm-dvfs; [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-pwm | 1 What: /sys/class/pwm/ 6 The pwm/ class sub-directory belongs to the Generic PWM 7 Framework and provides a sysfs interface for using PWM 10 What: /sys/class/pwm/pwmchip<N>/ 15 A /sys/class/pwm/pwmchipN directory is created for each 16 probed PWM controller/chip where N is the base of the 17 PWM chip. 19 What: /sys/class/pwm/pwmchip<N>/npwm 24 The number of PWM channels supported by the PWM chip. 26 What: /sys/class/pwm/pwmchip<N>/export [all …]
|
/openbmc/linux/drivers/input/misc/ |
H A D | pwm-vibra.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * PWM vibrator driver 10 * Based on PWM beeper driver: 11 * Copyright (C) 2010, Lars-Peter Clausen <lars@metafoo.de> 21 #include <linux/pwm.h> 28 struct pwm_device *pwm; member 40 struct device *pdev = vibrator->input->dev.parent; in pwm_vibrator_start() 44 if (!vibrator->vcc_on) { in pwm_vibrator_start() 45 err = regulator_enable(vibrator->vcc); in pwm_vibrator_start() 47 dev_err(pdev, "failed to enable regulator: %d\n", err); in pwm_vibrator_start() [all …]
|
/openbmc/linux/drivers/pwm/ |
H A D | pwm-sti.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * PWM device driver for ST SoCs 5 * Copyright (C) 2013-2016 STMicroelectronics (R&D) Limited 18 #include <linux/pwm.h> 30 #define STI_INT_EN 0x54 /* Interrupt Enable/Disable register */ 59 * Each capture input can be programmed to detect rising-edge, falling-edge, 101 struct mutex sti_pwm_lock; /* To sync between enable/disable calls */ 126 struct sti_pwm_compat_data *cdata = pc->cdata; in sti_pwm_get_prescale() 131 clk_rate = clk_get_rate(pc->pwm_clk); in sti_pwm_get_prescale() 133 dev_err(pc->dev, "failed to get clock rate\n"); in sti_pwm_get_prescale() [all …]
|
H A D | pwm-sprd.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <linux/pwm.h> 44 * The list of clocks required by PWM channels, and each channel has 2 clocks: 45 * enable clock and pwm clock. 58 return readl_relaxed(spc->base + offset); in sprd_pwm_read() 66 writel_relaxed(val, spc->base + offset); in sprd_pwm_write() 69 static int sprd_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm, in sprd_pwm_get_state() argument 74 struct sprd_pwm_chn *chn = &spc->chn[pwm->hwpwm]; in sprd_pwm_get_state() 80 * The clocks to PWM channel has to be enabled first before in sprd_pwm_get_state() 83 ret = clk_bulk_prepare_enable(SPRD_PWM_CHN_CLKS_NUM, chn->clks); in sprd_pwm_get_state() [all …]
|
H A D | pwm-rockchip.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PWM driver for Rockchip SoCs 15 #include <linux/pwm.h> 61 struct pwm_device *pwm, in rockchip_pwm_get_state() argument 65 u32 enable_conf = pc->data->enable_conf; in rockchip_pwm_get_state() 71 ret = clk_enable(pc->pclk); in rockchip_pwm_get_state() 75 ret = clk_enable(pc->clk); in rockchip_pwm_get_state() 79 clk_rate = clk_get_rate(pc->clk); in rockchip_pwm_get_state() 81 tmp = readl_relaxed(pc->base + pc->data->regs.period); in rockchip_pwm_get_state() 82 tmp *= pc->data->prescaler * NSEC_PER_SEC; in rockchip_pwm_get_state() [all …]
|
/openbmc/linux/drivers/regulator/ |
H A D | pwm-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Regulator driver for PWM Regulators 5 * Copyright (C) 2014 - STMicroelectronics Inc. 18 #include <linux/pwm.h> 29 struct pwm_device *pwm; member 42 /* Enable GPIO */ 52 * Voltage table call-backs 61 pwm_get_state(drvdata->pwm, &pwm_state); in pwm_regulator_init_state() 64 for (i = 0; i < rdev->desc->n_voltages; i++) { in pwm_regulator_init_state() 65 if (dutycycle == drvdata->duty_cycle_table[i].dutycycle) { in pwm_regulator_init_state() [all …]
|
/openbmc/linux/arch/arm64/boot/dts/qcom/ |
H A D | msm8916-samsung-gt510.dts | 1 // SPDX-License-Identifier: GPL-2.0-only 3 /dts-v1/; 5 #include "msm8916-samsung-gt5-common.dtsi" 10 chassis-type = "tablet"; 12 clk_pwm: pwm { 13 compatible = "clk-pwm"; 14 #pwm-cells = <2>; 18 pinctrl-0 = <&motor_pwm_default>; 19 pinctrl-names = "default"; 22 reg_motor_vdd: regulator-motor-vdd { [all …]
|
/openbmc/linux/drivers/video/backlight/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 14 This framework adds support for low-level control of LCD. 15 Some framebuffer devices connect to platform-specific LCD modules 16 in order to have a platform-specific way to control the flat panel 90 This driver provides a platform-device registered LCD power 99 say Y to enable LCD control driver. 106 If you have an AMS369FG06 AMOLED Panel, say Y to enable its 114 If you have an LMS501KF03 LCD Panel, say Y to enable its 118 tristate "Himax HX-8357 LCD Driver" 121 If you have a HX-8357 LCD panel, say Y to enable its LCD control [all …]
|
H A D | pwm_bl.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Simple PWM based backlight control, board code has to setup 4 * 1) pin configuration so PWM waveforms can output 17 #include <linux/pwm.h> 23 struct pwm_device *pwm; member 45 if (pb->enabled) in pwm_backlight_power_on() 48 if (pb->power_supply) { in pwm_backlight_power_on() 49 err = regulator_enable(pb->power_supply); in pwm_backlight_power_on() 51 dev_err(pb->dev, "failed to enable power supply\n"); in pwm_backlight_power_on() 54 if (pb->post_pwm_on_delay) in pwm_backlight_power_on() [all …]
|
/openbmc/linux/drivers/leds/ |
H A D | leds-lm3530.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2011 ST-Ericsson SA. 9 * based on leds-lm3530.c by Dan Murphy <D.Murphy@motorola.com> 17 #include <linux/led-lm3530.h> 22 #define LM3530_LED_DEV "lcd-backlight" 23 #define LM3530_NAME "lm3530-led" 92 { "pwm", LM3530_BL_MODE_PWM }, 100 * @mode: mode of operation - manual, ALS, PWM 103 * @enable: regulator is enabled 112 bool enable; member [all …]
|
/openbmc/u-boot/doc/device-tree-bindings/video/ |
H A D | tegra20-dc.txt | 2 ------------------ 5 U-Boot, and may change based on Linux activity) 12 - compatible : Should be "nvidia,tegra20-dc" 17 - nvidia,panel : phandle of LCD panel information 24 - nvidia,bits-per-pixel: number of bits per pixel (depth) 25 - nvidia,pwm : pwm to use to set display contrast (see tegra20-pwm.txt) 26 - nvidia,panel-timings: 4 cells containing required timings in ms: 28 * delay between panel_vdd-rise and data-rise 29 * delay between data-rise and backlight_vdd-rise 30 * delay between backlight_vdd and pwm-rise [all …]
|