/linux-4.4.14/drivers/pwm/ |
D | core.c | 44 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 …]
|
D | pwm-renesas-tpu.c | 100 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 …]
|
D | Makefile | 3 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_BERLIN) += pwm-berlin.o 10 obj-$(CONFIG_PWM_BFIN) += pwm-bfin.o 11 obj-$(CONFIG_PWM_BRCMSTB) += pwm-brcmstb.o 12 obj-$(CONFIG_PWM_CLPS711X) += pwm-clps711x.o [all …]
|
D | pwm-berlin.c | 61 struct berlin_pwm_chip *pwm = to_berlin_pwm_chip(chip); in berlin_pwm_config() local 66 cycles = clk_get_rate(pwm->clk); in berlin_pwm_config() 86 value = berlin_pwm_readl(pwm, pwm_dev->hwpwm, BERLIN_PWM_CONTROL); in berlin_pwm_config() 89 berlin_pwm_writel(pwm, pwm_dev->hwpwm, value, BERLIN_PWM_CONTROL); in berlin_pwm_config() 91 berlin_pwm_writel(pwm, pwm_dev->hwpwm, duty, BERLIN_PWM_DUTY); in berlin_pwm_config() 92 berlin_pwm_writel(pwm, pwm_dev->hwpwm, period, BERLIN_PWM_TCNT); in berlin_pwm_config() 101 struct berlin_pwm_chip *pwm = to_berlin_pwm_chip(chip); in berlin_pwm_set_polarity() local 104 value = berlin_pwm_readl(pwm, pwm_dev->hwpwm, BERLIN_PWM_CONTROL); in berlin_pwm_set_polarity() 111 berlin_pwm_writel(pwm, pwm_dev->hwpwm, value, BERLIN_PWM_CONTROL); in berlin_pwm_set_polarity() 118 struct berlin_pwm_chip *pwm = to_berlin_pwm_chip(chip); in berlin_pwm_enable() local [all …]
|
D | pwm-img.c | 88 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 …]
|
D | pwm-tegra.c | 66 static int tegra_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in tegra_pwm_config() argument 115 if (!pwm_is_enabled(pwm)) { in tegra_pwm_config() 122 pwm_writel(pc, pwm->hwpwm, val); in tegra_pwm_config() 127 if (!pwm_is_enabled(pwm)) 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 …]
|
D | pwm-jz4740.c | 50 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 …]
|
D | sysfs.c | 28 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 period_show() local 49 return sprintf(buf, "%u\n", pwm_get_period(pwm)); in period_show() 56 struct pwm_device *pwm = child_to_pwm_device(child); in period_store() local 64 ret = pwm_config(pwm, pwm_get_duty_cycle(pwm), val); in period_store() 73 const struct pwm_device *pwm = child_to_pwm_device(child); in duty_cycle_show() local 75 return sprintf(buf, "%u\n", pwm_get_duty_cycle(pwm)); in duty_cycle_show() 82 struct pwm_device *pwm = child_to_pwm_device(child); in duty_cycle_store() local 90 ret = pwm_config(pwm, val, pwm_get_period(pwm)); in duty_cycle_store() [all …]
|
D | pwm-bfin.c | 30 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 …]
|
D | pwm-sun4i.c | 99 static int sun4i_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in sun4i_pwm_config() argument 157 if (sun4i_pwm->data->has_rdy && (val & PWM_RDY(pwm->hwpwm))) { in sun4i_pwm_config() 163 clk_gate = val & BIT_CH(PWM_CLK_GATING, pwm->hwpwm); in sun4i_pwm_config() 165 val &= ~BIT_CH(PWM_CLK_GATING, pwm->hwpwm); in sun4i_pwm_config() 170 val &= ~BIT_CH(PWM_PRESCAL_MASK, pwm->hwpwm); in sun4i_pwm_config() 171 val |= BIT_CH(prescaler, pwm->hwpwm); in sun4i_pwm_config() 175 sun4i_pwm_writel(sun4i_pwm, val, PWM_CH_PRD(pwm->hwpwm)); in sun4i_pwm_config() 189 static int sun4i_pwm_set_polarity(struct pwm_chip *chip, struct pwm_device *pwm, in sun4i_pwm_set_polarity() argument 206 val &= ~BIT_CH(PWM_ACT_STATE, pwm->hwpwm); in sun4i_pwm_set_polarity() 208 val |= BIT_CH(PWM_ACT_STATE, pwm->hwpwm); in sun4i_pwm_set_polarity() [all …]
|
D | pwm-pxa.c | 63 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 …]
|
D | pwm-crc.c | 50 static int crc_pwm_enable(struct pwm_chip *c, struct pwm_device *pwm) in crc_pwm_enable() argument 59 static void crc_pwm_disable(struct pwm_chip *c, struct pwm_device *pwm) in crc_pwm_disable() argument 66 static int crc_pwm_config(struct pwm_chip *c, struct pwm_device *pwm, in crc_pwm_config() argument 78 if (pwm->period != period_ns) { in crc_pwm_config() 82 crc_pwm_disable(c, pwm); in crc_pwm_config() 89 crc_pwm_enable(c, pwm); in crc_pwm_config() 107 struct crystalcove_pwm *pwm; in crystalcove_pwm_probe() local 111 pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL); in crystalcove_pwm_probe() 112 if (!pwm) in crystalcove_pwm_probe() 115 pwm->chip.dev = &pdev->dev; in crystalcove_pwm_probe() [all …]
|
D | pwm-twl.c | 43 #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 …]
|
D | pwm-vt8500.c | 39 #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 …]
|
D | pwm-pca9685.c | 91 static int pca9685_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in pca9685_pwm_config() argument 140 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config() 143 reg = LED_N_OFF_H(pwm->hwpwm); in pca9685_pwm_config() 152 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config() 155 reg = LED_N_OFF_L(pwm->hwpwm); in pca9685_pwm_config() 159 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config() 162 reg = LED_N_OFF_H(pwm->hwpwm); in pca9685_pwm_config() 167 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config() 170 reg = LED_N_ON_H(pwm->hwpwm); in pca9685_pwm_config() 180 if (pwm->hwpwm >= PCA9685_MAXCHAN) in pca9685_pwm_config() [all …]
|
D | pwm-twl-led.c | 69 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 …]
|
D | pwm-atmel.c | 69 void (*config)(struct pwm_chip *chip, struct pwm_device *pwm, 107 static int atmel_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in atmel_pwm_config() argument 117 if (pwm_is_enabled(pwm) && (period_ns != pwm_get_period(pwm))) { in atmel_pwm_config() 149 val = atmel_pwm_ch_readl(atmel_pwm, pwm->hwpwm, PWM_CMR); in atmel_pwm_config() 151 atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, PWM_CMR, val); in atmel_pwm_config() 152 atmel_pwm->config(chip, pwm, dty, prd); in atmel_pwm_config() 155 atmel_pwm->updated_pwms &= ~(1 << pwm->hwpwm); in atmel_pwm_config() 162 static void atmel_pwm_config_v1(struct pwm_chip *chip, struct pwm_device *pwm, in atmel_pwm_config_v1() argument 169 atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, PWMV1_CUPD, dty); in atmel_pwm_config_v1() 171 val = atmel_pwm_ch_readl(atmel_pwm, pwm->hwpwm, PWM_CMR); in atmel_pwm_config_v1() [all …]
|
D | pwm-lpss.c | 68 static inline u32 pwm_lpss_read(const struct pwm_device *pwm) in pwm_lpss_read() argument 70 struct pwm_lpss_chip *lpwm = to_lpwm(pwm->chip); in pwm_lpss_read() 72 return readl(lpwm->regs + pwm->hwpwm * PWM_SIZE + PWM); in pwm_lpss_read() 75 static inline void pwm_lpss_write(const struct pwm_device *pwm, u32 value) in pwm_lpss_write() argument 77 struct pwm_lpss_chip *lpwm = to_lpwm(pwm->chip); in pwm_lpss_write() 79 writel(value, lpwm->regs + pwm->hwpwm * PWM_SIZE + PWM); in pwm_lpss_write() 82 static int pwm_lpss_config(struct pwm_chip *chip, struct pwm_device *pwm, in pwm_lpss_config() argument 111 ctrl = pwm_lpss_read(pwm); in pwm_lpss_config() 117 pwm_lpss_write(pwm, ctrl); in pwm_lpss_config() 124 static int pwm_lpss_enable(struct pwm_chip *chip, struct pwm_device *pwm) in pwm_lpss_enable() argument [all …]
|
D | pwm-lpc18xx-sct.c | 128 struct pwm_device *pwm, in lpc18xx_pwm_set_conflict_res() argument 141 val &= ~LPC18XX_PWM_RES_MASK(pwm->hwpwm); in lpc18xx_pwm_set_conflict_res() 142 val |= LPC18XX_PWM_RES(pwm->hwpwm, action); in lpc18xx_pwm_set_conflict_res() 166 struct pwm_device *pwm, int duty_ns) in lpc18xx_pwm_config_duty() argument 169 struct lpc18xx_pwm_data *lpc18xx_data = pwm_get_chip_data(pwm); in lpc18xx_pwm_config_duty() 184 static int lpc18xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in lpc18xx_pwm_config() argument 209 pwm->hwpwm); in lpc18xx_pwm_config() 224 lpc18xx_pwm_config_duty(chip, pwm, duty_ns); in lpc18xx_pwm_config() 230 struct pwm_device *pwm, in lpc18xx_pwm_set_polarity() argument 236 static int lpc18xx_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in lpc18xx_pwm_enable() argument [all …]
|
D | pwm-atmel-tcb.c | 53 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 …]
|
D | pwm-clps711x.c | 48 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 …]
|
D | pwm-bcm2835.c | 42 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 …]
|
D | pwm-samsung.c | 120 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 …]
|
D | pwm-lpc32xx.c | 34 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()
|
D | Kconfig | 42 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-berlin. 111 will be called pwm-bfin. 121 will be called pwm-brcmstb.c. 131 will be called pwm-clps711x. [all …]
|
D | pwm-mxs.c | 50 static int mxs_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in mxs_pwm_config() argument 80 if (!pwm_is_enabled(pwm)) { 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 (!pwm_is_enabled(pwm)) 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()
|
D | pwm-lp3943.c | 64 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 …]
|
D | pwm-spear.c | 77 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()
|
D | pwm-tiecap.c | 65 static int ecap_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in ecap_pwm_config() argument 100 if (!pwm_is_enabled(pwm)) { in ecap_pwm_config() 114 if (!pwm_is_enabled(pwm)) { 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 (pwm_is_enabled(pwm)) { in ecap_pwm_free() 304 struct pwm_device *pwm = pc->chip.pwms; in ecap_pwm_suspend() local 309 if (pwm_is_enabled(pwm)) in ecap_pwm_suspend() [all …]
|
D | pwm-ep93xx.c | 56 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 (!pwm_is_enabled(pwm)) { in ep93xx_pwm_config() 116 if (!pwm_is_enabled(pwm)) 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
|
D | pwm-bcm-kona.c | 111 static int kona_pwmc_config(struct pwm_chip *chip, struct pwm_device *pwm, in kona_pwmc_config() argument 117 unsigned int value, chan = pwm->hwpwm; in kona_pwmc_config() 158 if (pwm_is_enabled(pwm)) { in kona_pwmc_config() 176 static int kona_pwmc_set_polarity(struct pwm_chip *chip, struct pwm_device *pwm, in kona_pwmc_set_polarity() argument 180 unsigned int chan = pwm->hwpwm; in kona_pwmc_set_polarity() 208 static int kona_pwmc_enable(struct pwm_chip *chip, struct pwm_device *pwm) in kona_pwmc_enable() argument 219 ret = kona_pwmc_config(chip, pwm, pwm_get_duty_cycle(pwm), in kona_pwmc_enable() 220 pwm_get_period(pwm)); in kona_pwmc_enable() 229 static void kona_pwmc_disable(struct pwm_chip *chip, struct pwm_device *pwm) in kona_pwmc_disable() argument 232 unsigned int chan = pwm->hwpwm; in kona_pwmc_disable()
|
D | pwm-tiehrpwm.c | 236 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 …]
|
D | pwm-rockchip.c | 53 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_get_polarity(pwm) == 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()
|
D | pwm-sti.c | 115 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 …]
|
D | pwm-imx.c | 59 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 = pwm_is_enabled(pwm); in imx_pwm_config_v2() 132 period_ms = DIV_ROUND_UP(pwm_get_period(pwm), in imx_pwm_config_v2() 204 struct pwm_device *pwm, int duty_ns, int period_ns) in imx_pwm_config() argument 213 ret = imx->config(chip, pwm, duty_ns, period_ns); in imx_pwm_config() 220 static int imx_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in imx_pwm_enable() argument 234 static void imx_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in imx_pwm_disable() argument 252 struct pwm_device *pwm, int duty_ns, int period_ns);
|
D | pwm-fsl-ftm.c | 99 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 …]
|
D | pwm-ab8500.c | 27 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()
|
D | pwm-rcar.c | 135 static int rcar_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) in rcar_pwm_request() argument 142 static void rcar_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) in rcar_pwm_free() argument 149 static int rcar_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in rcar_pwm_config() argument 160 if (!test_bit(PWMF_ENABLED, &pwm->flags) && !duty_ns) in rcar_pwm_config() 175 static int rcar_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in rcar_pwm_enable() argument 191 static void rcar_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in rcar_pwm_disable() argument
|
D | pwm-brcmstb.c | 106 static int brcmstb_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in brcmstb_pwm_config() argument 111 unsigned int channel = pwm->hwpwm; in brcmstb_pwm_config() 214 static int brcmstb_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in brcmstb_pwm_enable() argument 218 brcmstb_pwm_enable_set(p, pwm->hwpwm, true); in brcmstb_pwm_enable() 223 static void brcmstb_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in brcmstb_pwm_disable() argument 227 brcmstb_pwm_enable_set(p, pwm->hwpwm, false); in brcmstb_pwm_disable()
|
D | pwm-puv3.c | 41 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
|
D | pwm-atmel-hlcdc.c | 53 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
|
D | pwm-mtk-disp.c | 67 static int mtk_disp_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in mtk_disp_pwm_config() argument 122 static int mtk_disp_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in mtk_disp_pwm_enable() argument 142 static void mtk_disp_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in mtk_disp_pwm_disable() argument
|
/linux-4.4.14/drivers/clocksource/ |
D | samsung_pwm_timer.c | 83 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.4.14/include/linux/ |
D | pwm.h | 20 void pwm_free(struct pwm_device *pwm); 25 int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns); 30 int pwm_enable(struct pwm_device *pwm); 35 void pwm_disable(struct pwm_device *pwm); 42 static inline void pwm_free(struct pwm_device *pwm) in pwm_free() argument 46 static inline int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) in pwm_config() argument 51 static inline int pwm_enable(struct pwm_device *pwm) in pwm_enable() argument 56 static inline void pwm_disable(struct pwm_device *pwm) in pwm_disable() argument 100 unsigned int pwm; member 110 static inline bool pwm_is_enabled(const struct pwm_device *pwm) in pwm_is_enabled() argument [all …]
|
D | f75375s.h | 17 u8 pwm[2]; member
|
/linux-4.4.14/Documentation/devicetree/bindings/pwm/ |
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> 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 …]
|
D | mxs-pwm.txt | 4 - 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>;
|
D | renesas,pwm-rcar.txt | 4 - compatible: should be "renesas,pwm-rcar" and one of the following. 5 - "renesas,pwm-r8a7778": for R-Car M1A 6 - "renesas,pwm-r8a7779": for R-Car H1 7 - "renesas,pwm-r8a7790": for R-Car H2 8 - "renesas,pwm-r8a7791": for R-Car M2-W 9 - "renesas,pwm-r8a7794": for R-Car E2 11 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of 19 pwm0: pwm@e6e30000 { 20 compatible = "renesas,pwm-r8a7790", "renesas,pwm-rcar"; 22 #pwm-cells = <2>;
|
D | pwm-sun4i.txt | 5 - "allwinner,sun4i-a10-pwm" 6 - "allwinner,sun5i-a10s-pwm" 7 - "allwinner,sun5i-a13-pwm" 8 - "allwinner,sun7i-a20-pwm" 10 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of 16 pwm: pwm@01c20e00 { 17 compatible = "allwinner,sun7i-a20-pwm"; 20 #pwm-cells = <3>;
|
D | lpc1850-sct-pwm.txt | 4 - compatible: Should be "nxp,lpc1850-sct-pwm" 5 - reg: Should contain physical base address and length of pwm registers. 9 - pwm: PWM operating clock. 10 - #pwm-cells: Should be 3. See pwm.txt in this directory for the description 14 pwm: pwm@40000000 { 15 compatible = "nxp,lpc1850-sct-pwm"; 18 clock-names = "pwm"; 19 #pwm-cells = <3>;
|
D | nvidia,tegra20-pwm.txt | 4 - 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";
|
D | img-pwm.txt | 4 - 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>;
|
D | spear-pwm.txt | 5 - "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>;
|
D | pwm-rockchip.txt | 4 - 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>;
|
D | imx-pwm.txt | 4 - 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";
|
D | atmel-pwm.txt | 5 - "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";
|
D | pxa-pwm.txt | 5 - "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";
|
D | brcm,kona-pwm.txt | 6 - 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>;
|
D | ti,twl-pwm.txt | 8 - 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>;
|
D | pwm-samsung.txt | 12 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 …]
|
D | pwm-mtk-disp.txt | 4 - compatible: should be "mediatek,<name>-disp-pwm": 5 - "mediatek,mt8173-disp-pwm": found on mt8173 SoC. 6 - "mediatek,mt6595-disp-pwm": found on mt6595 SoC. 8 - #pwm-cells: must be 2. See pwm.txt in this directory for a description of 19 pwm0: pwm@1401e000 { 20 compatible = "mediatek,mt8173-disp-pwm", 21 "mediatek,mt6595-disp-pwm"; 23 #pwm-cells = <2>; 32 compatible = "pwm-backlight";
|
D | cirrus,clps711x-pwm.txt | 4 - 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>;
|
D | pwm-berlin.txt | 4 - compatible: should be "marvell,berlin-pwm" 7 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of 12 pwm: pwm@f7f20000 { 13 compatible = "marvell,berlin-pwm"; 16 #pwm-cells = <3>;
|
D | pwm-st.txt | 5 - 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>;
|
D | brcm,bcm7038-pwm.txt | 5 - compatible: must be "brcm,bcm7038-pwm" 7 - #pwm-cells: should be 2. See pwm.txt in this directory for a description 15 pwm: pwm@f0408000 { 16 compatible = "brcm,bcm7038-pwm"; 18 #pwm-cells = <2>;
|
D | pwm-lp3943.txt | 4 - 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";
|
D | pwm-bcm2835.txt | 4 - 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 {
|
D | atmel-tcb-pwm.txt | 4 - 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>;
|
D | vt8500-pwm.txt | 4 - 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";
|
D | atmel-hlcdc-pwm.txt | 8 "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>;
|
D | nxp,pca9685-pwm.txt | 5 - 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>;
|
D | renesas,tpu-pwm.txt | 15 - #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>;
|
D | lpc32xx-pwm.txt | 4 - compatible: should be "nxp,lpc3220-pwm" 9 pwm@0x4005C000 { 10 compatible = "nxp,lpc3220-pwm";
|
D | pwm-fsl-ftm.txt | 19 - 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>;
|
D | pwm-tiehrpwm.txt | 7 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of 20 #pwm-cells = <3>; 27 #pwm-cells = <3>;
|
D | pwm-tiecap.txt | 7 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of 20 #pwm-cells = <3>; 27 #pwm-cells = <3>;
|
D | ti,twl-pwmled.txt | 9 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of 16 #pwm-cells = <2>;
|
/linux-4.4.14/drivers/input/keyboard/ |
D | lm8323.c | 159 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.4.14/drivers/hwmon/ |
D | pwm-fan.c | 33 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 …]
|
D | max6650.c | 306 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 …]
|
D | max31790.c | 73 u16 pwm[NR_CHANNEL]; member 120 data->pwm[i] = rv; in max31790_update_device() 261 int pwm; in get_pwm() local 266 pwm = data->pwm[attr->index] >> 8; in get_pwm() 268 return sprintf(buf, "%d\n", pwm); in get_pwm() 278 unsigned long pwm; in set_pwm() local 281 err = kstrtoul(buf, 10, &pwm); in set_pwm() 285 if (pwm > 255) in set_pwm() 290 data->pwm[attr->index] = pwm << 8; in set_pwm() 293 data->pwm[attr->index]); in set_pwm()
|
D | smsc47m1.c | 137 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 …]
|
D | asb100.c | 165 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 …]
|
D | adm1031.c | 95 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 …]
|
D | adt7475.c | 183 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 …]
|
D | gpio-fan.c | 195 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()
|
D | f75375s.c | 115 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()
|
D | vt1211.c | 135 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 …]
|
D | max6639.c | 95 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()
|
/linux-4.4.14/drivers/clk/ |
D | clk-pwm.c | 19 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.4.14/arch/arm/boot/dts/ |
D | pxa27x.dtsi | 37 pwm0: pwm@40b00000 { 38 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm"; 40 #pwm-cells = <1>; 44 pwm1: pwm@40b00010 { 45 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm"; 47 #pwm-cells = <1>; 51 pwm2: pwm@40c00000 { 52 compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm"; 54 #pwm-cells = <1>; 58 pwm3: pwm@40c00010 { [all …]
|
D | at91-kizbox.dts | 11 #include <dt-bindings/pwm/pwm.h> 109 compatible = "pwm-leds"; 112 label = "pwm:green:network"; 119 label = "pwm:red:network"; 126 label = "pwm:green:user"; 133 label = "pwm:red:user"; 140 tcb_pwm: pwm { 141 compatible = "atmel,tcb-pwm"; 142 #pwm-cells = <3>;
|
D | exynos5422-odroidxu3-lite.dts | 23 compatible = "pwm-leds"; 27 pwms = <&pwm 1 2000000 0>; 28 pwm-names = "pwm1"; 39 pwms = <&pwm 2 2000000 0>; 40 pwm-names = "pwm2"; 57 &pwm {
|
D | exynos5422-odroidxu4.dts | 23 compatible = "pwm-leds"; 27 pwms = <&pwm 2 2000000 0>; 28 pwm-names = "pwm2"; 35 &pwm { 42 samsung,pwm-outputs = <0>, <2>;
|
D | exynos5422-odroidxu3.dts | 22 compatible = "pwm-leds"; 26 pwms = <&pwm 1 2000000 0>; 27 pwm-names = "pwm1"; 38 pwms = <&pwm 2 2000000 0>; 39 pwm-names = "pwm2"; 88 &pwm {
|
D | at91-kizboxmini.dts | 10 #include <dt-bindings/pwm/pwm.h> 46 pwm0: pwm@f8034000 { 113 compatible = "pwm-leds"; 116 label = "pwm:green:user"; 123 label = "pwm:red:user";
|
D | wm8850-w70v2.dts | 14 #include <dt-bindings/pwm/pwm.h> 20 compatible = "pwm-backlight"; 21 pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
D | at91-kizbox2.dts | 10 #include <dt-bindings/pwm/pwm.h> 105 pwm0: pwm@f002c000 { 193 compatible = "pwm-leds"; 196 label = "pwm:blue:user"; 203 label = "pwm:green:user"; 210 label = "pwm:red:user";
|
D | tegra30-colibri-eval-v3.dts | 44 pwm@7000a000 { 117 compatible = "pwm-backlight"; 120 pwms = <&pwm 0 5000000>; 160 compatible = "pwm-leds"; 164 pwms = <&pwm 1 19600>; 169 pwms = <&pwm 2 19600>; 174 pwms = <&pwm 3 19600>;
|
D | imx25.dtsi | 368 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 …]
|
D | exynos4412-odroidu3.dts | 36 fan0: pwm-fan { 37 compatible = "pwm-fan"; 38 pwms = <&pwm 0 10000 0>; 73 &pwm { 76 samsung,pwm-outputs = <0>;
|
D | tegra30-apalis-eval.dts | 67 pwm@7000a000 { 181 compatible = "pwm-backlight"; 184 pwms = <&pwm 0 5000000>; 214 compatible = "pwm-leds"; 218 pwms = <&pwm 3 19600>; 224 pwms = <&pwm 2 19600>; 230 pwms = <&pwm 1 19600>;
|
D | imx6sx.dtsi | 361 pwm1: pwm@02080000 { 362 compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; 368 #pwm-cells = <2>; 371 pwm2: pwm@02084000 { 372 compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; 378 #pwm-cells = <2>; 381 pwm3: pwm@02088000 { 382 compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm"; 388 #pwm-cells = <2>; 391 pwm4: pwm@0208c000 { [all …]
|
D | rk3xxx.dtsi | 284 pwm0: pwm@20030000 { 285 compatible = "rockchip,rk2928-pwm"; 287 #pwm-cells = <2>; 292 pwm1: pwm@20030010 { 293 compatible = "rockchip,rk2928-pwm"; 295 #pwm-cells = <2>; 308 pwm2: pwm@20050020 { 309 compatible = "rockchip,rk2928-pwm"; 311 #pwm-cells = <2>; 316 pwm3: pwm@20050030 { [all …]
|
D | twl6030.dtsi | 91 twl_pwm: pwm { 93 compatible = "ti,twl6030-pwm"; 94 #pwm-cells = <2>; 100 #pwm-cells = <2>;
|
D | imx28-cfa10058.dts | 89 pwm: pwm@80064000 { label 139 compatible = "pwm-backlight"; 140 pwms = <&pwm 3 5000000>;
|
D | imx6ul.dtsi | 495 pwm5: pwm@020f0000 { 496 compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 502 #pwm-cells = <2>; 505 pwm6: pwm@020f4000 { 506 compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 512 #pwm-cells = <2>; 515 pwm7: pwm@020f8000 { 516 compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 522 #pwm-cells = <2>; 525 pwm8: pwm@020fc000 { [all …]
|
D | imx23-evk.dts | 98 pwm: pwm@80064000 { label 154 compatible = "pwm-backlight"; 155 pwms = <&pwm 2 5000000>;
|
D | imx28-cfa10057.dts | 116 pwm: pwm@80064000 { label 172 compatible = "pwm-backlight"; 173 pwms = <&pwm 3 5000000>;
|
D | twl4030.dtsi | 134 twl_pwm: pwm { 135 compatible = "ti,twl4030-pwm"; 136 #pwm-cells = <2>; 141 #pwm-cells = <2>;
|
D | imx28-cfa10055.dts | 130 pwm: pwm@80064000 { label 162 compatible = "pwm-backlight"; 163 pwms = <&pwm 3 5000000>;
|
D | imx6sl.dtsi | 320 pwm1: pwm@02080000 { 321 #pwm-cells = <2>; 322 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm"; 330 pwm2: pwm@02084000 { 331 #pwm-cells = <2>; 332 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm"; 340 pwm3: pwm@02088000 { 341 #pwm-cells = <2>; 342 compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm"; 350 pwm4: pwm@0208c000 { [all …]
|
D | s3c64xx.dtsi | 166 pwm: pwm@7f006000 { label 167 compatible = "samsung,s3c6400-pwm"; 173 samsung,pwm-outputs = <0>, <1>; 174 #pwm-cells = <3>;
|
D | spear320.dtsi | 86 pwm: pwm@a8000000 { label 87 compatible ="st,spear-pwm"; 89 #pwm-cells = <2>;
|
D | stih407-family.dtsi | 72 pwm_regulator: pwm-regulator { 73 compatible = "pwm-regulator"; 613 pwm0: pwm@9810000 { 614 compatible = "st,sti-pwm"; 615 #pwm-cells = <2>; 619 clock-names = "pwm"; 621 st,pwm-num-chan = <1>; 627 pwm1: pwm@9510000 { 628 compatible = "st,sti-pwm"; 629 #pwm-cells = <2>; [all …]
|
D | stih416.dtsi | 472 pwm0: pwm@fed10000 { 473 compatible = "st,sti-pwm"; 475 #pwm-cells = <2>; 484 clock-names = "pwm"; 486 st,pwm-num-chan = <4>; 490 pwm1: pwm@fe510000 { 491 compatible = "st,sti-pwm"; 493 #pwm-cells = <2>; 508 clock-names = "pwm"; 510 st,pwm-num-chan = <3>;
|
D | imx7d.dtsi | 586 pwm1: pwm@30660000 { 587 compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 593 #pwm-cells = <2>; 597 pwm2: pwm@30670000 { 598 compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 604 #pwm-cells = <2>; 608 pwm3: pwm@30680000 { 609 compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 615 #pwm-cells = <2>; 619 pwm4: pwm@30690000 { [all …]
|
D | sun8i-q8-common.dtsi | 44 #include <dt-bindings/pwm/pwm.h> 52 compatible = "pwm-backlight"; 55 pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
D | at91sam9m10g45ek.dts | 11 #include <dt-bindings/pwm/pwm.h> 146 pinctrl_pwm_leds: pwm-led { 198 pwm0: pwm@fffb8000 { 293 compatible = "pwm-leds";
|
D | wm8850.dtsi | 193 clkpwm: pwm { 224 pwm: pwm@d8220000 { label 225 #pwm-cells = <3>; 226 compatible = "via,vt8500-pwm";
|
D | tegra20-medcom-wide.dts | 13 pwm@7000a000 { 47 compatible = "pwm-backlight"; 48 pwms = <&pwm 0 5000000>;
|
D | spear1340.dtsi | 97 pwm: pwm@e0180000 { label 98 compatible ="st,spear13xx-pwm"; 100 #pwm-cells = <2>;
|
D | imx28-apf28dev.dts | 134 pwm: pwm@80064000 { label 214 compatible = "pwm-backlight"; 216 pwms = <&pwm 3 191000>;
|
D | imx50.dtsi | 288 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";
|
D | s5pv210-smdkv210.dts | 47 compatible = "pwm-backlight"; 48 pwms = <&pwm 3 5000000 0>; 219 &pwm { 220 samsung,pwm-outputs = <3>;
|
D | lpc32xx.dtsi | 190 compatible = "nxp,lpc3220-motor-pwm"; 193 #pwm-cells = <2>; 292 pwm: pwm@4005C000 { label 293 compatible = "nxp,lpc3220-pwm";
|
D | wm8750.dtsi | 198 clkpwm: pwm { 237 pwm: pwm@d8220000 { label 238 #pwm-cells = <3>; 239 compatible = "via,vt8500-pwm";
|
D | stih416-b2020e.dts | 56 pwm0: pwm@fed10000 { 61 pwm1: pwm@fe510000 {
|
D | imx28-m28evk.dts | 192 pwm: pwm@80064000 { label 233 compatible = "pwm-backlight"; 234 pwms = <&pwm 4 5000000>;
|
D | imx28-m28cu3.dts | 170 pwm: pwm@80064000 { label 205 compatible = "pwm-backlight"; 206 pwms = <&pwm 3 5000000>;
|
D | da850.dtsi | 208 #pwm-cells = <3>; 214 #pwm-cells = <3>; 220 #pwm-cells = <3>; 226 #pwm-cells = <3>; 232 #pwm-cells = <3>;
|
D | imx6qdl.dtsi | 414 pwm1: pwm@02080000 { 415 #pwm-cells = <2>; 416 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; 425 pwm2: pwm@02084000 { 426 #pwm-cells = <2>; 427 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; 436 pwm3: pwm@02088000 { 437 #pwm-cells = <2>; 438 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; 447 pwm4: pwm@0208c000 { [all …]
|
D | sun5i-q8-common.dtsi | 44 #include <dt-bindings/pwm/pwm.h> 52 compatible = "pwm-backlight"; 53 pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
D | at91sam9x5_lcd.dtsi | 36 hlcdc_pwm: hlcdc-pwm { 37 compatible = "atmel,hlcdc-pwm"; 40 #pwm-cells = <3>; 55 pinctrl_lcd_pwm: lcd-pwm-0 {
|
D | bcm11351.dtsi | 215 pwm: pwm@3e01a000 { label 216 compatible = "brcm,bcm11351-pwm", "brcm,kona-pwm"; 219 #pwm-cells = <3>; 277 "pwm";
|
D | s3c24xx.dtsi | 46 compatible = "samsung,s3c2410-pwm"; 49 #pwm-cells = <4>;
|
D | stihxxx-b2120.dtsi | 30 pwm0: pwm@9810000 { 34 pwm1: pwm@9510000 {
|
D | sun5i-a13.dtsi | 155 pwm: pwm@01c20e00 { label 156 compatible = "allwinner,sun5i-a13-pwm"; 159 #pwm-cells = <3>;
|
D | imx1.dtsi | 117 pwm: pwm@00208000 { label 118 #pwm-cells = <2>; 119 compatible = "fsl,imx1-pwm";
|
D | atlas6.dtsi | 124 /* later transfer to pwm */ 451 pwm { 457 pwm { 463 pwm { 469 pwm { 475 pwm { 656 pwm@b0130000 { 657 compatible = "sirf,prima2-pwm";
|
D | imx51.dtsi | 376 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";
|
D | am4372.dtsi | 284 ti,timer-pwm; 293 ti,timer-pwm; 302 ti,timer-pwm; 311 ti,timer-pwm; 634 #pwm-cells = <3>; 642 #pwm-cells = <3>; 660 #pwm-cells = <3>; 668 #pwm-cells = <3>; 686 #pwm-cells = <3>; 694 #pwm-cells = <3>; [all …]
|
D | omap2.dtsi | 240 ti,timer-pwm; 248 ti,timer-pwm; 256 ti,timer-pwm; 264 ti,timer-pwm;
|
D | am33xx.dtsi | 434 ti,timer-pwm; 442 ti,timer-pwm; 450 ti,timer-pwm; 458 ti,timer-pwm; 642 #pwm-cells = <3>; 652 #pwm-cells = <3>; 672 #pwm-cells = <3>; 682 #pwm-cells = <3>; 702 #pwm-cells = <3>; 712 #pwm-cells = <3>;
|
D | bcm28155-ap.dts | 72 pwm: pwm@3e01a000 { label
|
/linux-4.4.14/Documentation/ABI/testing/ |
D | sysfs-class-pwm | 1 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.4.14/Documentation/devicetree/bindings/leds/ |
D | leds-pwm.txt | 4 - 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.4.14/drivers/input/misc/ |
D | pwm-beeper.c | 27 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 …]
|
D | max8997_haptic.c | 58 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()
|
D | twl4030-vibra.c | 104 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.4.14/Documentation/hwmon/ |
D | nct6775 | 91 pwm[1-5] - this file stores PWM duty cycle or DC value (fan speed) in range: 94 pwm[1-5]_enable - this file controls mode of fan/temperature control: 96 * 1 Manual mode, write to pwm[0-5] any value 0-255 102 pwm[1-5]_mode - controls if output is PWM or DC level 109 pwm[1-5]_temp_sel Temperature source. Value is temperature sensor index. 111 pwm[1-5]_weight_temp_sel 119 pwm[1-5]_weight_duty_step 121 pwm[1-5]_weight_temp_step 124 to the current pwm value. 125 pwm[1-5]_weight_temp_step_base [all …]
|
D | adt7470 | 36 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
|
D | w83627ehf | 87 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 …]
|
D | dme1737 | 47 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 …]
|
D | adt7462 | 57 * 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
|
D | vt1211 | 162 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 …]
|
D | w83l786ng | 44 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
|
D | amc6821 | 18 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.
|
D | asc7621 | 182 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
|
D | max31790 | 36 pwm[1-6]_enable RW regulator mode, 0=disabled, 1=manual mode, 2=rpm mode 37 pwm[1-6] RW fan target duty cycle (0-255)
|
D | nct7904 | 38 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
|
/linux-4.4.14/Documentation/devicetree/bindings/mfd/ |
D | lp3943.txt | 7 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>;
|
D | atmel-hlcdc.txt | 17 - a PWM chip: see ../pwm/atmel-hlcdc-pwm.txt 49 hlcdc_pwm: hlcdc-pwm { 50 compatible = "atmel,hlcdc-pwm"; 53 #pwm-cells = <3>;
|
D | sky81452.txt | 21 name = "pwm-backlight"; 23 skyworks,ignore-pwm;
|
D | max77693.txt | 40 for each pwm device. 42 [*] refer Documentation/devicetree/bindings/pwm/pwm.txt 161 pwms = <&pwm 0 40000 0>; 162 pwm-names = "haptic";
|
D | ab8500.txt | 55 ab8500-pwm : : : Pulse Width Modulator 70 pwm|regulator|rtc|sysctrl|usb]"; 139 ab8500-pwm { 140 compatible = "stericsson,ab8500-pwm";
|
/linux-4.4.14/drivers/regulator/ |
D | pwm-regulator.c | 26 struct pwm_device *pwm; member 59 pwm_reg_period = pwm_get_period(drvdata->pwm); in pwm_regulator_set_voltage_sel() 64 ret = pwm_config(drvdata->pwm, dutycycle, pwm_reg_period); in pwm_regulator_set_voltage_sel() 90 return pwm_enable(drvdata->pwm); in pwm_regulator_enable() 97 pwm_disable(drvdata->pwm); in pwm_regulator_disable() 106 return pwm_is_enabled(drvdata->pwm); in pwm_regulator_is_enabled() 134 unsigned int period = pwm_get_period(drvdata->pwm); in pwm_regulator_set_voltage() 140 ret = pwm_config(drvdata->pwm, (period / 100) * duty_cycle, period); in pwm_regulator_set_voltage() 146 ret = pwm_enable(drvdata->pwm); in pwm_regulator_set_voltage() 265 drvdata->pwm = devm_pwm_get(&pdev->dev, NULL); in pwm_regulator_probe() [all …]
|
/linux-4.4.14/Documentation/devicetree/bindings/leds/backlight/ |
D | pwm-backlight.txt | 1 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>;
|
D | sky81452-backlight.txt | 12 - skyworks,ignore-pwm : Ignore both PWM input 24 name = "pwm-backlight"; 26 skyworks,ignore-pwm;
|
D | 88pm860x.txt | 5 - marvell,88pm860x-pwm: PWM frequency on backlight device. 12 marvell,88pm860x-pwm = <3>;
|
D | lp855x.txt | 12 - pwm-period: PWM period value. Set only PWM input mode used (u32) 25 pwm-period = <10000>;
|
/linux-4.4.14/drivers/leds/ |
D | leds-pwm.c | 29 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()
|
D | leds-pca9532.c | 49 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 …]
|
D | leds-lm3530.c | 234 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.4.14/drivers/video/backlight/ |
D | pwm_bl.c | 28 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() 273 pb->pwm = devm_pwm_get(&pdev->dev, NULL); in pwm_backlight_probe() 274 if (IS_ERR(pb->pwm) && PTR_ERR(pb->pwm) != -EPROBE_DEFER in pwm_backlight_probe() 278 pb->pwm = pwm_request(data->pwm_id, "pwm-backlight"); in pwm_backlight_probe() 281 if (IS_ERR(pb->pwm)) { in pwm_backlight_probe() 282 ret = PTR_ERR(pb->pwm); in pwm_backlight_probe() [all …]
|
D | lp8788_bl.c | 52 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()
|
D | lp855x_bl.c | 75 struct pwm_device *pwm; member 240 struct pwm_device *pwm; in lp855x_pwm_ctrl() local 243 if (!lp->pwm) { in lp855x_pwm_ctrl() 244 pwm = devm_pwm_get(lp->dev, lp->chipname); in lp855x_pwm_ctrl() 245 if (IS_ERR(pwm)) in lp855x_pwm_ctrl() 248 lp->pwm = pwm; in lp855x_pwm_ctrl() 251 pwm_config(lp->pwm, duty, period); in lp855x_pwm_ctrl() 253 pwm_enable(lp->pwm); in lp855x_pwm_ctrl() 255 pwm_disable(lp->pwm); in lp855x_pwm_ctrl()
|
D | 88pm860x_bl.c | 33 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() 236 data->pwm = pdata->pwm; in pm860x_backlight_probe()
|
/linux-4.4.14/drivers/media/dvb-frontends/ |
D | tda1002x.h | 62 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
|
D | atbm8830.c | 388 u32 pwm; in atbm8830_read_signal_strength() local 395 pwm = t & 0x03; in atbm8830_read_signal_strength() 396 pwm <<= 8; in atbm8830_read_signal_strength() 398 pwm |= t; in atbm8830_read_signal_strength() 402 dprintk("AGC PWM = 0x%02X\n", pwm); in atbm8830_read_signal_strength() 403 pwm = 0x400 - pwm; in atbm8830_read_signal_strength() 405 *signal = pwm * 0x10000 / 0x400; in atbm8830_read_signal_strength()
|
D | ves1820.h | 46 struct i2c_adapter* i2c, u8 pwm); 49 struct i2c_adapter* i2c, u8 pwm) in ves1820_attach() argument
|
D | ves1820.c | 43 u8 pwm; member 204 ves1820_writereg(state, 0x34, state->pwm); in ves1820_init() 229 ves1820_writereg(state, 0x34, state->pwm); in ves1820_set_parameters() 376 u8 pwm) in ves1820_attach() argument 389 state->pwm = pwm; in ves1820_attach() 396 printk("ves1820: pwm=0x%02x\n", state->pwm); in ves1820_attach()
|
D | tda10021.c | 42 u8 pwm; member 214 _tda10021_writereg (state, 0x34, state->pwm); in tda10021_init() 290 _tda10021_writereg(state, 0x34, state->pwm); in tda10021_set_parameters() 451 u8 pwm) in tda10021_attach() argument 463 state->pwm = pwm; in tda10021_attach()
|
/linux-4.4.14/Documentation/devicetree/bindings/hwmon/ |
D | pwm-fan.txt | 4 - compatible : "pwm-fan" 10 fan0: pwm-fan { 11 compatible = "pwm-fan"; 15 pwms = <&pwm 0 10000 0>;
|
/linux-4.4.14/Documentation/devicetree/bindings/clock/ |
D | imx1-clock.txt | 19 pwm: pwm@00208000 { 20 #pwm-cells = <2>; 21 compatible = "fsl,imx1-pwm";
|
D | pwm-clock.txt | 6 [2] Documentation/devicetree/bindings/pwm/pwm.txt 9 - compatible : shall be "pwm-clock". 21 compatible = "pwm-clock";
|
/linux-4.4.14/Documentation/devicetree/bindings/display/ |
D | ssd1307fb.txt | 9 - pwm: Should contain the pwm to use according to the OF device tree PWM 30 [0]: Documentation/devicetree/bindings/pwm/pwm.txt 36 pwms = <&pwm 4 3000>; 44 pwms = <&pwm 4 3000>;
|
/linux-4.4.14/drivers/media/pci/mantis/ |
D | mantis_vp2040.c | 111 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()
|
D | mantis_vp2033.c | 55 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.4.14/Documentation/devicetree/bindings/regulator/ |
D | pwm-regulator.txt | 28 - compatible: Should be "pwm-regulator" 30 - pwms: PWM specification (See: ../pwm/pwm.txt) 46 compatible = "pwm-regulator; 55 compatible = "pwm-regulator;
|
D | tps51632-regulator.txt | 8 - ti,enable-pwm-dvfs: Enable the DVFS voltage control through the PWM interface. 25 ti,enable-pwm-dvfs;
|
/linux-4.4.14/drivers/video/fbdev/ |
D | ssd1307fb.c | 74 struct pwm_device *pwm; member 291 par->pwm = pwm_get(&par->client->dev, NULL); in ssd1307fb_init() 292 if (IS_ERR(par->pwm)) { in ssd1307fb_init() 294 return PTR_ERR(par->pwm); in ssd1307fb_init() 297 par->pwm_period = pwm_get_period(par->pwm); in ssd1307fb_init() 299 pwm_config(par->pwm, par->pwm_period / 2, par->pwm_period); in ssd1307fb_init() 300 pwm_enable(par->pwm); in ssd1307fb_init() 303 par->pwm->pwm, par->pwm_period); in ssd1307fb_init() 687 pwm_disable(par->pwm); in ssd1307fb_probe() 688 pwm_put(par->pwm); in ssd1307fb_probe() [all …]
|
/linux-4.4.14/Documentation/backlight/ |
D | lp855x-driver.txt | 17 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.4.14/Documentation/devicetree/bindings/display/atmel/ |
D | hlcdc-dc.txt | 47 hlcdc_pwm: hlcdc-pwm { 48 compatible = "atmel,hlcdc-pwm"; 51 #pwm-cells = <3>;
|
/linux-4.4.14/include/linux/mfd/ |
D | lm3533.h | 53 u8 pwm; /* 0 - 0x3f */ member 60 u8 pwm; /* 0 - 0x3f */ member
|
/linux-4.4.14/Documentation/ |
D | pwm.txt | 22 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.4.14/Documentation/devicetree/bindings/sound/ |
D | atmel-classd.txt | 26 - atmel,pwm-type 50 atmel,pwm-type = "diff";
|
/linux-4.4.14/drivers/gpu/drm/gma500/ |
D | cdv_intel_lvds.c | 764 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.4.14/drivers/gpu/drm/i915/ |
D | intel_panel.c | 550 duty_ns = pwm_get_duty_cycle(panel->backlight.pwm); in pwm_get_backlight() 648 pwm_config(panel->backlight.pwm, duty_ns, CRC_PMIC_PWM_PERIOD_NS); in pwm_set_backlight() 826 pwm_config(panel->backlight.pwm, 0, CRC_PMIC_PWM_PERIOD_NS); in pwm_disable_backlight() 828 pwm_disable(panel->backlight.pwm); in pwm_disable_backlight() 1099 pwm_enable(panel->backlight.pwm); in pwm_enable_backlight() 1386 u32 pwm; in get_backlight_max_vbt() local 1398 pwm = panel->backlight.hz_to_pwm(connector, pwm_freq_hz); in get_backlight_max_vbt() 1399 if (!pwm) { in get_backlight_max_vbt() 1406 return pwm; in get_backlight_max_vbt() 1658 panel->backlight.pwm = pwm_get(dev->dev, "pwm_backlight"); in pwm_setup_backlight() [all …]
|
/linux-4.4.14/drivers/mfd/ |
D | lm3533-ctrlbank.c | 142 lm3533_ctrlbank_set(pwm, PWM); 143 lm3533_ctrlbank_get(pwm, PWM);
|