/linux/drivers/clocksource/ |
A D | samsung_pwm_timer.c | 223 samsung_timer_set_divisor(pwm.event_id, pwm.tdiv); in samsung_clockevent_resume() 269 samsung_timer_set_divisor(pwm.event_id, pwm.tdiv); in samsung_clockevent_init() 271 clock_rate = pclk / (pwm.tscaler_div * pwm.tdiv); in samsung_clockevent_init() 278 irq_number = pwm.irq[pwm.event_id]; in samsung_clockevent_init() 299 samsung_timer_set_divisor(pwm.source_id, pwm.tdiv); in samsung_clocksource_resume() 301 samsung_time_setup(pwm.source_id, pwm.tcnt_max); in samsung_clocksource_resume() 341 clock_rate = pclk / (pwm.tscaler_div * pwm.tdiv); in samsung_clocksource_init() 343 samsung_time_setup(pwm.source_id, pwm.tcnt_max); in samsung_clocksource_init() 347 pwm.source_reg = pwm.base + 0x40; in samsung_clocksource_init() 349 pwm.source_reg = pwm.base + pwm.source_id * 0x0c + 0x14; in samsung_clocksource_init() [all …]
|
/linux/drivers/pwm/ |
A D | pwm-renesas-tpu.c | 179 tpu_pwm_write(pwm, TPU_TGRAn, pwm->duty); in tpu_pwm_timer_start() 180 tpu_pwm_write(pwm, TPU_TGRBn, pwm->period); in tpu_pwm_timer_start() 183 pwm->channel, pwm->duty, pwm->period); in tpu_pwm_timer_start() 218 pwm = kzalloc(sizeof(*pwm), GFP_KERNEL); in tpu_pwm_request() 227 pwm->duty = 0; in tpu_pwm_request() 241 kfree(pwm); in tpu_pwm_free() 288 if (pwm->prescaler == prescaler && pwm->period == period) in tpu_pwm_config() 305 tpu_pwm_write(pwm, TPU_TGRAn, pwm->duty); in tpu_pwm_config() 307 pwm->duty); in tpu_pwm_config() 350 if (pwm->duty == 0 || pwm->duty == pwm->period) { in tpu_pwm_enable() [all …]
|
A D | Makefile | 4 obj-$(CONFIG_PWM_AB8500) += pwm-ab8500.o 5 obj-$(CONFIG_PWM_ATMEL) += pwm-atmel.o 11 obj-$(CONFIG_PWM_BERLIN) += pwm-berlin.o 14 obj-$(CONFIG_PWM_CRC) += pwm-crc.o 16 obj-$(CONFIG_PWM_DWC) += pwm-dwc.o 20 obj-$(CONFIG_PWM_IMG) += pwm-img.o 21 obj-$(CONFIG_PWM_IMX1) += pwm-imx1.o 37 obj-$(CONFIG_PWM_MXS) += pwm-mxs.o 41 obj-$(CONFIG_PWM_PXA) += pwm-pxa.o 51 obj-$(CONFIG_PWM_STI) += pwm-sti.o [all …]
|
A D | core.c | 103 err = pwm->chip->ops->request(pwm->chip, pwm); in pwm_device_request() 111 pwm->chip->ops->get_state(pwm->chip, pwm, &pwm->state); in pwm_device_request() 112 trace_pwm_get(pwm, &pwm->state); in pwm_device_request() 115 pwm->last = pwm->state; in pwm_device_request() 206 return pwm ? pwm->chip_data : NULL; in pwm_get_chip_data() 272 pwm->pwm = chip->base + i; in pwmchip_add() 275 radix_tree_insert(&pwm_tree, pwm->pwm, pwm); in pwmchip_add() 358 if (pwm < 0 || pwm >= MAX_PWMS) in pwm_request() 639 if (!pwm || !pwm->chip->ops) in pwm_capture() 646 err = pwm->chip->ops->capture(pwm->chip, pwm, result, timeout); in pwm_capture() [all …]
|
A D | pwm-sun4i.c | 113 struct pwm_device *pwm, in sun4i_pwm_get_state() argument 396 pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL); in sun4i_pwm_probe() 397 if (!pwm) in sun4i_pwm_probe() 401 if (!pwm->data) in sun4i_pwm_probe() 405 if (IS_ERR(pwm->base)) in sun4i_pwm_probe() 420 if (IS_ERR(pwm->clk)) in sun4i_pwm_probe() 424 if (!pwm->clk) { in sun4i_pwm_probe() 426 if (IS_ERR(pwm->clk)) in sun4i_pwm_probe() 432 if (IS_ERR(pwm->bus_clk)) in sun4i_pwm_probe() 437 if (IS_ERR(pwm->rst)) in sun4i_pwm_probe() [all …]
|
A D | pwm-tegra.c | 195 if (!pwm_is_enabled(pwm)) in tegra_pwm_config() 242 pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL); in tegra_pwm_probe() 243 if (!pwm) in tegra_pwm_probe() 247 pwm->dev = &pdev->dev; in tegra_pwm_probe() 250 if (IS_ERR(pwm->regs)) in tegra_pwm_probe() 256 if (IS_ERR(pwm->clk)) in tegra_pwm_probe() 260 ret = clk_set_rate(pwm->clk, pwm->soc->max_frequency); in tegra_pwm_probe() 271 pwm->clk_rate = clk_get_rate(pwm->clk); in tegra_pwm_probe() 274 pwm->min_period_ns = in tegra_pwm_probe() 278 if (IS_ERR(pwm->rst)) { in tegra_pwm_probe() [all …]
|
A D | sysfs.c | 19 struct pwm_device *pwm; member 33 return export->pwm; in child_to_pwm_device() 53 struct pwm_device *pwm = export->pwm; in period_store() local 88 struct pwm_device *pwm = export->pwm; in duty_cycle_store() local 123 struct pwm_device *pwm = export->pwm; in enable_store() local 182 struct pwm_device *pwm = export->pwm; in polarity_store() local 232 ATTRIBUTE_GROUPS(pwm); 256 export->pwm = pwm; in pwm_export_child() 305 pwm_put(pwm); in pwm_unexport_child() 327 if (IS_ERR(pwm)) in export_store() [all …]
|
A D | pwm-lpss.c | 79 if (pwm_lpss_read(pwm) & PWM_SW_UPDATE) { in pwm_lpss_is_updating() 112 ctrl = pwm_lpss_read(pwm); in pwm_lpss_prepare() 118 pwm_lpss_write(pwm, ctrl); in pwm_lpss_prepare() 125 pwm_lpss_write(pwm, pwm_lpss_read(pwm) | PWM_ENABLE); in pwm_lpss_cond_enable() 129 struct pwm_device *pwm, in pwm_lpss_prepare_enable() argument 134 ret = pwm_lpss_is_updating(pwm); in pwm_lpss_prepare_enable() 140 ret = pwm_lpss_wait_for_update(pwm); in pwm_lpss_prepare_enable() 155 if (!pwm_is_enabled(pwm)) { in pwm_lpss_apply() 163 } else if (pwm_is_enabled(pwm)) { in pwm_lpss_apply() 164 pwm_lpss_write(pwm, pwm_lpss_read(pwm) & ~PWM_ENABLE); in pwm_lpss_apply() [all …]
|
A D | pwm-twl.c | 32 #define TWL4030_PWM_TOGGLE(pwm, x) ((x) << (pwm)) argument 46 #define TWL6030_PWM_TOGGLE(pwm, x) ((x) << (pwm * 3)) argument 83 base = pwm->hwpwm * 3; in twl_pwm_config() 113 val |= TWL4030_PWM_TOGGLE(pwm->hwpwm, TWL4030_PWMX_ENABLE); in twl4030_pwm_enable() 137 val &= ~TWL4030_PWM_TOGGLE(pwm->hwpwm, TWL4030_PWMX_ENABLE); in twl4030_pwm_disable() 159 if (pwm->hwpwm == 1) { in twl4030_pwm_request() 197 if (pwm->hwpwm == 1) in twl4030_pwm_free() 230 val &= ~TWL6030_PWM_TOGGLE(pwm->hwpwm, TWL6030_PWMXR); in twl6030_pwm_enable() 252 val |= TWL6030_PWM_TOGGLE(pwm->hwpwm, TWL6030_PWMXR); in twl6030_pwm_disable() 261 val |= TWL6030_PWM_TOGGLE(pwm->hwpwm, TWL6030_PWMXEN); in twl6030_pwm_disable() [all …]
|
A D | pwm-stmpe.c | 48 pwm->hwpwm); in stmpe_24xx_pwm_enable() 57 pwm->hwpwm); in stmpe_24xx_pwm_enable() 74 pwm->hwpwm); in stmpe_24xx_pwm_disable() 83 pwm->hwpwm); in stmpe_24xx_pwm_disable() 117 pin = pwm->hwpwm; in stmpe_24xx_pwm_config() 128 pwm->hwpwm); in stmpe_24xx_pwm_config() 134 switch (pwm->hwpwm) { in stmpe_24xx_pwm_config() 275 pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL); in stmpe_pwm_probe() 276 if (!pwm) in stmpe_pwm_probe() 279 pwm->stmpe = stmpe; in stmpe_pwm_probe() [all …]
|
A D | pwm-vt8500.c | 31 #define REG_CTRL(pwm) (((pwm) << 4) + 0x00) argument 32 #define REG_SCALAR(pwm) (((pwm) << 4) + 0x04) argument 33 #define REG_PERIOD(pwm) (((pwm) << 4) + 0x08) argument 34 #define REG_DUTY(pwm) (((pwm) << 4) + 0x0C) argument 114 writel(dc, vt8500->base + REG_DUTY(pwm->hwpwm)); in vt8500_pwm_config() 117 val = readl(vt8500->base + REG_CTRL(pwm->hwpwm)); in vt8500_pwm_config() 119 writel(val, vt8500->base + REG_CTRL(pwm->hwpwm)); in vt8500_pwm_config() 138 val = readl(vt8500->base + REG_CTRL(pwm->hwpwm)); in vt8500_pwm_enable() 140 writel(val, vt8500->base + REG_CTRL(pwm->hwpwm)); in vt8500_pwm_enable() 151 val = readl(vt8500->base + REG_CTRL(pwm->hwpwm)); in vt8500_pwm_disable() [all …]
|
A D | pwm-img.c | 164 val |= BIT(pwm->hwpwm); in img_pwm_enable() 180 val &= ~BIT(pwm->hwpwm); in img_pwm_disable() 243 struct img_pwm_chip *pwm; in img_pwm_probe() local 246 pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL); in img_pwm_probe() 247 if (!pwm) in img_pwm_probe() 250 pwm->dev = &pdev->dev; in img_pwm_probe() 253 if (IS_ERR(pwm->base)) in img_pwm_probe() 254 return PTR_ERR(pwm->base); in img_pwm_probe() 267 if (IS_ERR(pwm->sys_clk)) { in img_pwm_probe() 299 pwm->max_period_ns = val; in img_pwm_probe() [all …]
|
A D | pwm-jz4740.c | 57 if (!jz4740_pwm_can_use_chn(jz, pwm->hwpwm)) in jz4740_pwm_request() 60 snprintf(name, sizeof(name), "timer%u", pwm->hwpwm); in jz4740_pwm_request() 73 pwm_set_chip_data(pwm, clk); in jz4740_pwm_request() 80 struct clk *clk = pwm_get_chip_data(pwm); in jz4740_pwm_free() 91 regmap_update_bits(jz->map, TCU_REG_TCSRc(pwm->hwpwm), in jz4740_pwm_enable() 95 regmap_write(jz->map, TCU_REG_TESR, BIT(pwm->hwpwm)); in jz4740_pwm_enable() 109 regmap_write(jz->map, TCU_REG_TDFRc(pwm->hwpwm), 0x0); in jz4740_pwm_disable() 120 regmap_write(jz->map, TCU_REG_TECR, BIT(pwm->hwpwm)); in jz4740_pwm_disable() 128 struct clk *clk = pwm_get_chip_data(pwm); in jz4740_pwm_apply() 169 jz4740_pwm_disable(chip, pwm); in jz4740_pwm_apply() [all …]
|
A D | pwm-twl-led.c | 81 base = pwm->hwpwm * 2 + TWL4030_PWMA_REG; in twl4030_pwmled_config() 101 dev_err(chip->dev, "%s: Failed to read LEDEN\n", pwm->label); in twl4030_pwmled_enable() 105 val |= TWL4030_LED_TOGGLE(pwm->hwpwm, TWL4030_LED_PINS); in twl4030_pwmled_enable() 117 struct pwm_device *pwm) in twl4030_pwmled_disable() argument 130 val &= ~TWL4030_LED_TOGGLE(pwm->hwpwm, TWL4030_LED_PINS); in twl4030_pwmled_disable() 167 pwm->label); in twl6030_pwmled_enable() 184 struct pwm_device *pwm) in twl6030_pwmled_disable() argument 194 pwm->label); in twl6030_pwmled_disable() 219 pwm->label); in twl6030_pwmled_request() 245 pwm->label); in twl6030_pwmled_free() [all …]
|
A D | pwm-crc.c | 78 pwm_get_period(pwm) != state->period) { in crc_pwm_apply() 90 if (pwm_is_enabled(pwm) && state->enabled && in crc_pwm_apply() 91 pwm_get_period(pwm) != state->period) { in crc_pwm_apply() 100 if (pwm_get_period(pwm) != state->period || in crc_pwm_apply() 161 struct crystalcove_pwm *pwm; in crystalcove_pwm_probe() local 165 pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL); in crystalcove_pwm_probe() 166 if (!pwm) in crystalcove_pwm_probe() 169 pwm->chip.dev = &pdev->dev; in crystalcove_pwm_probe() 170 pwm->chip.ops = &crc_pwm_ops; in crystalcove_pwm_probe() 171 pwm->chip.npwm = 1; in crystalcove_pwm_probe() [all …]
|
/linux/include/linux/ |
A D | pwm.h | 86 unsigned int pwm; member 108 *state = pwm->state; in pwm_get_state() 115 pwm_get_state(pwm, &state); in pwm_is_enabled() 122 if (pwm) in pwm_set_period() 137 if (pwm) in pwm_set_duty_cycle() 162 *args = pwm->args; in pwm_get_args() 188 pwm_get_state(pwm, state); in pwm_init_state() 191 pwm_get_args(pwm, &args); in pwm_init_state() 345 if (!pwm) in pwm_config() 370 if (!pwm) in pwm_enable() [all …]
|
/linux/Documentation/devicetree/bindings/pwm/ |
A D | renesas,pwm-rcar.yaml | 4 $id: http://devicetree.org/schemas/pwm/renesas,pwm-rcar.yaml# 16 - renesas,pwm-r8a7742 # RZ/G1H 17 - renesas,pwm-r8a7743 # RZ/G1M 38 - const: renesas,pwm-rcar 44 '#pwm-cells': 62 - '#pwm-cells' 72 - renesas,pwm-r8a7778 73 - renesas,pwm-r8a7779 85 pwm0: pwm@e6e30000 { 86 compatible = "renesas,pwm-r8a7743", "renesas,pwm-rcar"; [all …]
|
A D | imx-pwm.yaml | 4 $id: http://devicetree.org/schemas/pwm/imx-pwm.yaml# 13 "#pwm-cells": 24 - fsl,imx1-pwm 25 - fsl,imx27-pwm 28 - fsl,imx25-pwm 29 - fsl,imx31-pwm 30 - fsl,imx50-pwm 31 - fsl,imx51-pwm 62 - "#pwm-cells" 75 pwm@53fb4000 { [all …]
|
A D | pwm-rockchip.yaml | 4 $id: http://devicetree.org/schemas/pwm/pwm-rockchip.yaml# 15 - const: rockchip,rk2928-pwm 16 - const: rockchip,rk3288-pwm 17 - const: rockchip,rk3328-pwm 18 - const: rockchip,vop-pwm 45 "#pwm-cells": 54 - "#pwm-cells" 61 - rockchip,rk3328-pwm 73 - const: pwm 96 pwm0: pwm@20030000 { [all …]
|
A D | allwinner,sun4i-a10-pwm.yaml | 4 $id: http://devicetree.org/schemas/pwm/allwinner,sun4i-a10-pwm.yaml# 14 "#pwm-cells": 19 - const: allwinner,sun4i-a10-pwm 21 - const: allwinner,sun5i-a13-pwm 22 - const: allwinner,sun7i-a20-pwm 23 - const: allwinner,sun8i-h3-pwm 81 - "#pwm-cells" 90 pwm: pwm@1c20e00 { 94 #pwm-cells = <3>; 101 pwm@300a000 { [all …]
|
A D | pwm.txt | 8 with a property containing a 'pwm-list': 10 pwm-list ::= <single-pwm> [pwm-list] 11 single-pwm ::= <pwm-phandle> <pwm-specifier> 13 pwm-specifier : array of #pwm-cells specifying the given PWM 29 pwm: pwm { 30 #pwm-cells = <2>; 36 pwms = <&pwm 0 5000000>; 37 pwm-names = "backlight"; 47 <dt-bindings/pwm/pwm.h>) in a third cell: 54 pwm-names = "backlight"; [all …]
|
A D | pwm-samsung.yaml | 4 $id: http://devicetree.org/schemas/pwm/pwm-samsung.yaml# 52 - const: pwm-tclk0 55 - const: pwm-tclk1 58 - const: pwm-tclk0 59 - const: pwm-tclk1 68 "#pwm-cells": 74 samsung,pwm-outputs: 89 - "#pwm-cells" 95 - $ref: pwm.yaml# 112 pwm@7f006000 { [all …]
|
A D | nvidia,tegra20-pwm.txt | 6 - "nvidia,tegra30-pwm", "nvidia,tegra20-pwm": for Tegra30 7 - "nvidia,tegra114-pwm", "nvidia,tegra20-pwm": for Tegra114 8 - "nvidia,tegra124-pwm", "nvidia,tegra20-pwm": for Tegra124 9 - "nvidia,tegra132-pwm", "nvidia,tegra20-pwm": for Tegra132 10 - "nvidia,tegra210-pwm", "nvidia,tegra20-pwm": for Tegra210 14 - #pwm-cells: should be 2. See pwm.yaml in this directory for a description of 21 - pwm 38 pwm: pwm@7000a000 { 41 #pwm-cells = <2>; 44 reset-names = "pwm"; [all …]
|
/linux/drivers/input/keyboard/ |
A D | lm8323.c | 355 if (pwm->desired_brightness != pwm->brightness) in pwm_done() 456 if (pwm->running || pwm->desired_brightness == pwm->brightness) in lm8323_pwm_work() 460 up = (pwm->desired_brightness > pwm->brightness); in lm8323_pwm_work() 461 steps = abs(pwm->desired_brightness - pwm->brightness); in lm8323_pwm_work() 491 pwm->brightness = pwm->desired_brightness; in lm8323_pwm_work() 562 pwm = &lm->pwm[id - 1]; in init_pwm() 564 pwm->id = id; in init_pwm() 624 int pwm; in lm8323_probe() local 692 for (pwm = 0; pwm < LM8323_NUM_PWMS; pwm++) { in lm8323_probe() 747 if (lm->pwm[pwm].enabled) in lm8323_probe() [all …]
|
/linux/include/trace/events/ |
A D | pwm.h | 3 #define TRACE_SYSTEM pwm 11 DECLARE_EVENT_CLASS(pwm, 13 TP_PROTO(struct pwm_device *pwm, const struct pwm_state *state), 15 TP_ARGS(pwm, state), 18 __field(struct pwm_device *, pwm) 26 __entry->pwm = pwm; 34 __entry->pwm, __entry->period, __entry->duty_cycle, 39 DEFINE_EVENT(pwm, pwm_apply, 43 TP_ARGS(pwm, state) 47 DEFINE_EVENT(pwm, pwm_get, [all …]
|