|
@@ -139,6 +139,7 @@ static void npcm7xx_pwm_update_duty(NPCM7xxPWM *p)
|
|
|
trace_npcm7xx_pwm_update_duty(DEVICE(p->module)->canonical_path,
|
|
|
p->index, p->duty, duty);
|
|
|
p->duty = duty;
|
|
|
+ qemu_set_irq(p->module->duty_gpio_out[p->index], p->duty);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -483,6 +484,7 @@ static void npcm7xx_pwm_init(Object *obj)
|
|
|
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
|
|
|
int i;
|
|
|
|
|
|
+ QEMU_BUILD_BUG_ON(ARRAY_SIZE(s->pwm) != NPCM7XX_PWM_PER_MODULE);
|
|
|
for (i = 0; i < NPCM7XX_PWM_PER_MODULE; i++) {
|
|
|
NPCM7xxPWM *p = &s->pwm[i];
|
|
|
p->module = s;
|
|
@@ -501,6 +503,8 @@ static void npcm7xx_pwm_init(Object *obj)
|
|
|
object_property_add_uint32_ptr(obj, "duty[*]",
|
|
|
&s->pwm[i].duty, OBJ_PROP_FLAG_READ);
|
|
|
}
|
|
|
+ qdev_init_gpio_out_named(DEVICE(s), s->duty_gpio_out,
|
|
|
+ "duty-gpio-out", NPCM7XX_PWM_PER_MODULE);
|
|
|
}
|
|
|
|
|
|
static const VMStateDescription vmstate_npcm7xx_pwm = {
|