meson 122 drivers/pwm/pwm-meson.c struct meson_pwm *meson = to_meson_pwm(chip); meson 131 drivers/pwm/pwm-meson.c channel = &meson->channels[pwm->hwpwm]; meson 161 drivers/pwm/pwm-meson.c static int meson_pwm_calc(struct meson_pwm *meson, struct pwm_device *pwm, meson 176 drivers/pwm/pwm-meson.c dev_err(meson->chip.dev, "invalid source clock frequency\n"); meson 180 drivers/pwm/pwm-meson.c dev_dbg(meson->chip.dev, "fin_freq: %lu Hz\n", fin_freq); meson 184 drivers/pwm/pwm-meson.c dev_err(meson->chip.dev, "unable to get period pre_div\n"); meson 190 drivers/pwm/pwm-meson.c dev_err(meson->chip.dev, "unable to get period cnt\n"); meson 194 drivers/pwm/pwm-meson.c dev_dbg(meson->chip.dev, "period=%u pre_div=%u cnt=%u\n", period, meson 210 drivers/pwm/pwm-meson.c dev_err(meson->chip.dev, "unable to get duty cycle\n"); meson 214 drivers/pwm/pwm-meson.c dev_dbg(meson->chip.dev, "duty=%u pre_div=%u duty_cnt=%u\n", meson 225 drivers/pwm/pwm-meson.c static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm) meson 234 drivers/pwm/pwm-meson.c spin_lock_irqsave(&meson->lock, flags); meson 236 drivers/pwm/pwm-meson.c value = readl(meson->base + REG_MISC_AB); meson 240 drivers/pwm/pwm-meson.c writel(value, meson->base + REG_MISC_AB); meson 244 drivers/pwm/pwm-meson.c writel(value, meson->base + channel_data->reg_offset); meson 246 drivers/pwm/pwm-meson.c value = readl(meson->base + REG_MISC_AB); meson 248 drivers/pwm/pwm-meson.c writel(value, meson->base + REG_MISC_AB); meson 250 drivers/pwm/pwm-meson.c spin_unlock_irqrestore(&meson->lock, flags); meson 253 drivers/pwm/pwm-meson.c static void meson_pwm_disable(struct meson_pwm *meson, struct pwm_device *pwm) meson 258 drivers/pwm/pwm-meson.c spin_lock_irqsave(&meson->lock, flags); meson 260 drivers/pwm/pwm-meson.c value = readl(meson->base + REG_MISC_AB); meson 262 drivers/pwm/pwm-meson.c writel(value, meson->base + REG_MISC_AB); meson 264 drivers/pwm/pwm-meson.c spin_unlock_irqrestore(&meson->lock, flags); meson 271 drivers/pwm/pwm-meson.c struct meson_pwm *meson = to_meson_pwm(chip); meson 295 drivers/pwm/pwm-meson.c meson_pwm_enable(meson, pwm); meson 297 drivers/pwm/pwm-meson.c meson_pwm_disable(meson, pwm); meson 300 drivers/pwm/pwm-meson.c err = meson_pwm_calc(meson, pwm, state); meson 304 drivers/pwm/pwm-meson.c meson_pwm_enable(meson, pwm); meson 313 drivers/pwm/pwm-meson.c struct meson_pwm *meson = to_meson_pwm(chip); meson 319 drivers/pwm/pwm-meson.c channel = &meson->channels[pwm->hwpwm]; meson 333 drivers/pwm/pwm-meson.c struct meson_pwm *meson = to_meson_pwm(chip); meson 341 drivers/pwm/pwm-meson.c channel = &meson->channels[pwm->hwpwm]; meson 344 drivers/pwm/pwm-meson.c value = readl(meson->base + REG_MISC_AB); meson 352 drivers/pwm/pwm-meson.c value = readl(meson->base + channel_data->reg_offset); meson 492 drivers/pwm/pwm-meson.c static int meson_pwm_init_channels(struct meson_pwm *meson) meson 494 drivers/pwm/pwm-meson.c struct device *dev = meson->chip.dev; meson 500 drivers/pwm/pwm-meson.c for (i = 0; i < meson->chip.npwm; i++) { meson 501 drivers/pwm/pwm-meson.c struct meson_pwm_channel *channel = &meson->channels[i]; meson 508 drivers/pwm/pwm-meson.c init.parent_names = meson->data->parent_names; meson 509 drivers/pwm/pwm-meson.c init.num_parents = meson->data->num_parents; meson 511 drivers/pwm/pwm-meson.c channel->mux.reg = meson->base + REG_MISC_AB; meson 516 drivers/pwm/pwm-meson.c channel->mux.lock = &meson->lock; meson 539 drivers/pwm/pwm-meson.c struct meson_pwm *meson; meson 543 drivers/pwm/pwm-meson.c meson = devm_kzalloc(&pdev->dev, sizeof(*meson), GFP_KERNEL); meson 544 drivers/pwm/pwm-meson.c if (!meson) meson 548 drivers/pwm/pwm-meson.c meson->base = devm_ioremap_resource(&pdev->dev, regs); meson 549 drivers/pwm/pwm-meson.c if (IS_ERR(meson->base)) meson 550 drivers/pwm/pwm-meson.c return PTR_ERR(meson->base); meson 552 drivers/pwm/pwm-meson.c spin_lock_init(&meson->lock); meson 553 drivers/pwm/pwm-meson.c meson->chip.dev = &pdev->dev; meson 554 drivers/pwm/pwm-meson.c meson->chip.ops = &meson_pwm_ops; meson 555 drivers/pwm/pwm-meson.c meson->chip.base = -1; meson 556 drivers/pwm/pwm-meson.c meson->chip.npwm = MESON_NUM_PWMS; meson 557 drivers/pwm/pwm-meson.c meson->chip.of_xlate = of_pwm_xlate_with_flags; meson 558 drivers/pwm/pwm-meson.c meson->chip.of_pwm_n_cells = 3; meson 560 drivers/pwm/pwm-meson.c meson->data = of_device_get_match_data(&pdev->dev); meson 562 drivers/pwm/pwm-meson.c err = meson_pwm_init_channels(meson); meson 566 drivers/pwm/pwm-meson.c err = pwmchip_add(&meson->chip); meson 572 drivers/pwm/pwm-meson.c platform_set_drvdata(pdev, meson); meson 579 drivers/pwm/pwm-meson.c struct meson_pwm *meson = platform_get_drvdata(pdev); meson 581 drivers/pwm/pwm-meson.c return pwmchip_remove(&meson->chip); meson 568 drivers/tty/serial/meson_uart.c OF_EARLYCON_DECLARE(meson, "amlogic,meson-uart", meson 571 drivers/tty/serial/meson_uart.c OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",