Home
last modified time | relevance | path

Searched refs:pwm (Results 1 – 200 of 372) sorted by relevance

12

/linux-4.1.27/drivers/pwm/
Dpwm-renesas-tpu.c100 static void tpu_pwm_write(struct tpu_pwm_device *pwm, int reg_nr, u16 value) in tpu_pwm_write() argument
102 void __iomem *base = pwm->tpu->base + TPU_CHANNEL_OFFSET in tpu_pwm_write()
103 + pwm->channel * TPU_CHANNEL_SIZE; in tpu_pwm_write()
108 static void tpu_pwm_set_pin(struct tpu_pwm_device *pwm, in tpu_pwm_set_pin() argument
113 dev_dbg(&pwm->tpu->pdev->dev, "%u: configuring pin as %s\n", in tpu_pwm_set_pin()
114 pwm->channel, states[state]); in tpu_pwm_set_pin()
118 tpu_pwm_write(pwm, TPU_TIORn, in tpu_pwm_set_pin()
119 pwm->polarity == PWM_POLARITY_INVERSED ? in tpu_pwm_set_pin()
123 tpu_pwm_write(pwm, TPU_TIORn, in tpu_pwm_set_pin()
124 pwm->polarity == PWM_POLARITY_INVERSED ? in tpu_pwm_set_pin()
[all …]
Dcore.c44 static struct pwm_device *pwm_to_device(unsigned int pwm) in pwm_to_device() argument
46 return radix_tree_lookup(&pwm_tree, pwm); in pwm_to_device()
49 static int alloc_pwms(int pwm, unsigned int count) in alloc_pwms() argument
54 if (pwm >= MAX_PWMS) in alloc_pwms()
57 if (pwm >= 0) in alloc_pwms()
58 from = pwm; in alloc_pwms()
63 if (pwm >= 0 && start != pwm) in alloc_pwms()
77 struct pwm_device *pwm = &chip->pwms[i]; in free_pwms() local
78 radix_tree_delete(&pwm_tree, pwm->pwm); in free_pwms()
110 static int pwm_device_request(struct pwm_device *pwm, const char *label) in pwm_device_request() argument
[all …]
DMakefile3 obj-$(CONFIG_PWM_AB8500) += pwm-ab8500.o
4 obj-$(CONFIG_PWM_ATMEL) += pwm-atmel.o
5 obj-$(CONFIG_PWM_ATMEL_HLCDC_PWM) += pwm-atmel-hlcdc.o
6 obj-$(CONFIG_PWM_ATMEL_TCB) += pwm-atmel-tcb.o
7 obj-$(CONFIG_PWM_BCM_KONA) += pwm-bcm-kona.o
8 obj-$(CONFIG_PWM_BCM2835) += pwm-bcm2835.o
9 obj-$(CONFIG_PWM_BFIN) += pwm-bfin.o
10 obj-$(CONFIG_PWM_CLPS711X) += pwm-clps711x.o
11 obj-$(CONFIG_PWM_EP93XX) += pwm-ep93xx.o
12 obj-$(CONFIG_PWM_FSL_FTM) += pwm-fsl-ftm.o
[all …]
Dpwm-sun4i.c98 static int sun4i_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in sun4i_pwm_config() argument
156 if (sun4i_pwm->data->has_rdy && (val & PWM_RDY(pwm->hwpwm))) { in sun4i_pwm_config()
162 clk_gate = val & BIT_CH(PWM_CLK_GATING, pwm->hwpwm); in sun4i_pwm_config()
164 val &= ~BIT_CH(PWM_CLK_GATING, pwm->hwpwm); in sun4i_pwm_config()
169 val &= ~BIT_CH(PWM_PRESCAL_MASK, pwm->hwpwm); in sun4i_pwm_config()
170 val |= BIT_CH(prescaler, pwm->hwpwm); in sun4i_pwm_config()
174 sun4i_pwm_writel(sun4i_pwm, val, PWM_CH_PRD(pwm->hwpwm)); in sun4i_pwm_config()
188 static int sun4i_pwm_set_polarity(struct pwm_chip *chip, struct pwm_device *pwm, in sun4i_pwm_set_polarity() argument
205 val &= ~BIT_CH(PWM_ACT_STATE, pwm->hwpwm); in sun4i_pwm_set_polarity()
207 val |= BIT_CH(PWM_ACT_STATE, pwm->hwpwm); in sun4i_pwm_set_polarity()
[all …]
Dpwm-img.c88 static int img_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in img_pwm_config() argument
127 val &= ~(PWM_CTRL_CFG_DIV_MASK << PWM_CTRL_CFG_DIV_SHIFT(pwm->hwpwm)); in img_pwm_config()
129 PWM_CTRL_CFG_DIV_SHIFT(pwm->hwpwm); in img_pwm_config()
134 img_pwm_writel(pwm_chip, PWM_CH_CFG(pwm->hwpwm), val); in img_pwm_config()
139 static int img_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in img_pwm_enable() argument
145 val |= BIT(pwm->hwpwm); in img_pwm_enable()
150 PERIP_PWM_PDM_CONTROL_CH_SHIFT(pwm->hwpwm), 0); in img_pwm_enable()
155 static void img_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in img_pwm_disable() argument
161 val &= ~BIT(pwm->hwpwm); in img_pwm_disable()
191 struct img_pwm_chip *pwm; in img_pwm_probe() local
[all …]
Dpwm-jz4740.c50 static int jz4740_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_request() argument
52 unsigned int gpio = jz4740_pwm_gpio_list[pwm->hwpwm]; in jz4740_pwm_request()
59 if (pwm->hwpwm < 2) in jz4740_pwm_request()
62 ret = gpio_request(gpio, pwm->label); in jz4740_pwm_request()
71 jz4740_timer_start(pwm->hwpwm); in jz4740_pwm_request()
76 static void jz4740_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_free() argument
78 unsigned int gpio = jz4740_pwm_gpio_list[pwm->hwpwm]; in jz4740_pwm_free()
80 jz4740_timer_set_ctrl(pwm->hwpwm, 0); in jz4740_pwm_free()
85 jz4740_timer_stop(pwm->hwpwm); in jz4740_pwm_free()
88 static int jz4740_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in jz4740_pwm_enable() argument
[all …]
Dpwm-bfin.c30 static int bfin_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in bfin_pwm_request() argument
35 if (pwm->hwpwm >= ARRAY_SIZE(pwm_to_gptimer_per)) in bfin_pwm_request()
42 priv->pin = pwm_to_gptimer_per[pwm->hwpwm]; in bfin_pwm_request()
50 pwm_set_chip_data(pwm, priv); in bfin_pwm_request()
55 static void bfin_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in bfin_pwm_free() argument
57 struct bfin_pwm *priv = pwm_get_chip_data(pwm); in bfin_pwm_free()
65 static int bfin_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in bfin_pwm_config() argument
68 struct bfin_pwm *priv = pwm_get_chip_data(pwm); in bfin_pwm_config()
90 static int bfin_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in bfin_pwm_enable() argument
92 struct bfin_pwm *priv = pwm_get_chip_data(pwm); in bfin_pwm_enable()
[all …]
Dpwm-tegra.c66 static int tegra_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in tegra_pwm_config() argument
115 if (!test_bit(PWMF_ENABLED, &pwm->flags)) { in tegra_pwm_config()
122 pwm_writel(pc, pwm->hwpwm, val); in tegra_pwm_config()
127 if (!test_bit(PWMF_ENABLED, &pwm->flags)) in tegra_pwm_config()
133 static int tegra_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in tegra_pwm_enable() argument
143 val = pwm_readl(pc, pwm->hwpwm); in tegra_pwm_enable()
145 pwm_writel(pc, pwm->hwpwm, val); in tegra_pwm_enable()
150 static void tegra_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in tegra_pwm_disable() argument
155 val = pwm_readl(pc, pwm->hwpwm); in tegra_pwm_disable()
157 pwm_writel(pc, pwm->hwpwm, val); in tegra_pwm_disable()
[all …]
Dsysfs.c28 struct pwm_device *pwm; member
40 return export->pwm; in child_to_pwm_device()
47 const struct pwm_device *pwm = child_to_pwm_device(child); in pwm_period_show() local
49 return sprintf(buf, "%u\n", pwm->period); in pwm_period_show()
56 struct pwm_device *pwm = child_to_pwm_device(child); in pwm_period_store() local
64 ret = pwm_config(pwm, pwm->duty_cycle, val); in pwm_period_store()
73 const struct pwm_device *pwm = child_to_pwm_device(child); in pwm_duty_cycle_show() local
75 return sprintf(buf, "%u\n", pwm->duty_cycle); in pwm_duty_cycle_show()
82 struct pwm_device *pwm = child_to_pwm_device(child); in pwm_duty_cycle_store() local
90 ret = pwm_config(pwm, val, pwm->period); in pwm_duty_cycle_store()
[all …]
Dpwm-pxa.c63 static int pxa_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in pxa_pwm_config() argument
72 offset = pwm->hwpwm ? 0x10 : 0; in pxa_pwm_config()
107 static int pxa_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in pxa_pwm_enable() argument
114 static void pxa_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in pxa_pwm_disable() argument
157 struct pwm_device *pwm; in pxa_pwm_of_xlate() local
159 pwm = pwm_request_from_chip(pc, 0, NULL); in pxa_pwm_of_xlate()
160 if (IS_ERR(pwm)) in pxa_pwm_of_xlate()
161 return pwm; in pxa_pwm_of_xlate()
163 pwm_set_period(pwm, args->args[0]); in pxa_pwm_of_xlate()
165 return pwm; in pxa_pwm_of_xlate()
[all …]
Dpwm-twl.c43 #define TWL4030_PWM_TOGGLE(pwm, x) ((x) << (pwm)) argument
57 #define TWL6030_PWM_TOGGLE(pwm, x) ((x) << (pwm * 3)) argument
71 static int twl_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in twl_pwm_config() argument
94 base = pwm->hwpwm * 3; in twl_pwm_config()
100 dev_err(chip->dev, "%s: Failed to configure PWM\n", pwm->label); in twl_pwm_config()
105 static int twl4030_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in twl4030_pwm_enable() argument
114 dev_err(chip->dev, "%s: Failed to read GPBR1\n", pwm->label); in twl4030_pwm_enable()
118 val |= TWL4030_PWM_TOGGLE(pwm->hwpwm, TWL4030_PWMXCLK_ENABLE); in twl4030_pwm_enable()
122 dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label); in twl4030_pwm_enable()
124 val |= TWL4030_PWM_TOGGLE(pwm->hwpwm, TWL4030_PWMX_ENABLE); in twl4030_pwm_enable()
[all …]
Dpwm-vt8500.c39 #define REG_CTRL(pwm) (((pwm) << 4) + 0x00) argument
40 #define REG_SCALAR(pwm) (((pwm) << 4) + 0x04) argument
41 #define REG_PERIOD(pwm) (((pwm) << 4) + 0x08) argument
42 #define REG_DUTY(pwm) (((pwm) << 4) + 0x0C) argument
80 static int vt8500_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in vt8500_pwm_config() argument
116 writel(prescale, vt8500->base + REG_SCALAR(pwm->hwpwm)); in vt8500_pwm_config()
117 pwm_busy_wait(vt8500, pwm->hwpwm, STATUS_SCALAR_UPDATE); in vt8500_pwm_config()
119 writel(pv, vt8500->base + REG_PERIOD(pwm->hwpwm)); in vt8500_pwm_config()
120 pwm_busy_wait(vt8500, pwm->hwpwm, STATUS_PERIOD_UPDATE); in vt8500_pwm_config()
122 writel(dc, vt8500->base + REG_DUTY(pwm->hwpwm)); in vt8500_pwm_config()
[all …]
Dpwm-pca9685.c69 static int pca9685_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in pca9685_pwm_config() argument
77 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
80 reg = LED_N_OFF_H(pwm->hwpwm); in pca9685_pwm_config()
88 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
91 reg = LED_N_ON_H(pwm->hwpwm); in pca9685_pwm_config()
101 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
104 reg = LED_N_OFF_L(pwm->hwpwm); in pca9685_pwm_config()
108 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config()
111 reg = LED_N_OFF_H(pwm->hwpwm); in pca9685_pwm_config()
118 static int pca9685_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in pca9685_pwm_enable() argument
[all …]
Dpwm-twl-led.c69 static int twl4030_pwmled_config(struct pwm_chip *chip, struct pwm_device *pwm, in twl4030_pwmled_config() argument
92 base = pwm->hwpwm * 2 + TWL4030_PWMA_REG; in twl4030_pwmled_config()
98 dev_err(chip->dev, "%s: Failed to configure PWM\n", pwm->label); in twl4030_pwmled_config()
103 static int twl4030_pwmled_enable(struct pwm_chip *chip, struct pwm_device *pwm) in twl4030_pwmled_enable() argument
112 dev_err(chip->dev, "%s: Failed to read LEDEN\n", pwm->label); in twl4030_pwmled_enable()
116 val |= TWL4030_LED_TOGGLE(pwm->hwpwm, TWL4030_LED_PINS); in twl4030_pwmled_enable()
120 dev_err(chip->dev, "%s: Failed to enable PWM\n", pwm->label); in twl4030_pwmled_enable()
128 struct pwm_device *pwm) in twl4030_pwmled_disable() argument
137 dev_err(chip->dev, "%s: Failed to read LEDEN\n", pwm->label); in twl4030_pwmled_disable()
141 val &= ~TWL4030_LED_TOGGLE(pwm->hwpwm, TWL4030_LED_PINS); in twl4030_pwmled_disable()
[all …]
Dpwm-atmel.c63 void (*config)(struct pwm_chip *chip, struct pwm_device *pwm,
101 static int atmel_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in atmel_pwm_config() argument
111 if (test_bit(PWMF_ENABLED, &pwm->flags) && (period_ns != pwm->period)) { in atmel_pwm_config()
143 val = atmel_pwm_ch_readl(atmel_pwm, pwm->hwpwm, PWM_CMR); in atmel_pwm_config()
145 atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, PWM_CMR, val); in atmel_pwm_config()
146 atmel_pwm->config(chip, pwm, dty, prd); in atmel_pwm_config()
152 static void atmel_pwm_config_v1(struct pwm_chip *chip, struct pwm_device *pwm, in atmel_pwm_config_v1() argument
158 if (test_bit(PWMF_ENABLED, &pwm->flags)) { in atmel_pwm_config_v1()
163 atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, PWMV1_CUPD, dty); in atmel_pwm_config_v1()
165 val = atmel_pwm_ch_readl(atmel_pwm, pwm->hwpwm, PWM_CMR); in atmel_pwm_config_v1()
[all …]
Dpwm-atmel-tcb.c53 struct pwm_device *pwm, in atmel_tcb_pwm_set_polarity() argument
56 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm); in atmel_tcb_pwm_set_polarity()
64 struct pwm_device *pwm) in atmel_tcb_pwm_request() argument
70 unsigned group = pwm->hwpwm / 2; in atmel_tcb_pwm_request()
71 unsigned index = pwm->hwpwm % 2; in atmel_tcb_pwm_request()
85 pwm_set_chip_data(pwm, tcbpwm); in atmel_tcb_pwm_request()
116 tcbpwmc->pwms[pwm->hwpwm] = tcbpwm; in atmel_tcb_pwm_request()
121 static void atmel_tcb_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in atmel_tcb_pwm_free() argument
124 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm); in atmel_tcb_pwm_free()
127 clk_disable_unprepare(tc->clk[pwm->hwpwm / 2]); in atmel_tcb_pwm_free()
[all …]
Dpwm-clps711x.c48 static unsigned int clps711x_get_duty(struct pwm_device *pwm, unsigned int v) in clps711x_get_duty() argument
51 return DIV_ROUND_CLOSEST(v * 0xf, pwm_get_period(pwm)); in clps711x_get_duty()
54 static int clps711x_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in clps711x_pwm_request() argument
63 pwm_set_period(pwm, DIV_ROUND_CLOSEST(NSEC_PER_SEC, freq)); in clps711x_pwm_request()
68 static int clps711x_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in clps711x_pwm_config() argument
74 if (period_ns != pwm_get_period(pwm)) in clps711x_pwm_config()
77 duty = clps711x_get_duty(pwm, duty_ns); in clps711x_pwm_config()
78 clps711x_pwm_update_val(priv, pwm->hwpwm, duty); in clps711x_pwm_config()
83 static int clps711x_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in clps711x_pwm_enable() argument
88 duty = clps711x_get_duty(pwm, pwm_get_duty_cycle(pwm)); in clps711x_pwm_enable()
[all …]
Dpwm-bcm2835.c42 static int bcm2835_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in bcm2835_pwm_request() argument
48 value &= ~(PWM_CONTROL_MASK << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_request()
49 value |= (PWM_MODE << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_request()
55 static void bcm2835_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in bcm2835_pwm_free() argument
61 value &= ~(PWM_CONTROL_MASK << PWM_CONTROL_SHIFT(pwm->hwpwm)); in bcm2835_pwm_free()
65 static int bcm2835_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in bcm2835_pwm_config() argument
76 writel(duty_ns / pc->scaler, pc->base + DUTY(pwm->hwpwm)); in bcm2835_pwm_config()
77 writel(period_ns / pc->scaler, pc->base + PERIOD(pwm->hwpwm)); in bcm2835_pwm_config()
82 static int bcm2835_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in bcm2835_pwm_enable() argument
88 value |= PWM_ENABLE << PWM_CONTROL_SHIFT(pwm->hwpwm); in bcm2835_pwm_enable()
[all …]
Dpwm-samsung.c120 static void pwm_samsung_set_divisor(struct samsung_pwm_chip *pwm, in pwm_samsung_set_divisor() argument
128 bits = (fls(divisor) - 1) - pwm->variant.div_base; in pwm_samsung_set_divisor()
132 reg = readl(pwm->base + REG_TCFG1); in pwm_samsung_set_divisor()
135 writel(reg, pwm->base + REG_TCFG1); in pwm_samsung_set_divisor()
205 static int pwm_samsung_request(struct pwm_chip *chip, struct pwm_device *pwm) in pwm_samsung_request() argument
210 if (!(our_chip->variant.output_mask & BIT(pwm->hwpwm))) { in pwm_samsung_request()
213 pwm->hwpwm); in pwm_samsung_request()
221 pwm_set_chip_data(pwm, our_chan); in pwm_samsung_request()
226 static void pwm_samsung_free(struct pwm_chip *chip, struct pwm_device *pwm) in pwm_samsung_free() argument
228 devm_kfree(chip->dev, pwm_get_chip_data(pwm)); in pwm_samsung_free()
[all …]
Dpwm-lpc32xx.c34 static int lpc32xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in lpc32xx_pwm_config() argument
72 val = readl(lpc32xx->base + (pwm->hwpwm << 2)); in lpc32xx_pwm_config()
75 writel(val, lpc32xx->base + (pwm->hwpwm << 2)); in lpc32xx_pwm_config()
80 static int lpc32xx_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in lpc32xx_pwm_enable() argument
90 val = readl(lpc32xx->base + (pwm->hwpwm << 2)); in lpc32xx_pwm_enable()
92 writel(val, lpc32xx->base + (pwm->hwpwm << 2)); in lpc32xx_pwm_enable()
97 static void lpc32xx_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in lpc32xx_pwm_disable() argument
102 val = readl(lpc32xx->base + (pwm->hwpwm << 2)); in lpc32xx_pwm_disable()
104 writel(val, lpc32xx->base + (pwm->hwpwm << 2)); in lpc32xx_pwm_disable()
Dpwm-mxs.c50 static int mxs_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in mxs_pwm_config() argument
80 if (!test_bit(PWMF_ENABLED, &pwm->flags)) { in mxs_pwm_config()
87 mxs->base + PWM_ACTIVE0 + pwm->hwpwm * 0x20); in mxs_pwm_config()
90 mxs->base + PWM_PERIOD0 + pwm->hwpwm * 0x20); in mxs_pwm_config()
95 if (!test_bit(PWMF_ENABLED, &pwm->flags)) in mxs_pwm_config()
101 static int mxs_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in mxs_pwm_enable() argument
110 writel(1 << pwm->hwpwm, mxs->base + PWM_CTRL + SET); in mxs_pwm_enable()
115 static void mxs_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in mxs_pwm_disable() argument
119 writel(1 << pwm->hwpwm, mxs->base + PWM_CTRL + CLR); in mxs_pwm_disable()
Dpwm-lp3943.c64 static int lp3943_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in lp3943_pwm_request() argument
69 pwm_map = lp3943_pwm_request_map(lp3943_pwm, pwm->hwpwm); in lp3943_pwm_request()
73 return pwm_set_chip_data(pwm, pwm_map); in lp3943_pwm_request()
90 static void lp3943_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in lp3943_pwm_free() argument
93 struct lp3943_pwm_map *pwm_map = pwm_get_chip_data(pwm); in lp3943_pwm_free()
98 static int lp3943_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in lp3943_pwm_config() argument
116 if (pwm->hwpwm == 0) { in lp3943_pwm_config()
156 static int lp3943_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in lp3943_pwm_enable() argument
159 struct lp3943_pwm_map *pwm_map = pwm_get_chip_data(pwm); in lp3943_pwm_enable()
162 if (pwm->hwpwm == 0) in lp3943_pwm_enable()
[all …]
DKconfig42 will be called pwm-ab8500.
51 will be called pwm-atmel.
63 will be called pwm-atmel-hlcdc.
75 will be called pwm-atmel-tcb.
84 will be called pwm-bcm-kona.
93 will be called pwm-bcm2835.
102 will be called pwm-bfin.
112 will be called pwm-clps711x.
121 will be called pwm-ep93xx.
132 will be called pwm-fsl-ftm.
[all …]
Dpwm-spear.c77 static int spear_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in spear_pwm_config() argument
128 spear_pwm_writel(pc, pwm->hwpwm, PWMCR, in spear_pwm_config()
130 spear_pwm_writel(pc, pwm->hwpwm, PWMDCR, dc); in spear_pwm_config()
131 spear_pwm_writel(pc, pwm->hwpwm, PWMPCR, pv); in spear_pwm_config()
137 static int spear_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in spear_pwm_enable() argument
147 val = spear_pwm_readl(pc, pwm->hwpwm, PWMCR); in spear_pwm_enable()
149 spear_pwm_writel(pc, pwm->hwpwm, PWMCR, val); in spear_pwm_enable()
154 static void spear_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in spear_pwm_disable() argument
159 val = spear_pwm_readl(pc, pwm->hwpwm, PWMCR); in spear_pwm_disable()
161 spear_pwm_writel(pc, pwm->hwpwm, PWMCR, val); in spear_pwm_disable()
Dpwm-bcm-kona.c94 static int kona_pwmc_config(struct pwm_chip *chip, struct pwm_device *pwm, in kona_pwmc_config() argument
100 unsigned int value, chan = pwm->hwpwm; in kona_pwmc_config()
137 if (test_bit(PWMF_ENABLED, &pwm->flags)) { in kona_pwmc_config()
153 static int kona_pwmc_set_polarity(struct pwm_chip *chip, struct pwm_device *pwm, in kona_pwmc_set_polarity() argument
157 unsigned int chan = pwm->hwpwm; in kona_pwmc_set_polarity()
186 static int kona_pwmc_enable(struct pwm_chip *chip, struct pwm_device *pwm) in kona_pwmc_enable() argument
197 ret = kona_pwmc_config(chip, pwm, pwm->duty_cycle, pwm->period); in kona_pwmc_enable()
206 static void kona_pwmc_disable(struct pwm_chip *chip, struct pwm_device *pwm) in kona_pwmc_disable() argument
209 unsigned int chan = pwm->hwpwm; in kona_pwmc_disable()
Dpwm-tiecap.c65 static int ecap_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in ecap_pwm_config() argument
100 if (!test_bit(PWMF_ENABLED, &pwm->flags)) { in ecap_pwm_config()
114 if (!test_bit(PWMF_ENABLED, &pwm->flags)) { in ecap_pwm_config()
125 static int ecap_pwm_set_polarity(struct pwm_chip *chip, struct pwm_device *pwm, in ecap_pwm_set_polarity() argument
145 static int ecap_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in ecap_pwm_enable() argument
163 static void ecap_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in ecap_pwm_disable() argument
180 static void ecap_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in ecap_pwm_free() argument
182 if (test_bit(PWMF_ENABLED, &pwm->flags)) { in ecap_pwm_free()
304 struct pwm_device *pwm = pc->chip.pwms; in ecap_pwm_suspend() local
309 if (test_bit(PWMF_ENABLED, &pwm->flags)) in ecap_pwm_suspend()
[all …]
Dpwm-ep93xx.c56 static int ep93xx_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in ep93xx_pwm_request() argument
63 static void ep93xx_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in ep93xx_pwm_free() argument
70 static int ep93xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in ep93xx_pwm_config() argument
85 if (!test_bit(PWMF_ENABLED, &pwm->flags)) { in ep93xx_pwm_config()
116 if (!test_bit(PWMF_ENABLED, &pwm->flags)) in ep93xx_pwm_config()
122 static int ep93xx_pwm_polarity(struct pwm_chip *chip, struct pwm_device *pwm, in ep93xx_pwm_polarity() argument
146 static int ep93xx_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in ep93xx_pwm_enable() argument
160 static void ep93xx_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in ep93xx_pwm_disable() argument
Dpwm-tiehrpwm.c236 static int ehrpwm_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in ehrpwm_pwm_config() argument
274 if (i == pwm->hwpwm) in ehrpwm_pwm_config()
283 pc->period_cycles[pwm->hwpwm] = period_cycles; in ehrpwm_pwm_config()
310 if (pwm->hwpwm == 1) in ehrpwm_pwm_config()
324 struct pwm_device *pwm, enum pwm_polarity polarity) in ehrpwm_pwm_set_polarity() argument
329 pc->polarity[pwm->hwpwm] = polarity; in ehrpwm_pwm_set_polarity()
333 static int ehrpwm_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in ehrpwm_pwm_enable() argument
343 if (pwm->hwpwm) { in ehrpwm_pwm_enable()
358 configure_polarity(pc, pwm->hwpwm); in ehrpwm_pwm_enable()
373 static void ehrpwm_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in ehrpwm_pwm_disable() argument
[all …]
Dpwm-rockchip.c53 struct pwm_device *pwm, bool enable);
62 struct pwm_device *pwm, bool enable) in rockchip_pwm_set_enable_v1() argument
79 struct pwm_device *pwm, bool enable) in rockchip_pwm_set_enable_v2() argument
86 if (pwm->polarity == PWM_POLARITY_INVERSED) in rockchip_pwm_set_enable_v2()
101 static int rockchip_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in rockchip_pwm_config() argument
138 struct pwm_device *pwm, in rockchip_pwm_set_polarity() argument
150 static int rockchip_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in rockchip_pwm_enable() argument
159 pc->data->set_enable(chip, pwm, true); in rockchip_pwm_enable()
164 static void rockchip_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in rockchip_pwm_disable() argument
168 pc->data->set_enable(chip, pwm, false); in rockchip_pwm_disable()
Dpwm-sti.c115 static int sti_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in sti_pwm_config() argument
143 ((ncfg == 1) && (pwm->hwpwm == cur->hwpwm)) || in sti_pwm_config()
144 ((ncfg == 1) && (pwm->hwpwm != cur->hwpwm) && period_same) || in sti_pwm_config()
177 ret = regmap_write(pc->regmap, STI_DS_REG(pwm->hwpwm), pwmvalx); in sti_pwm_config()
183 set_bit(pwm->hwpwm, &pc->configured); in sti_pwm_config()
184 pc->cur = pwm; in sti_pwm_config()
197 static int sti_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in sti_pwm_enable() argument
216 pwm->hwpwm); in sti_pwm_enable()
226 static void sti_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in sti_pwm_disable() argument
241 static void sti_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in sti_pwm_free() argument
[all …]
Dpwm-imx.c59 struct pwm_device *pwm, int duty_ns, int period_ns);
66 struct pwm_device *pwm, int duty_ns, int period_ns) in imx_pwm_config_v1() argument
110 struct pwm_device *pwm, int duty_ns, int period_ns) in imx_pwm_config_v2() argument
117 bool enable = test_bit(PWMF_ENABLED, &pwm->flags); in imx_pwm_config_v2()
132 period_ms = DIV_ROUND_UP(pwm->period, NSEC_PER_MSEC); in imx_pwm_config_v2()
203 struct pwm_device *pwm, int duty_ns, int period_ns) in imx_pwm_config() argument
212 ret = imx->config(chip, pwm, duty_ns, period_ns); in imx_pwm_config()
219 static int imx_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in imx_pwm_enable() argument
233 static void imx_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in imx_pwm_disable() argument
251 struct pwm_device *pwm, int duty_ns, int period_ns);
Dpwm-fsl-ftm.c99 static int fsl_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in fsl_pwm_request() argument
106 static void fsl_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in fsl_pwm_free() argument
233 static int fsl_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in fsl_pwm_config() argument
249 pwm->hwpwm); in fsl_pwm_config()
273 regmap_write(fpc->regmap, FTM_CSC(pwm->hwpwm), in fsl_pwm_config()
275 regmap_write(fpc->regmap, FTM_CV(pwm->hwpwm), duty); in fsl_pwm_config()
281 struct pwm_device *pwm, in fsl_pwm_set_polarity() argument
290 val |= BIT(pwm->hwpwm); in fsl_pwm_set_polarity()
292 val &= ~BIT(pwm->hwpwm); in fsl_pwm_set_polarity()
323 static int fsl_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in fsl_pwm_enable() argument
[all …]
Dpwm-ab8500.c27 static int ab8500_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in ab8500_pwm_config() argument
57 static int ab8500_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in ab8500_pwm_enable() argument
66 pwm->label, ret); in ab8500_pwm_enable()
70 static void ab8500_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in ab8500_pwm_disable() argument
79 pwm->label, ret); in ab8500_pwm_disable()
Dpwm-puv3.c41 static int puv3_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in puv3_pwm_config() argument
82 static int puv3_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in puv3_pwm_enable() argument
89 static void puv3_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in puv3_pwm_disable() argument
Dpwm-lpss.c55 static int pwm_lpss_config(struct pwm_chip *chip, struct pwm_device *pwm, in pwm_lpss_config() argument
93 static int pwm_lpss_enable(struct pwm_chip *chip, struct pwm_device *pwm) in pwm_lpss_enable() argument
104 static void pwm_lpss_disable(struct pwm_chip *chip, struct pwm_device *pwm) in pwm_lpss_disable() argument
Dpwm-atmel-hlcdc.c53 struct pwm_device *pwm, in atmel_hlcdc_pwm_config() argument
140 struct pwm_device *pwm, in atmel_hlcdc_pwm_set_polarity() argument
154 static int atmel_hlcdc_pwm_enable(struct pwm_chip *c, struct pwm_device *pwm) in atmel_hlcdc_pwm_enable() argument
180 struct pwm_device *pwm) in atmel_hlcdc_pwm_disable() argument
/linux-4.1.27/drivers/clocksource/
Dsamsung_pwm_timer.c83 static struct samsung_pwm_clocksource pwm; variable
96 reg = readl(pwm.base + REG_TCFG0); in samsung_timer_set_prescale()
99 writel(reg, pwm.base + REG_TCFG0); in samsung_timer_set_prescale()
111 bits = (fls(divisor) - 1) - pwm.variant.div_base; in samsung_timer_set_divisor()
115 reg = readl(pwm.base + REG_TCFG1); in samsung_timer_set_divisor()
118 writel(reg, pwm.base + REG_TCFG1); in samsung_timer_set_divisor()
133 tcon = __raw_readl(pwm.base + REG_TCON); in samsung_time_stop()
135 __raw_writel(tcon, pwm.base + REG_TCON); in samsung_time_stop()
151 tcon = __raw_readl(pwm.base + REG_TCON); in samsung_time_setup()
156 __raw_writel(tcnt, pwm.base + REG_TCNTB(channel)); in samsung_time_setup()
[all …]
/linux-4.1.27/include/linux/
Dpwm.h19 void pwm_free(struct pwm_device *pwm);
24 int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns);
29 int pwm_enable(struct pwm_device *pwm);
34 void pwm_disable(struct pwm_device *pwm);
41 static inline void pwm_free(struct pwm_device *pwm) in pwm_free() argument
45 static inline int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) in pwm_config() argument
50 static inline int pwm_enable(struct pwm_device *pwm) in pwm_enable() argument
55 static inline void pwm_disable(struct pwm_device *pwm) in pwm_disable() argument
86 unsigned int pwm; member
95 static inline void pwm_set_period(struct pwm_device *pwm, unsigned int period) in pwm_set_period() argument
[all …]
Df75375s.h17 u8 pwm[2]; member
Dleds-pca9532.h42 u8 pwm[2]; member
/linux-4.1.27/Documentation/devicetree/bindings/pwm/
Dpwm.txt8 with a property containing a 'pwm-list':
10 pwm-list ::= <single-pwm> [pwm-list]
11 single-pwm ::= <pwm-phandle> <pwm-specifier>
12 pwm-phandle : phandle to PWM controller node
13 pwm-specifier : array of #pwm-cells specifying the given PWM
18 An optional property "pwm-names" may contain a list of strings to label
19 each of the PWM devices listed in the "pwms" property. If no "pwm-names"
23 "pwm-names" property to map the name of the PWM device requested by the
29 pwm: pwm {
30 #pwm-cells = <2>;
[all …]
Dmxs-pwm.txt4 - compatible: should be "fsl,imx23-pwm"
6 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
8 - fsl,pwm-number: the number of PWM devices
12 pwm: pwm@80064000 {
13 compatible = "fsl,imx28-pwm", "fsl,imx23-pwm";
15 #pwm-cells = <2>;
16 fsl,pwm-number = <8>;
Dnvidia,tegra20-pwm.txt4 - compatible: For Tegra20, must contain "nvidia,tegra20-pwm". For Tegra30,
5 must contain "nvidia,tegra30-pwm". Otherwise, must contain
6 "nvidia,<chip>-pwm", plus one of the above, where <chip> is tegra114,
9 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
16 - pwm
20 pwm: pwm@7000a000 {
21 compatible = "nvidia,tegra20-pwm";
23 #pwm-cells = <2>;
26 reset-names = "pwm";
Dimg-pwm.txt4 - compatible: Should be "img,pistachio-pwm"
5 - reg: Should contain physical base address and length of pwm registers.
9 - pwm: PWM operating clock.
11 - #pwm-cells: Should be 2. See pwm.txt in this directory for the
17 pwm: pwm@18101300 {
18 compatible = "img,pistachio-pwm";
21 clock-names = "pwm", "sys";
22 #pwm-cells = <2>;
Dspear-pwm.txt5 - "st,spear320-pwm"
6 - "st,spear1340-pwm"
8 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
13 pwm: pwm@a8000000 {
14 compatible ="st,spear320-pwm";
16 #pwm-cells = <2>;
Dpwm-rockchip.txt4 - compatible: should be "rockchip,<name>-pwm"
5 "rockchip,rk2928-pwm": found on RK29XX,RK3066 and RK3188 SoCs
6 "rockchip,rk3288-pwm": found on RK3288 SoC
7 "rockchip,vop-pwm": found integrated in VOP on RK3288 SoC
10 - #pwm-cells: must be 2 (rk2928) or 3 (rk3288). See pwm.txt in this directory
15 pwm0: pwm@20030000 {
16 compatible = "rockchip,rk2928-pwm";
19 #pwm-cells = <2>;
Dimx-pwm.txt4 - compatible : should be "fsl,<soc>-pwm" and one of the following
6 - "fsl,imx1-pwm" for PWM compatible with the one integrated on i.MX1
7 - "fsl,imx27-pwm" for PWM compatible with the one integrated on i.MX27
9 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
15 - interrupts: The interrupt for the pwm controller
19 pwm1: pwm@53fb4000 {
20 #pwm-cells = <2>;
21 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
Datmel-pwm.txt5 - "atmel,at91sam9rl-pwm"
6 - "atmel,sama5d3-pwm"
8 - #pwm-cells: Should be 3. See pwm.txt in this directory for a
13 pwm0: pwm@f8034000 {
14 compatible = "atmel,at91sam9rl-pwm";
16 #pwm-cells = <3>;
20 compatible = "pwm-leds";
Dpwm-sun4i.txt5 - "allwinner,sun4i-a10-pwm"
6 - "allwinner,sun7i-a20-pwm"
8 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
14 pwm: pwm@01c20e00 {
15 compatible = "allwinner,sun7i-a20-pwm";
18 #pwm-cells = <3>;
Dpxa-pwm.txt5 - "marvell,pxa250-pwm"
6 - "marvell,pxa270-pwm"
7 - "marvell,pxa168-pwm"
8 - "marvell,pxa910-pwm"
13 - #pwm-cells: Should be 1. This cell is used to specify the period in
18 pwm0: pwm@40b00000 {
19 compatible = "marvell,pxa250-pwm";
21 #pwm-cells = <1>;
27 compatible = "pwm-backlight";
Dbrcm,kona-pwm.txt6 - compatible: should contain "brcm,kona-pwm"
9 - #pwm-cells: Should be 3. See pwm.txt in this directory for a
16 pwm: pwm@3e01a000 {
17 compatible = "brcm,bcm11351-pwm", "brcm,kona-pwm";
20 #pwm-cells = <3>;
Dti,twl-pwm.txt8 - compatible: "ti,twl4030-pwm" or "ti,twl6030-pwm"
9 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
14 twl_pwm: pwm {
15 compatible = "ti,twl6030-pwm";
16 #pwm-cells = <2>;
Dpwm-samsung.txt12 samsung,s3c2410-pwm - for 16-bit timers present on S3C24xx SoCs
13 samsung,s3c6400-pwm - for 32-bit timers present on S3C64xx SoCs
14 samsung,s5p6440-pwm - for 32-bit timers present on S5P64x0 SoCs
15 samsung,s5pc100-pwm - for 32-bit timers present on S5PC100, S5PV210,
17 samsung,exynos4210-pwm - for 32-bit timers present on Exynos4210,
25 - "pwm-tclk0" - first external PWM clock source,
26 - "pwm-tclk1" - second external PWM clock source.
32 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
37 - samsung,pwm-outputs: list of PWM channels used as PWM outputs on particular
42 pwm@7f006000 {
[all …]
Dcirrus,clps711x-pwm.txt4 - compatible: Shall contain "cirrus,clps711x-pwm".
7 - #pwm-cells: Should be 1. The cell specifies the index of the channel.
10 pwm: pwm@80000400 {
11 compatible = "cirrus,ep7312-pwm",
12 "cirrus,clps711x-pwm";
15 #pwm-cells = <1>;
Dpwm-st.txt5 - compatible : "st,pwm"
6 - #pwm-cells : Number of cells used to specify a PWM. First cell
16 - clock-names: Set to "pwm".
21 - st,pwm-num-chan: Number of available channels. If not passed, the driver
29 pwm1: pwm@fe510000 {
30 compatible = "st,pwm";
32 #pwm-cells = <2>;
39 clock-names = "pwm";
40 st,pwm-num-chan = <4>;
Dpwm-lp3943.txt4 - compatible: "ti,lp3943-pwm"
5 - #pwm-cells: Should be 2. See pwm.txt in this directory for a
29 pwm3943: pwm {
30 compatible = "ti,lp3943-pwm";
31 #pwm-cells = <2>;
41 compatible = "pwm-leds";
56 pwm-names = "lp8557";
Dpwm-bcm2835.txt4 - compatible: should be "brcm,bcm2835-pwm"
9 - #pwm-cells: Should be 2. See pwm.txt in this directory for a description of
14 pwm@2020c000 {
15 compatible = "brcm,bcm2835-pwm";
18 #pwm-cells = <2>;
23 clk_pwm: pwm {
Datmel-tcb-pwm.txt4 - compatible: should be "atmel,tcb-pwm"
5 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
12 pwm {
13 compatible = "atmel,tcb-pwm";
14 #pwm-cells = <3>;
Dvt8500-pwm.txt4 - compatible: should be "via,vt8500-pwm"
6 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
13 pwm1: pwm@d8220000 {
14 #pwm-cells = <3>;
15 compatible = "via,vt8500-pwm";
Datmel-hlcdc-pwm.txt8 "atmel,hlcdc-pwm"
12 - #pwm-cells: should be set to 3. This PWM chip use the default 3 cells
13 bindings defined in pwm.txt in this directory.
23 hlcdc_pwm: hlcdc-pwm {
24 compatible = "atmel,hlcdc-pwm";
27 #pwm-cells = <3>;
Dnxp,pca9685-pwm.txt5 - compatible: "nxp,pca9685-pwm"
6 - #pwm-cells: Should be 2. See pwm.txt in this directory for a description of
22 compatible = "nxp,pca9685-pwm";
23 #pwm-cells = <2>;
Drenesas,tpu-pwm.txt15 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
19 Please refer to pwm.txt in this directory for details of the common PWM bindings
24 tpu: pwm@e6600000 {
27 #pwm-cells = <3>;
Dlpc32xx-pwm.txt4 - compatible: should be "nxp,lpc3220-pwm"
9 pwm@0x4005C000 {
10 compatible = "nxp,lpc3220-pwm";
Dpwm-fsl-ftm.txt19 - compatible: Should be "fsl,vf610-ftm-pwm".
21 - #pwm-cells: Should be 3. See pwm.txt in this directory for a description of
39 pwm0: pwm@40038000 {
40 compatible = "fsl,vf610-ftm-pwm";
42 #pwm-cells = <3>;
Dpwm-tiehrpwm.txt7 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
20 #pwm-cells = <3>;
27 #pwm-cells = <3>;
Dpwm-tiecap.txt7 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
20 #pwm-cells = <3>;
27 #pwm-cells = <3>;
Dti,twl-pwmled.txt9 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
16 #pwm-cells = <2>;
/linux-4.1.27/drivers/input/keyboard/
Dlm8323.c159 struct lm8323_pwm pwm[LM8323_NUM_PWMS]; member
363 static void pwm_done(struct lm8323_pwm *pwm) in pwm_done() argument
365 mutex_lock(&pwm->lock); in pwm_done()
366 pwm->running = false; in pwm_done()
367 if (pwm->desired_brightness != pwm->brightness) in pwm_done()
368 schedule_work(&pwm->work); in pwm_done()
369 mutex_unlock(&pwm->lock); in pwm_done()
404 pwm_done(&lm->pwm[i]); in lm8323_irq()
428 static void lm8323_write_pwm_one(struct lm8323_pwm *pwm, int pos, u16 cmd) in lm8323_write_pwm_one() argument
430 lm8323_write(pwm->chip, 4, LM8323_CMD_PWM_WRITE, (pos << 2) | pwm->id, in lm8323_write_pwm_one()
[all …]
/linux-4.1.27/drivers/hwmon/
Dpwm-fan.c33 struct pwm_device *pwm; member
41 static int __set_pwm(struct pwm_fan_ctx *ctx, unsigned long pwm) in __set_pwm() argument
47 if (ctx->pwm_value == pwm) in __set_pwm()
50 duty = DIV_ROUND_UP(pwm * (ctx->pwm->period - 1), MAX_PWM); in __set_pwm()
51 ret = pwm_config(ctx->pwm, duty, ctx->pwm->period); in __set_pwm()
55 if (pwm == 0) in __set_pwm()
56 pwm_disable(ctx->pwm); in __set_pwm()
59 ret = pwm_enable(ctx->pwm); in __set_pwm()
64 ctx->pwm_value = pwm; in __set_pwm()
70 static void pwm_fan_update_state(struct pwm_fan_ctx *ctx, unsigned long pwm) in pwm_fan_update_state() argument
[all …]
Dmax6650.c306 int pwm; in get_pwm() local
314 pwm = 255 - (255 * (int)data->dac)/180; in get_pwm()
316 pwm = 255 - (255 * (int)data->dac)/76; in get_pwm()
318 if (pwm < 0) in get_pwm()
319 pwm = 0; in get_pwm()
321 return sprintf(buf, "%d\n", pwm); in get_pwm()
329 unsigned long pwm; in set_pwm() local
332 err = kstrtoul(buf, 10, &pwm); in set_pwm()
336 pwm = clamp_val(pwm, 0, 255); in set_pwm()
341 data->dac = 180 - (180 * pwm)/255; in set_pwm()
[all …]
Dsmsc47m1.c137 u8 pwm[3]; /* Register value (bit 0 is disable) */ member
172 data->pwm[i] = smsc47m1_read_value(data, in smsc47m1_update_device()
217 int rpm = (data->pwm[nr] & 0x7F) == 0x00 ? 0 : in get_fan()
256 return sprintf(buf, "%d\n", PWM_FROM_REG(data->pwm[attr->index])); in get_pwm()
264 return sprintf(buf, "%d\n", PWM_EN_FROM_REG(data->pwm[attr->index])); in get_pwm_en()
390 data->pwm[nr] &= 0x81; /* Preserve additional bits */ in set_pwm()
391 data->pwm[nr] |= PWM_TO_REG(val); in set_pwm()
393 data->pwm[nr]); in set_pwm()
416 data->pwm[nr] &= 0xFE; /* preserve the other bits */ in set_pwm_en()
417 data->pwm[nr] |= !val; in set_pwm_en()
[all …]
Dasb100.c165 static u8 ASB100_PWM_TO_REG(int pwm) in ASB100_PWM_TO_REG() argument
167 pwm = clamp_val(pwm, 0, 255); in ASB100_PWM_TO_REG()
168 return (u8)(pwm / 16); in ASB100_PWM_TO_REG()
212 u8 pwm; /* Register encoding */ member
557 return sprintf(buf, "%d\n", ASB100_PWM_FROM_REG(data->pwm & 0x0f)); in show_pwm1()
573 data->pwm &= 0x80; /* keep the enable bit */ in set_pwm1()
574 data->pwm |= (0x0f & ASB100_PWM_TO_REG(val)); in set_pwm1()
575 asb100_write_value(client, ASB100_REG_PWM1, data->pwm); in set_pwm1()
584 return sprintf(buf, "%d\n", (data->pwm & 0x80) ? 1 : 0); in show_pwm_enable1()
600 data->pwm &= 0x0f; /* keep the duty cycle bits */ in set_pwm_enable1()
[all …]
Dadm1031.c95 u8 pwm[2]; member
198 data->pwm[chan] = in adm1031_update_device()
255 static int AUTO_TEMP_MAX_TO_REG(int val, int reg, int pwm) in AUTO_TEMP_MAX_TO_REG() argument
260 range = ((val - AUTO_TEMP_MIN_FROM_REG(reg))*10)/(16 - pwm); in AUTO_TEMP_MAX_TO_REG()
377 data->old_pwm[0] = data->pwm[0]; in set_fan_auto_channel()
378 data->old_pwm[1] = data->pwm[1]; in set_fan_auto_channel()
382 data->pwm[0] = data->old_pwm[0]; in set_fan_auto_channel()
383 data->pwm[1] = data->old_pwm[1]; in set_fan_auto_channel()
386 data->pwm[0] | (data->pwm[1] << 4)); in set_fan_auto_channel()
464 data->pwm[nr]); in set_auto_temp_max()
[all …]
Dadt7475.c183 u8 pwm[4][3]; member
641 return sprintf(buf, "%d\n", data->pwm[sattr->nr][sattr->index]); in show_pwm()
680 data->pwm[CONTROL][sattr->index] = in set_pwm()
687 if (((data->pwm[CONTROL][sattr->index] >> 5) & 7) != 7) { in set_pwm()
704 data->pwm[sattr->nr][sattr->index] = clamp_val(val, 0, 0xFF); in set_pwm()
706 data->pwm[sattr->nr][sattr->index]); in set_pwm()
761 data->pwm[CONTROL][index] &= ~0xE0; in hw_set_pwm()
762 data->pwm[CONTROL][index] |= (val & 7) << 5; in hw_set_pwm()
765 data->pwm[CONTROL][index]); in hw_set_pwm()
1453 data->pwm[CONTROL][index] = adt7475_read(PWM_CONFIG_REG(index)); in adt7475_read_pwm()
[all …]
Dgpio-fan.c195 u8 pwm = fan_data->speed_index * 255 / (fan_data->num_speed - 1); in show_pwm() local
197 return sprintf(buf, "%d\n", pwm); in show_pwm()
204 unsigned long pwm; in set_pwm() local
208 if (kstrtoul(buf, 10, &pwm) || pwm > 255) in set_pwm()
218 speed_index = DIV_ROUND_UP(pwm * (fan_data->num_speed - 1), 255); in set_pwm()
Df75375s.c115 u8 pwm[2]; member
185 f75375_write16(client, F75375_REG_FAN_EXP(nr), data->pwm[nr]); in f75375_write_pwm()
188 data->pwm[nr]); in f75375_write_pwm()
228 data->pwm[nr] = f75375_read8(client, in f75375_update_device()
362 data->pwm[nr] = clamp_val(val, 0, 255); in set_pwm()
397 data->pwm[nr] = 255; in set_pwm_enable_direct()
418 data->pwm[nr] = 255; in set_pwm_enable_direct()
508 return sprintf(buf, "%d\n", data->pwm[nr]); in show_pwm()
825 data->pwm[nr] = clamp_val(f75375s_pdata->pwm[nr], 0, 255); in f75375_init()
Dvt1211.c135 u8 pwm[2]; member
296 data->pwm[ix] = vt1211_read8(data, in vt1211_update_device()
615 res = data->pwm[ix]; in show_pwm()
1024 SENSOR_ATTR_2(pwm##ix, S_IRUGO, \
1026 SENSOR_ATTR_2(pwm##ix##_enable, S_IRUGO | S_IWUSR, \
1028 SENSOR_ATTR_2(pwm##ix##_auto_channels_temp, S_IRUGO | S_IWUSR, \
1032 SENSOR_ATTR_2(pwm##ix##_freq, S_IRUGO | S_IWUSR, \
1036 SENSOR_ATTR_2(pwm##ix##_freq, S_IRUGO, \
1040 SENSOR_ATTR_2(pwm##ix##_auto_point##ap##_temp, S_IRUGO | S_IWUSR, \
1045 SENSOR_ATTR_2(pwm##ix##_auto_point##ap##_temp, S_IRUGO, \
[all …]
Df71882fg.c98 #define F71882FG_REG_POINT_PWM(pwm, point) (0xAA + (point) + (16 * (pwm))) argument
99 #define F71882FG_REG_POINT_TEMP(pwm, point) (0xA6 + (point) + (16 * (pwm))) argument
269 u8 pwm[4]; member
1286 data->pwm[nr] = in f71882fg_update_device()
1293 data->pwm[2] = f71882fg_read8(data, in f71882fg_update_device()
1733 val = data->pwm[nr]; in show_pwm()
1767 data->pwm[nr] = val; in store_pwm()
1790 val = data->pwm[nr]; in show_simple_pwm()
1810 data->pwm[nr] = val; in store_simple_pwm()
1904 int pwm = to_sensor_dev_attr_2(devattr)->index; in show_pwm_auto_point_pwm() local
[all …]
Dmax6639.c95 u8 pwm[2]; /* Register value: Duty cycle 0..120 */ member
294 return sprintf(buf, "%d\n", data->pwm[attr->index] * 255 / 120); in show_pwm()
314 data->pwm[attr->index] = (u8)(val * 120 / 255); in set_pwm()
317 data->pwm[attr->index]); in set_pwm()
503 data->pwm[i] = 120; in max6639_init_client()
505 MAX6639_REG_TARGTDUTY(i), data->pwm[i]); in max6639_init_client()
Dg760a.c63 #define PWM_TO_CNT(pwm) (0xff-(pwm)) argument
Ddme1737.c244 u8 pwm[6]; member
713 for (ix = 0; ix < ARRAY_SIZE(data->pwm); ix++) { in dme1737_update_device()
720 data->pwm[ix] = dme1737_read(data, in dme1737_update_device()
1220 res = data->pwm[ix]; in show_pwm()
1286 data->pwm[ix] = clamp_val(val, 0, 255); in set_pwm()
1287 dme1737_write(data, DME1737_REG_PWM(ix), data->pwm[ix]); in set_pwm()
1612 static SENSOR_DEVICE_ATTR_2(pwm##ix, S_IRUGO, \
1614 static SENSOR_DEVICE_ATTR_2(pwm##ix##_freq, S_IRUGO, \
1616 static SENSOR_DEVICE_ATTR_2(pwm##ix##_enable, S_IRUGO, \
1618 static SENSOR_DEVICE_ATTR_2(pwm##ix##_ramp_rate, S_IRUGO, \
[all …]
Dadm1026.c263 u8 pwm; member
362 data->pwm1.pwm = adm1026_read_value(client, in adm1026_update_device()
451 PWM_MIN_FROM_REG(data->pwm1.pwm); in adm1026_update_device()
1255 return sprintf(buf, "%d\n", PWM_FROM_REG(data->pwm1.pwm)); in show_pwm_reg()
1273 data->pwm1.pwm = PWM_TO_REG(val); in set_pwm_reg()
1274 adm1026_write_value(client, ADM1026_REG_PWM, data->pwm1.pwm); in set_pwm_reg()
1303 data->pwm1.pwm = PWM_TO_REG((data->pwm1.pwm & 0x0f) | in set_auto_pwm_min()
1305 adm1026_write_value(client, ADM1026_REG_PWM, data->pwm1.pwm); in set_auto_pwm_min()
1347 data->pwm1.pwm = PWM_TO_REG((data->pwm1.pwm & 0x0f) | in set_pwm_enable()
1349 adm1026_write_value(client, ADM1026_REG_PWM, data->pwm1.pwm); in set_pwm_enable()
[all …]
Dw83793.c252 u8 pwm[8][3]; /* Register value */ member
535 val = (data->pwm[index][nr] & 0x3f) << 2; in show_pwm()
565 data->pwm[index][nr] = in store_pwm()
567 data->pwm[index][nr] |= val; in store_pwm()
569 data->pwm[index][nr]); in store_pwm()
1053 SENSOR_ATTR_2(pwm##index, S_IWUSR | S_IRUGO, show_pwm, \
1055 SENSOR_ATTR_2(pwm##index##_nonstop, S_IWUSR | S_IRUGO, \
1057 SENSOR_ATTR_2(pwm##index##_start, S_IWUSR | S_IRUGO, \
1059 SENSOR_ATTR_2(pwm##index##_stop_time, S_IWUSR | S_IRUGO, \
2035 for (i = 0; i < ARRAY_SIZE(data->pwm); i++) { in w83793_update_nonvolatile()
[all …]
Dlm85.c314 u8 pwm[3]; /* Register value */ member
427 data->pwm[i] = in lm85_update_device()
694 return sprintf(buf, "%d\n", PWM_FROM_REG(data->pwm[nr])); in show_pwm()
711 data->pwm[nr] = PWM_TO_REG(val); in set_pwm()
712 lm85_write_value(client, LM85_REG_PWM(nr), data->pwm[nr]); in set_pwm()
835 static SENSOR_DEVICE_ATTR(pwm##offset, S_IRUGO | S_IWUSR, \
837 static SENSOR_DEVICE_ATTR(pwm##offset##_enable, S_IRUGO | S_IWUSR, \
839 static SENSOR_DEVICE_ATTR(pwm##offset##_freq, S_IRUGO | S_IWUSR, \
1111 static SENSOR_DEVICE_ATTR(pwm##offset##_auto_channels, \
1114 static SENSOR_DEVICE_ATTR(pwm##offset##_auto_pwm_min, \
[all …]
/linux-4.1.27/arch/arm/boot/dts/
Dpxa27x.dtsi15 pwm0: pwm@40b00000 {
16 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
18 #pwm-cells = <1>;
21 pwm1: pwm@40b00010 {
22 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
24 #pwm-cells = <1>;
27 pwm2: pwm@40c00000 {
28 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
30 #pwm-cells = <1>;
33 pwm3: pwm@40c00010 {
[all …]
Dwm8850-w70v2.dts14 #include <dt-bindings/pwm/pwm.h>
20 compatible = "pwm-backlight";
21 pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
Dtegra30-colibri-eval-v3.dts44 pwm@7000a000 {
116 compatible = "pwm-backlight";
119 pwms = <&pwm 0 5000000>;
159 compatible = "pwm-leds";
163 pwms = <&pwm 1 19600>;
168 pwms = <&pwm 2 19600>;
173 pwms = <&pwm 3 19600>;
Dimx25.dtsi368 pwm2: pwm@53fa0000 {
369 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
370 #pwm-cells = <2>;
387 pwm3: pwm@53fa8000 {
388 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
389 #pwm-cells = <2>;
429 pwm4: pwm@53fc8000 {
430 compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
431 #pwm-cells = <2>;
476 pwm1: pwm@53fe0000 {
[all …]
Dtegra30-apalis-eval.dts67 pwm@7000a000 {
176 compatible = "pwm-backlight";
179 pwms = <&pwm 0 5000000>;
209 compatible = "pwm-leds";
213 pwms = <&pwm 3 19600>;
219 pwms = <&pwm 2 19600>;
225 pwms = <&pwm 1 19600>;
Drk3xxx.dtsi246 pwm0: pwm@20030000 {
247 compatible = "rockchip,rk2928-pwm";
249 #pwm-cells = <2>;
254 pwm1: pwm@20030010 {
255 compatible = "rockchip,rk2928-pwm";
257 #pwm-cells = <2>;
270 pwm2: pwm@20050020 {
271 compatible = "rockchip,rk2928-pwm";
273 #pwm-cells = <2>;
278 pwm3: pwm@20050030 {
[all …]
Dimx6sx.dtsi360 pwm1: pwm@02080000 {
361 compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
367 #pwm-cells = <2>;
370 pwm2: pwm@02084000 {
371 compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
377 #pwm-cells = <2>;
380 pwm3: pwm@02088000 {
381 compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
387 #pwm-cells = <2>;
390 pwm4: pwm@0208c000 {
[all …]
Dtwl6030.dtsi91 twl_pwm: pwm {
93 compatible = "ti,twl6030-pwm";
94 #pwm-cells = <2>;
100 #pwm-cells = <2>;
Dimx28-cfa10058.dts89 pwm: pwm@80064000 { label
139 compatible = "pwm-backlight";
140 pwms = <&pwm 3 5000000>;
Dimx23-evk.dts98 pwm: pwm@80064000 { label
154 compatible = "pwm-backlight";
155 pwms = <&pwm 2 5000000>;
Dtwl4030.dtsi134 twl_pwm: pwm {
135 compatible = "ti,twl4030-pwm";
136 #pwm-cells = <2>;
141 #pwm-cells = <2>;
Dimx28-cfa10057.dts116 pwm: pwm@80064000 { label
172 compatible = "pwm-backlight";
173 pwms = <&pwm 3 5000000>;
Dimx28-cfa10055.dts130 pwm: pwm@80064000 { label
162 compatible = "pwm-backlight";
163 pwms = <&pwm 3 5000000>;
Dimx6sl.dtsi304 pwm1: pwm@02080000 {
305 #pwm-cells = <2>;
306 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
314 pwm2: pwm@02084000 {
315 #pwm-cells = <2>;
316 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
324 pwm3: pwm@02088000 {
325 #pwm-cells = <2>;
326 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
334 pwm4: pwm@0208c000 {
[all …]
Ds3c64xx.dtsi166 pwm: pwm@7f006000 { label
167 compatible = "samsung,s3c6400-pwm";
173 samsung,pwm-outputs = <0>, <1>;
174 #pwm-cells = <3>;
Dspear320.dtsi86 pwm: pwm@a8000000 { label
87 compatible ="st,spear-pwm";
89 #pwm-cells = <2>;
Dat91sam9m10g45ek.dts11 #include <dt-bindings/pwm/pwm.h>
119 pinctrl_pwm_leds: pwm-led {
157 pwm0: pwm@fffb8000 {
252 compatible = "pwm-leds";
Dwm8850.dtsi193 clkpwm: pwm {
224 pwm: pwm@d8220000 { label
225 #pwm-cells = <3>;
226 compatible = "via,vt8500-pwm";
Dtegra20-medcom-wide.dts13 pwm@7000a000 {
47 compatible = "pwm-backlight";
48 pwms = <&pwm 0 5000000>;
Dspear1340.dtsi97 pwm: pwm@e0180000 { label
98 compatible ="st,spear13xx-pwm";
100 #pwm-cells = <2>;
Dimx28-apf28dev.dts134 pwm: pwm@80064000 { label
214 compatible = "pwm-backlight";
216 pwms = <&pwm 3 191000>;
Dimx50.dtsi288 pwm1: pwm@53fb4000 {
289 #pwm-cells = <2>;
290 compatible = "fsl,imx50-pwm", "fsl,imx27-pwm";
298 pwm2: pwm@53fb8000 {
299 #pwm-cells = <2>;
300 compatible = "fsl,imx50-pwm", "fsl,imx27-pwm";
Ds5pv210-smdkv210.dts47 compatible = "pwm-backlight";
48 pwms = <&pwm 3 5000000 0>;
219 &pwm {
220 samsung,pwm-outputs = <3>;
Dwm8750.dtsi198 clkpwm: pwm {
237 pwm: pwm@d8220000 { label
238 #pwm-cells = <3>;
239 compatible = "via,vt8500-pwm";
Dlpc32xx.dtsi190 compatible = "nxp,lpc3220-motor-pwm";
193 #pwm-cells = <2>;
292 pwm: pwm@4005C000 { label
293 compatible = "nxp,lpc3220-pwm";
Dimx28-m28cu3.dts170 pwm: pwm@80064000 { label
205 compatible = "pwm-backlight";
206 pwms = <&pwm 3 5000000>;
Dimx28-m28evk.dts192 pwm: pwm@80064000 { label
233 compatible = "pwm-backlight";
234 pwms = <&pwm 4 5000000>;
Dda850.dtsi208 #pwm-cells = <3>;
214 #pwm-cells = <3>;
220 #pwm-cells = <3>;
226 #pwm-cells = <3>;
232 #pwm-cells = <3>;
Dimx6qdl.dtsi354 pwm1: pwm@02080000 {
355 #pwm-cells = <2>;
356 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
365 pwm2: pwm@02084000 {
366 #pwm-cells = <2>;
367 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
376 pwm3: pwm@02088000 {
377 #pwm-cells = <2>;
378 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
387 pwm4: pwm@0208c000 {
[all …]
Drk3288.dtsi489 pwm0: pwm@ff680000 {
490 compatible = "rockchip,rk3288-pwm";
492 #pwm-cells = <3>;
496 clock-names = "pwm";
500 pwm1: pwm@ff680010 {
501 compatible = "rockchip,rk3288-pwm";
503 #pwm-cells = <3>;
507 clock-names = "pwm";
511 pwm2: pwm@ff680020 {
512 compatible = "rockchip,rk3288-pwm";
[all …]
Dam4372.dtsi234 ti,timer-pwm;
243 ti,timer-pwm;
252 ti,timer-pwm;
261 ti,timer-pwm;
577 #pwm-cells = <3>;
585 #pwm-cells = <3>;
603 #pwm-cells = <3>;
611 #pwm-cells = <3>;
629 #pwm-cells = <3>;
637 #pwm-cells = <3>;
[all …]
Dbcm11351.dtsi215 pwm: pwm@3e01a000 { label
216 compatible = "brcm,bcm11351-pwm", "brcm,kona-pwm";
219 #pwm-cells = <3>;
277 "pwm";
Ds3c24xx.dtsi46 compatible = "samsung,s3c2410-pwm";
49 #pwm-cells = <4>;
Dimx1.dtsi117 pwm: pwm@00208000 { label
118 #pwm-cells = <2>;
119 compatible = "fsl,imx1-pwm";
Dimx51.dtsi376 pwm1: pwm@73fb4000 {
377 #pwm-cells = <2>;
378 compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
386 pwm2: pwm@73fb8000 {
387 #pwm-cells = <2>;
388 compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
Datlas6.dtsi124 /* later transfer to pwm */
451 pwm {
457 pwm {
463 pwm {
469 pwm {
475 pwm {
656 pwm@b0130000 {
657 compatible = "sirf,prima2-pwm";
Domap2.dtsi240 ti,timer-pwm;
248 ti,timer-pwm;
256 ti,timer-pwm;
264 ti,timer-pwm;
Dam33xx.dtsi417 ti,timer-pwm;
425 ti,timer-pwm;
433 ti,timer-pwm;
441 ti,timer-pwm;
625 #pwm-cells = <3>;
635 #pwm-cells = <3>;
655 #pwm-cells = <3>;
665 #pwm-cells = <3>;
685 #pwm-cells = <3>;
695 #pwm-cells = <3>;
Dbcm28155-ap.dts72 pwm: pwm@3e01a000 { label
Dimx28-evk.dts212 pwm: pwm@80064000 { label
373 compatible = "pwm-backlight";
374 pwms = <&pwm 2 5000000>;
Drk3288-evb.dtsi13 #include <dt-bindings/pwm/pwm.h>
22 compatible = "pwm-backlight";
Dimx23.dtsi461 pwm: pwm@80064000 { label
462 compatible = "fsl,imx23-pwm";
465 #pwm-cells = <2>;
466 fsl,pwm-number = <5>;
Dvfxxx.dtsi197 pwm0: pwm@40038000 {
198 compatible = "fsl,vf610-ftm-pwm";
199 #pwm-cells = <3>;
210 pwm1: pwm@40039000 {
211 compatible = "fsl,vf610-ftm-pwm";
212 #pwm-cells = <3>;
Dimx6dl-tx6u-811x.dts27 compatible = "pwm-backlight";
49 compatible = "pwm-backlight";
Dimx6q-tx6q-1110.dts27 compatible = "pwm-backlight";
49 compatible = "pwm-backlight";
Dimx28-cfa10049.dts210 pwm: pwm@80064000 { label
422 compatible = "pwm-backlight";
423 pwms = <&pwm 3 5000000>;
Dsama5d3_lcd.dtsi36 hlcdc_pwm: hlcdc-pwm {
37 compatible = "atmel,hlcdc-pwm";
40 #pwm-cells = <3>;
55 pinctrl_lcd_pwm: lcd-pwm-0 {
Dimx53.dtsi473 pwm1: pwm@53fb4000 {
474 #pwm-cells = <2>;
475 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
483 pwm2: pwm@53fb8000 {
484 #pwm-cells = <2>;
485 compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
Dimx53-tx53-x03x.dts15 #include <dt-bindings/pwm/pwm.h>
156 compatible = "pwm-backlight";
Dr8a7740-armadillo800eva.dts16 #include <dt-bindings/pwm/pwm.h>
141 compatible = "pwm-backlight";
Dat91sam9rlek.dts163 pwm0: pwm@fffc8000 {
197 compatible = "pwm-leds";
Dprima2.dtsi465 pwm {
471 pwm {
477 pwm {
483 pwm {
682 pwm@b0130000 {
683 compatible = "sirf,prima2-pwm";
Dtegra20-paz00.dts99 nvidia,function = "pwm";
270 pwm: pwm@7000a000 { label
493 compatible = "pwm-backlight";
496 pwms = <&pwm 0 5000000>;
/linux-4.1.27/drivers/clk/
Dclk-pwm.c19 struct pwm_device *pwm; member
32 return pwm_enable(clk_pwm->pwm); in clk_pwm_prepare()
39 pwm_disable(clk_pwm->pwm); in clk_pwm_unprepare()
61 struct pwm_device *pwm; in clk_pwm_probe() local
70 pwm = devm_pwm_get(&pdev->dev, NULL); in clk_pwm_probe()
71 if (IS_ERR(pwm)) in clk_pwm_probe()
72 return PTR_ERR(pwm); in clk_pwm_probe()
74 if (!pwm->period) { in clk_pwm_probe()
80 clk_pwm->fixed_rate = NSEC_PER_SEC / pwm->period; in clk_pwm_probe()
82 if (pwm->period != NSEC_PER_SEC / clk_pwm->fixed_rate && in clk_pwm_probe()
[all …]
/linux-4.1.27/Documentation/ABI/testing/
Dsysfs-class-pwm1 What: /sys/class/pwm/
6 The pwm/ class sub-directory belongs to the Generic PWM
10 What: /sys/class/pwm/pwmchipN/
15 A /sys/class/pwm/pwmchipN directory is created for each
19 What: /sys/class/pwm/pwmchipN/npwm
26 What: /sys/class/pwm/pwmchipN/export
32 Value is between 0 and /sys/class/pwm/pwmchipN/npwm - 1.
34 What: /sys/class/pwm/pwmchipN/unexport
41 What: /sys/class/pwm/pwmchipN/pwmX
46 A /sys/class/pwm/pwmchipN/pwmX directory is created for
[all …]
/linux-4.1.27/Documentation/devicetree/bindings/leds/
Dleds-pwm.txt4 - compatible : should be "pwm-leds".
6 Each LED is represented as a sub-node of the pwm-leds device. Each
12 - pwm-names : (optional) Name to be used by the PWM subsystem for the PWM device
13 For the pwms and pwm-names property please refer to:
14 Documentation/devicetree/bindings/pwm/pwm.txt
25 twl_pwm: pwm {
27 compatible = "ti,twl6030-pwm";
28 #pwm-cells = <2>;
34 #pwm-cells = <2>;
38 compatible = "pwm-leds";
/linux-4.1.27/drivers/input/misc/
Dpwm-beeper.c27 struct pwm_device *pwm; member
39 pwm_config(beeper->pwm, period / 2, period); in __pwm_beeper_set()
40 pwm_enable(beeper->pwm); in __pwm_beeper_set()
42 pwm_disable(beeper->pwm); in __pwm_beeper_set()
86 pwm_disable(beeper->pwm); in pwm_beeper_stop()
106 beeper->pwm = pwm_get(&pdev->dev, NULL); in pwm_beeper_probe()
107 if (IS_ERR(beeper->pwm)) { in pwm_beeper_probe()
109 beeper->pwm = pwm_request(pwm_id, "pwm beeper"); in pwm_beeper_probe()
112 if (IS_ERR(beeper->pwm)) { in pwm_beeper_probe()
113 error = PTR_ERR(beeper->pwm); in pwm_beeper_probe()
[all …]
Dmax8997_haptic.c58 struct pwm_device *pwm; member
76 ret = pwm_config(chip->pwm, duty, chip->pwm_period); in max8997_haptic_set_duty_cycle()
191 error = pwm_enable(chip->pwm); in max8997_haptic_enable()
213 pwm_disable(chip->pwm); in max8997_haptic_disable()
300 chip->pwm = pwm_request(haptic_pdata->pwm_channel_id, in max8997_haptic_probe()
302 if (IS_ERR(chip->pwm)) { in max8997_haptic_probe()
303 error = PTR_ERR(chip->pwm); in max8997_haptic_probe()
360 pwm_free(chip->pwm); in max8997_haptic_probe()
376 pwm_free(chip->pwm); in max8997_haptic_remove()
Dtwl4030-vibra.c104 int pwm; in vibra_play_work() local
108 pwm = info->speed; in vibra_play_work()
112 if (pwm && (!info->coexist || !(reg & TWL4030_VIBRA_SEL))) { in vibra_play_work()
127 256 - pwm, TWL4030_REG_VIBRA_SET); in vibra_play_work()
/linux-4.1.27/Documentation/hwmon/
Dnct677587 pwm[1-5] - this file stores PWM duty cycle or DC value (fan speed) in range:
90 pwm[1-5]_enable - this file controls mode of fan/temperature control:
92 * 1 Manual mode, write to pwm[0-5] any value 0-255
98 pwm[1-5]_mode - controls if output is PWM or DC level
105 pwm[1-5]_temp_sel Temperature source. Value is temperature sensor index.
107 pwm[1-5]_weight_temp_sel
115 pwm[1-5]_weight_duty_step
117 pwm[1-5]_weight_temp_step
120 to the current pwm value.
121 pwm[1-5]_weight_temp_step_base
[all …]
Dadt747036 automatic fan pwm control to set the fan speed. The driver will not read the
56 * pwm#_auto_point1_pwm and pwm#_auto_point1_temp and
57 * pwm#_auto_point2_pwm and pwm#_auto_point2_temp -
59 point1: Set the pwm speed at a lower temperature bound.
60 point2: Set the pwm speed at a higher temperature bound.
62 The ADT7470 will scale the pwm between the lower and higher pwm speed when
66 pwm#_auto_point2_temp.
72 order for the automatic pwm algorithm to run. This was the case for earlier
Dw83627ehf87 The mode works for fan1-fan4. Mapping of temperatures to pwm outputs is as
103 pwm[1-4] - this file stores PWM duty cycle or DC value (fan speed) in range:
106 pwm[1-4]_enable - this file controls mode of fan/temperature control:
107 * 1 Manual mode, write to pwm file any value 0-255 (full speed)
118 and the various pwm attributes are not used in SmartFan IV mode.
120 configure the system for a different pwm mode. However, the information
121 returned when reading pwm attributes is unrelated to SmartFan IV
124 pwm[1-4]_mode - controls if output is PWM or DC level
133 pwm[1-4]_target - set target temperature, unit millidegree Celsius
135 pwm[1-4]_tolerance - tolerance, unit millidegree Celsius (range 0 - 15000)
[all …]
Ddme173747 up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and
50 For the DME1737, A8000 and SCH5027, fan[1-2] and pwm[1-2] are always present.
51 Fan[3-6] and pwm[3,5-6] are optional features and their availability depends on
55 For the SCH311x and SCH5127, fan[1-3] and pwm[1-3] are always present and
56 fan[4-6] and pwm[5-6] don't exist.
167 pwm[1-3]_auto_channels_zone attributes. Each PWM output has 3 distinct output
169 and low and min can be programmed via pwm[1-3]_auto_point1_pwm and
170 pwm[1-3]_auto_pwm_min, respectively. The thermal thresholds of the zones are
174 pwm[1-3]_auto_point2_pwm full-speed duty-cycle (255, i.e., 100%)
175 pwm[1-3]_auto_point1_pwm low-speed duty-cycle
[all …]
Dadt746257 * pwm#_auto_point1_pwm and temp#_auto_point1_temp and
58 * pwm#_auto_point2_pwm and temp#_auto_point2_temp -
60 point1: Set the pwm speed at a lower temperature bound.
61 point2: Set the pwm speed at a higher temperature bound.
63 The ADT7462 will scale the pwm between the lower and higher pwm speed when
Dvt1211162 fans. Writing a 2 to any of the two pwm[1-2]_enable sysfs nodes will put the
170 pwm[1-2]_auto_point[2-3]_pwm. Each PWM output can be associated with a
173 thermal thresholds are accessible via pwm[1-2]_auto_point[1-4]_temp. Note
181 pwm[1-2]_auto_point4_pwm full speed duty-cycle (hard-wired to 255)
182 pwm[1-2]_auto_point3_pwm high speed duty-cycle
183 pwm[1-2]_auto_point2_pwm low speed duty-cycle
184 pwm[1-2]_auto_point1_pwm off duty-cycle (hard-wired to 0)
188 pwm[1-2]_auto_point4_temp full speed temp
189 pwm[1-2]_auto_point3_temp high speed temp
190 pwm[1-2]_auto_point2_temp low speed temp
[all …]
Dw83l786ng44 pwm[1-2] - this file stores PWM duty cycle or DC value (fan speed) in range:
46 pwm[1-2]_enable - this file controls mode of fan/temperature control:
51 pwm[1-2]_mode - Select PWM of DC mode
Damc682118 The chip has one on-chip and one remote temperature sensor and one pwm fan
20 The pwm can be controlled either from software or automatically.
101 pwminv: 0 default pwm output, 1 inverts pwm output.
Dasc7621182 ALL pwm outputs will got to 100%.
191 pwm[1-3]_enable
194 2 Fan on automatic control and will run at the minimum pwm
201 pwm[1-3]_auto_channels
220 pwm[1-3]_invert
221 When set, inverts the meaning of pwm[1-3].
222 i.e. when pwm = 0, the fan will be on full and
223 when pwm = 255 the fan will be off.
225 pwm[1-3]_freq
Dnct790438 pwm[1-4]_enable R/W, 1/2 for manual or SmartFan mode
42 pwm[1-4] R/O in SmartFan mode, R/W in manual control mode
Dw83792d121 in appropriate pwm# file.
133 specific speed set by pwm# and automatically controlled its PWM duty cycle
160 pwm[1-3] - this file stores PWM duty cycle or DC value (fan speed) in range:
162 pwm[1-3]_enable - this file controls mode of fan/temperature control:
167 pwm[1-3]_mode - Select PWM of DC mode
Dlm85136 SMSC EMC6D103S is similar to EMC6D103, but does not support pwm#_auto_pwm_minctl
185 * pwm#_auto_pwm_min - this specifies the PWM value for temp#_auto_temp_off
188 * pwm#_auto_pwm_minctl - this flags selects for temp#_auto_temp_off temperature
190 pwm#_auto_pwm_min or write 0 to let them off.
194 published documentation. Setting pwm#_min_ctl in this case actually affects all
199 * pwm#_auto_channels - controls zone that is associated with PWM
212 -2 Manual control (write to 'pwm#' to set)
Dlm93126 the fan tachometer with a pwm) to the sysfs file fan<n>_smart_tach. A zero
163 in the sysfs files pwm<n>_auto_channels, where a "1" enables the binding, and
183 offset # temp<n>_auto_offset<i> range pwm
220 values are found in the sysfs files pwm<n>_auto_spinup_min. The value in this
223 the sysfs files pwm<n>_auto_spinup_time. The value in this file is
286 pwm<n>_auto_channels select control sources for PWM outputs
288 pwm<n>_auto_spinup_min minimum duty cycle during spin-up
290 pwm<n>_auto_spinup_time duration of spin-up
/linux-4.1.27/Documentation/devicetree/bindings/mfd/
Dlp3943.txt7 LP3943 consists of two sub-devices, lp3943-gpio and lp3943-pwm.
13 Documentation/devicetree/bindings/pwm/pwm-lp3943.txt
27 pwm3943: pwm {
28 compatible = "ti,lp3943-pwm";
29 #pwm-cells = <2>;
Datmel-hlcdc.txt13 - a PWM chip: see ../pwm/atmel-hlcdc-pwm.txt
45 hlcdc_pwm: hlcdc-pwm {
46 compatible = "atmel,hlcdc-pwm";
49 #pwm-cells = <3>;
Dmax77693.txt40 for each pwm device.
42 [*] refer Documentation/devicetree/bindings/pwm/pwm.txt
108 pwms = <&pwm 0 40000 0>;
109 pwm-names = "haptic";
Dsky81452.txt21 name = "pwm-backlight";
23 skyworks,ignore-pwm;
Dab8500.txt55 ab8500-pwm : : : Pulse Width Modulator
70 pwm|regulator|rtc|sysctrl|usb]";
139 ab8500-pwm {
140 compatible = "stericsson,ab8500-pwm";
/linux-4.1.27/Documentation/devicetree/bindings/video/backlight/
Dpwm-backlight.txt1 pwm-backlight bindings
4 - compatible: "pwm-backlight"
16 - pwm-names: a list of names for the PWM devices specified in the
21 [0]: Documentation/devicetree/bindings/pwm/pwm.txt
27 compatible = "pwm-backlight";
28 pwms = <&pwm 0 5000000>;
Dsky81452-backlight.txt12 - skyworks,ignore-pwm : Ignore both PWM input
24 name = "pwm-backlight";
26 skyworks,ignore-pwm;
D88pm860x.txt5 - marvell,88pm860x-pwm: PWM frequency on backlight device.
12 marvell,88pm860x-pwm = <3>;
Dlp855x.txt12 - pwm-period: PWM period value. Set only PWM input mode used (u32)
25 pwm-period = <10000>;
/linux-4.1.27/drivers/leds/
Dleds-pwm.c29 struct pwm_device *pwm; member
46 pwm_config(led_dat->pwm, new_duty, led_dat->period); in __led_pwm_set()
49 pwm_disable(led_dat->pwm); in __led_pwm_set()
51 pwm_enable(led_dat->pwm); in __led_pwm_set()
114 led_data->pwm = devm_of_pwm_get(dev, child, NULL); in led_pwm_add()
116 led_data->pwm = devm_pwm_get(dev, led->name); in led_pwm_add()
117 if (IS_ERR(led_data->pwm)) { in led_pwm_add()
118 ret = PTR_ERR(led_data->pwm); in led_pwm_add()
124 led_data->can_sleep = pwm_can_sleep(led_data->pwm); in led_pwm_add()
128 led_data->period = pwm_get_period(led_data->pwm); in led_pwm_add()
Dleds-pca9532.c49 u8 pwm[2]; member
103 static int pca9532_calcpwm(struct i2c_client *client, int pwm, int blink, in pca9532_calcpwm() argument
110 data->leds[i].state == PCA9532_PWM0+pwm) { in pca9532_calcpwm()
124 data->pwm[pwm] = b; in pca9532_calcpwm()
125 data->psc[pwm] = blink; in pca9532_calcpwm()
129 static int pca9532_setpwm(struct i2c_client *client, int pwm) in pca9532_setpwm() argument
135 i2c_smbus_write_byte_data(client, PCA9532_REG_PWM(maxleds, pwm), in pca9532_setpwm()
136 data->pwm[pwm]); in pca9532_setpwm()
137 i2c_smbus_write_byte_data(client, PCA9532_REG_PSC(maxleds, pwm), in pca9532_setpwm()
138 data->psc[pwm]); in pca9532_setpwm()
[all …]
Dleds-lm3530.c234 struct lm3530_pwm_data *pwm = &pdata->pwm_data; in lm3530_init_registers() local
290 if (pwm->pwm_set_intensity) in lm3530_init_registers()
291 pwm->pwm_set_intensity(reg_val[i], in lm3530_init_registers()
312 struct lm3530_pwm_data *pwm = &pdata->pwm_data; in lm3530_brightness_set() local
342 if (pwm->pwm_set_intensity) in lm3530_brightness_set()
343 pwm->pwm_set_intensity(brt_val, max_brightness); in lm3530_brightness_set()
374 struct lm3530_pwm_data *pwm; in lm3530_mode_set() local
379 pwm = &drvdata->pdata->pwm_data; in lm3530_mode_set()
390 if (mode != LM3530_BL_MODE_PWM && pwm->pwm_set_intensity) in lm3530_mode_set()
391 pwm->pwm_set_intensity(0, max_brightness); in lm3530_mode_set()
/linux-4.1.27/drivers/video/backlight/
Dpwm_bl.c28 struct pwm_device *pwm; member
60 pwm_enable(pb->pwm); in pwm_backlight_power_on()
69 pwm_config(pb->pwm, 0, pb->period); in pwm_backlight_power_off()
70 pwm_disable(pb->pwm); in pwm_backlight_power_off()
108 pwm_config(pb->pwm, duty_cycle, pb->period); in pwm_backlight_update_status()
275 pb->pwm = devm_pwm_get(&pdev->dev, NULL); in pwm_backlight_probe()
276 if (IS_ERR(pb->pwm)) { in pwm_backlight_probe()
277 ret = PTR_ERR(pb->pwm); in pwm_backlight_probe()
283 pb->pwm = pwm_request(data->pwm_id, "pwm-backlight"); in pwm_backlight_probe()
284 if (IS_ERR(pb->pwm)) { in pwm_backlight_probe()
[all …]
Dlp8788_bl.c52 struct pwm_device *pwm; member
130 struct pwm_device *pwm; in lp8788_pwm_ctrl() local
140 if (!bl->pwm) { in lp8788_pwm_ctrl()
141 pwm = devm_pwm_get(dev, LP8788_DEV_BACKLIGHT); in lp8788_pwm_ctrl()
142 if (IS_ERR(pwm)) { in lp8788_pwm_ctrl()
147 bl->pwm = pwm; in lp8788_pwm_ctrl()
150 pwm_config(bl->pwm, duty, period); in lp8788_pwm_ctrl()
152 pwm_enable(bl->pwm); in lp8788_pwm_ctrl()
154 pwm_disable(bl->pwm); in lp8788_pwm_ctrl()
Dlp855x_bl.c75 struct pwm_device *pwm; member
239 struct pwm_device *pwm; in lp855x_pwm_ctrl() local
242 if (!lp->pwm) { in lp855x_pwm_ctrl()
243 pwm = devm_pwm_get(lp->dev, lp->chipname); in lp855x_pwm_ctrl()
244 if (IS_ERR(pwm)) in lp855x_pwm_ctrl()
247 lp->pwm = pwm; in lp855x_pwm_ctrl()
250 pwm_config(lp->pwm, duty, period); in lp855x_pwm_ctrl()
252 pwm_enable(lp->pwm); in lp855x_pwm_ctrl()
254 pwm_disable(lp->pwm); in lp855x_pwm_ctrl()
D88pm860x_bl.c33 int pwm; member
88 if (data->pwm) { in pm860x_backlight_set()
90 PM8606_PWM_FREQ_MASK, data->pwm); in pm860x_backlight_set()
182 &data->pwm); in pm860x_backlight_dt_init()
235 data->pwm = pdata->pwm; in pm860x_backlight_probe()
/linux-4.1.27/Documentation/devicetree/bindings/hwmon/
Dpwm-fan.txt4 - compatible : "pwm-fan"
8 pwm-fan {
9 compatible = "pwm-fan";
11 pwms = <&pwm 0 10000 0>;
/linux-4.1.27/drivers/regulator/
Dpwm-regulator.c26 struct pwm_device *pwm; member
51 pwm_reg_period = pwm_get_period(drvdata->pwm); in pwm_regulator_set_voltage_sel()
56 ret = pwm_config(drvdata->pwm, dutycycle, pwm_reg_period); in pwm_regulator_set_voltage_sel()
65 ret = pwm_enable(drvdata->pwm); in pwm_regulator_set_voltage_sel()
161 drvdata->pwm = devm_pwm_get(&pdev->dev, NULL); in pwm_regulator_probe()
162 if (IS_ERR(drvdata->pwm)) { in pwm_regulator_probe()
164 return PTR_ERR(drvdata->pwm); in pwm_regulator_probe()
Dmax8973-regulator.c205 int pwm; in max8973_dcdc_set_mode() local
210 pwm = MAX8973_FPWM_EN_M; in max8973_dcdc_set_mode()
214 pwm = 0; in max8973_dcdc_set_mode()
222 MAX8973_FPWM_EN_M, pwm); in max8973_dcdc_set_mode()
/linux-4.1.27/drivers/media/dvb-frontends/
Dtda1002x.h62 struct i2c_adapter* i2c, u8 pwm);
65 struct i2c_adapter* i2c, u8 pwm) in tda10021_attach() argument
75 struct i2c_adapter *i2c, u8 pwm);
79 struct i2c_adapter *i2c, u8 pwm) in tda10023_attach() argument
Datbm8830.c387 u32 pwm; in atbm8830_read_signal_strength() local
394 pwm = t & 0x03; in atbm8830_read_signal_strength()
395 pwm <<= 8; in atbm8830_read_signal_strength()
397 pwm |= t; in atbm8830_read_signal_strength()
401 dprintk("AGC PWM = 0x%02X\n", pwm); in atbm8830_read_signal_strength()
402 pwm = 0x400 - pwm; in atbm8830_read_signal_strength()
404 *signal = pwm * 0x10000 / 0x400; in atbm8830_read_signal_strength()
Dves1820.h46 struct i2c_adapter* i2c, u8 pwm);
49 struct i2c_adapter* i2c, u8 pwm) in ves1820_attach() argument
Dves1820.c43 u8 pwm; member
203 ves1820_writereg(state, 0x34, state->pwm); in ves1820_init()
228 ves1820_writereg(state, 0x34, state->pwm); in ves1820_set_parameters()
374 u8 pwm) in ves1820_attach() argument
387 state->pwm = pwm; in ves1820_attach()
394 printk("ves1820: pwm=0x%02x\n", state->pwm); in ves1820_attach()
Dtda10021.c42 u8 pwm; member
214 _tda10021_writereg (state, 0x34, state->pwm); in tda10021_init()
290 _tda10021_writereg(state, 0x34, state->pwm); in tda10021_set_parameters()
450 u8 pwm) in tda10021_attach() argument
462 state->pwm = pwm; in tda10021_attach()
Dtda10023.c49 u8 pwm; member
522 u8 pwm) in tda10023_attach() argument
541 state->pwm = pwm; in tda10023_attach()
/linux-4.1.27/Documentation/devicetree/bindings/regulator/
Dpwm-regulator.txt1 pwm regulator bindings
4 - compatible: Should be "pwm-regulator"
5 - pwms: OF device-tree PWM specification (see PWM binding pwm.txt)
14 compatible = "pwm-regulator;
Dtps51632-regulator.txt8 - ti,enable-pwm-dvfs: Enable the DVFS voltage control through the PWM interface.
25 ti,enable-pwm-dvfs;
/linux-4.1.27/Documentation/devicetree/bindings/video/
Dssd1307fb.txt8 - pwm: Should contain the pwm to use according to the OF device tree PWM
19 [0]: Documentation/devicetree/bindings/pwm/pwm.txt
25 pwms = <&pwm 4 3000>;
/linux-4.1.27/Documentation/devicetree/bindings/clock/
Dimx1-clock.txt19 pwm: pwm@00208000 {
20 #pwm-cells = <2>;
21 compatible = "fsl,imx1-pwm";
Dpwm-clock.txt6 [2] Documentation/devicetree/bindings/pwm/pwm.txt
9 - compatible : shall be "pwm-clock".
21 compatible = "pwm-clock";
/linux-4.1.27/drivers/media/pci/mantis/
Dmantis_vp2040.c111 u8 pwm; in read_pwm() local
114 {.addr = 0x50, .flags = I2C_M_RD, .buf = &pwm, .len = 1} in read_pwm()
118 || (pwm == 0xff)) in read_pwm()
119 pwm = 0x48; in read_pwm()
121 return pwm; in read_pwm()
Dmantis_vp2033.c55 u8 pwm; in read_pwm() local
58 {.addr = 0x50, .flags = I2C_M_RD, .buf = &pwm, .len = 1} in read_pwm()
62 || (pwm == 0xff)) in read_pwm()
63 pwm = 0x48; in read_pwm()
65 return pwm; in read_pwm()
/linux-4.1.27/drivers/video/fbdev/
Dssd1307fb.c54 struct pwm_device *pwm; member
261 par->pwm = pwm_get(&par->client->dev, NULL); in ssd1307fb_ssd1307_init()
262 if (IS_ERR(par->pwm)) { in ssd1307fb_ssd1307_init()
264 return PTR_ERR(par->pwm); in ssd1307fb_ssd1307_init()
267 par->pwm_period = pwm_get_period(par->pwm); in ssd1307fb_ssd1307_init()
269 pwm_config(par->pwm, par->pwm_period / 2, par->pwm_period); in ssd1307fb_ssd1307_init()
270 pwm_enable(par->pwm); in ssd1307fb_ssd1307_init()
273 par->pwm->pwm, par->pwm_period); in ssd1307fb_ssd1307_init()
290 pwm_disable(par->pwm); in ssd1307fb_ssd1307_remove()
291 pwm_put(par->pwm); in ssd1307fb_ssd1307_remove()
/linux-4.1.27/Documentation/backlight/
Dlp855x-driver.txt17 Brightness can be controlled by the pwm input or the i2c command.
24 Value : pwm based or register based
39 Only valid when brightness is pwm input mode.
60 example 2) lp8556 platform data : pwm input mode with default rom data
/linux-4.1.27/Documentation/devicetree/bindings/drm/atmel/
Dhlcdc-dc.txt47 hlcdc_pwm: hlcdc-pwm {
48 compatible = "atmel,hlcdc-pwm";
51 #pwm-cells = <3>;
/linux-4.1.27/include/linux/mfd/
Dlm3533.h53 u8 pwm; /* 0 - 0x3f */ member
60 u8 pwm; /* 0 - 0x3f */ member
/linux-4.1.27/Documentation/
Dpwm.txt22 PWM_LOOKUP("tegra-pwm", 0, "pwm-backlight", NULL,
45 int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns);
54 /sys/class/pwm/. Each probed PWM controller/chip will be exported as
89 Currently there are two ways to implement pwm drivers. Traditionally
/linux-4.1.27/drivers/gpu/drm/gma500/
Dcdv_intel_lvds.c764 u32 pwm; in cdv_intel_lvds_init() local
766 pwm = REG_READ(BLC_PWM_CTL2); in cdv_intel_lvds_init()
768 pwm |= PWM_PIPE_B; in cdv_intel_lvds_init()
770 pwm &= ~PWM_PIPE_B; in cdv_intel_lvds_init()
771 pwm |= PWM_ENABLE; in cdv_intel_lvds_init()
772 REG_WRITE(BLC_PWM_CTL2, pwm); in cdv_intel_lvds_init()
/linux-4.1.27/drivers/mfd/
Dlm3533-ctrlbank.c142 lm3533_ctrlbank_set(pwm, PWM);
143 lm3533_ctrlbank_get(pwm, PWM);
/linux-4.1.27/Documentation/devicetree/bindings/input/
Dpwm-beeper.txt6 - compatible: should be "pwm-beeper"
/linux-4.1.27/Documentation/devicetree/bindings/pinctrl/
Dmarvell,dove-pinctrl.txt18 mpp0 0 gpio, pmu, uart2(rts), sdio0(cd), lcd0(pwm), pmu*
19 mpp1 1 gpio, pmu, uart2(cts), sdio0(wp), lcd1(pwm), pmu*
42 mpp18 18 gpio, uart3(txd), sdio0(buspwr), ac97(sdi3), lcd0(pwm)
/linux-4.1.27/arch/arm64/boot/dts/exynos/
Dexynos7.dtsi519 pwm: pwm@136c0000 { label
520 compatible = "samsung,exynos4210-pwm";
522 samsung,pwm-outputs = <0>, <1>, <2>, <3>;
523 #pwm-cells = <3>;
/linux-4.1.27/arch/arm/mach-iop32x/
Dn2100.c201 .pwm = { 255, 255 },
249 .pwm = { 0, 0 },
/linux-4.1.27/Documentation/devicetree/bindings/power/
Drenesas,sysc-rmobile.txt94 tpu: pwm@e6600000 {
99 #pwm-cells = <3>;

12