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",