Lines Matching +full:pwm +full:- +full:number

35 #include "hw/qdev-properties.h"
38 #include "hw/usb/hcd-ehci.h"
39 #include "target/arm/cpu-qom.h"
43 /* PWM */
199 combiner_grp_to_gic_id[64 - EXYNOS4210_MAX_EXT_COMBINER_OUT_IRQ][8] = {
200 /* int combiner groups 16-19 */
244 /* groups 38-50 */
252 /* groups 54-63 */
259 ((irq) - 8 * EXYNOS4210_COMBINER_GET_GRP_NUM(irq))
290 /* Multi-core timer */
302 * If the interrupt number passed in is the first entry in some in combinermap_entry()
317 /* Return number of entries in this mapline in total */ in mapline_size()
338 DeviceState *extgicdev = DEVICE(&s->ext_gic); in exynos4210_init_board_irqs()
339 DeviceState *intcdev = DEVICE(&s->int_combiner); in exynos4210_init_board_irqs()
340 DeviceState *extcdev = DEVICE(&s->ext_combiner); in exynos4210_init_board_irqs()
357 if (s->irq_table[n]) { in exynos4210_init_board_irqs()
359 * This must be some non-first entry in a combinermap line, in exynos4210_init_board_irqs()
374 splitter = DEVICE(&s->splitter[splitcount]); in exynos4210_init_board_irqs()
375 qdev_prop_set_uint16(splitter, "num-lines", numlines); in exynos4210_init_board_irqs()
382 s->irq_table[in] = qdev_get_gpio_in(splitter, 0); in exynos4210_init_board_irqs()
400 irq_id - GIC_INTERNAL)); in exynos4210_init_board_irqs()
407 irq_id = combiner_grp_to_gic_id[grp - in exynos4210_init_board_irqs()
410 if (s->irq_table[n]) { in exynos4210_init_board_irqs()
412 * This must be some non-first entry in a combinermap line, in exynos4210_init_board_irqs()
420 splitter = DEVICE(&s->splitter[splitcount]); in exynos4210_init_board_irqs()
421 qdev_prop_set_uint16(splitter, "num-lines", 2); in exynos4210_init_board_irqs()
424 s->irq_table[n] = qdev_get_gpio_in(splitter, 0); in exynos4210_init_board_irqs()
428 irq_id - GIC_INTERNAL)); in exynos4210_init_board_irqs()
430 s->irq_table[n] = qdev_get_gpio_in(intcdev, n); in exynos4210_init_board_irqs()
442 * Get IRQ number from exynos4210 IRQ subsystem stub.
443 * To identify IRQ source use internal combiner group and bit number
444 * grp - group number
445 * bit - bit number inside group
500 smpboot[ARRAY_SIZE(smpboot) - 1] = info->smp_bootreg_addr; in exynos4210_write_secondary()
501 smpboot[ARRAY_SIZE(smpboot) - 2] = info->gic_cpu_if_addr; in exynos4210_write_secondary()
506 info->smp_loader_start); in exynos4210_write_secondary()
540 object_property_set_int(OBJECT(orgate), "num-lines", nevents + 1, in pl330_create()
560 Object *cpuobj = object_new(ARM_CPU_TYPE_NAME("cortex-a9")); in exynos4210_realize()
570 s->cpu[n] = ARM_CPU(cpuobj); in exynos4210_realize()
571 object_property_set_int(cpuobj, "mp-affinity", in exynos4210_realize()
573 object_property_set_int(cpuobj, "reset-cbar", in exynos4210_realize()
581 DeviceState *orgate = DEVICE(&s->cpu_irq_orgate[i]); in exynos4210_realize()
582 object_property_set_int(OBJECT(orgate), "num-lines", in exynos4210_realize()
587 qdev_get_gpio_in(DEVICE(s->cpu[i]), ARM_CPU_IRQ)); in exynos4210_realize()
591 qdev_prop_set_uint32(DEVICE(&s->a9mpcore), "num-cpu", EXYNOS4210_NCPUS); in exynos4210_realize()
592 qdev_prop_set_uint32(DEVICE(&s->a9mpcore), "num-irq", in exynos4210_realize()
594 busdev = SYS_BUS_DEVICE(&s->a9mpcore); in exynos4210_realize()
599 qdev_get_gpio_in(DEVICE(&s->cpu_irq_orgate[n]), 0)); in exynos4210_realize()
606 qdev_prop_set_uint32(DEVICE(&s->ext_gic), "num-cpu", EXYNOS4210_NCPUS); in exynos4210_realize()
607 busdev = SYS_BUS_DEVICE(&s->ext_gic); in exynos4210_realize()
615 qdev_get_gpio_in(DEVICE(&s->cpu_irq_orgate[n]), 1)); in exynos4210_realize()
619 busdev = SYS_BUS_DEVICE(&s->int_combiner); in exynos4210_realize()
623 qdev_get_gpio_in(DEVICE(&s->a9mpcore), n)); in exynos4210_realize()
628 qdev_prop_set_uint32(DEVICE(&s->ext_combiner), "external", 1); in exynos4210_realize()
629 busdev = SYS_BUS_DEVICE(&s->ext_combiner); in exynos4210_realize()
632 sysbus_connect_irq(busdev, n, qdev_get_gpio_in(DEVICE(&s->ext_gic), n)); in exynos4210_realize()
641 /* Chip-ID and OMR */ in exynos4210_realize()
642 memory_region_init_io(&s->chipid_mem, OBJECT(socdev), in exynos4210_realize()
646 &s->chipid_mem); in exynos4210_realize()
649 memory_region_init_rom(&s->irom_mem, OBJECT(socdev), "exynos4210.irom", in exynos4210_realize()
652 &s->irom_mem); in exynos4210_realize()
654 memory_region_init_alias(&s->irom_alias_mem, OBJECT(socdev), in exynos4210_realize()
655 "exynos4210.irom_alias", &s->irom_mem, 0, in exynos4210_realize()
658 &s->irom_alias_mem); in exynos4210_realize()
661 memory_region_init_ram(&s->iram_mem, NULL, "exynos4210.iram", in exynos4210_realize()
664 &s->iram_mem); in exynos4210_realize()
675 /* PWM */ in exynos4210_realize()
676 sysbus_create_varargs("exynos4210.pwm", EXYNOS4210_PWM_BASE_ADDR, in exynos4210_realize()
677 s->irq_table[exynos4210_get_irq(22, 0)], in exynos4210_realize()
678 s->irq_table[exynos4210_get_irq(22, 1)], in exynos4210_realize()
679 s->irq_table[exynos4210_get_irq(22, 2)], in exynos4210_realize()
680 s->irq_table[exynos4210_get_irq(22, 3)], in exynos4210_realize()
681 s->irq_table[exynos4210_get_irq(22, 4)], in exynos4210_realize()
685 s->irq_table[exynos4210_get_irq(23, 0)], in exynos4210_realize()
686 s->irq_table[exynos4210_get_irq(23, 1)], in exynos4210_realize()
696 s->irq_table[exynos4210_get_irq(1, 4 + n)]); in exynos4210_realize()
700 s->irq_table[exynos4210_get_irq(51, 0)]); in exynos4210_realize()
702 s->irq_table[exynos4210_get_irq(35, 3)]); in exynos4210_realize()
711 i2c_irq = s->irq_table[exynos4210_get_irq(EXYNOS4210_I2C_INTG, n)]; in exynos4210_realize()
713 i2c_irq = s->irq_table[exynos4210_get_irq(EXYNOS4210_HDMI_INTG, 1)]; in exynos4210_realize()
721 s->i2c_if[n] = (I2CBus *)qdev_get_child_bus(dev, "i2c"); in exynos4210_realize()
728 s->irq_table[exynos4210_get_irq(EXYNOS4210_UART_INT_GRP, 0)]); in exynos4210_realize()
732 s->irq_table[exynos4210_get_irq(EXYNOS4210_UART_INT_GRP, 1)]); in exynos4210_realize()
736 s->irq_table[exynos4210_get_irq(EXYNOS4210_UART_INT_GRP, 2)]); in exynos4210_realize()
740 s->irq_table[exynos4210_get_irq(EXYNOS4210_UART_INT_GRP, 3)]); in exynos4210_realize()
749 * - SD Host Controller Specification Version 2.0 in exynos4210_realize()
750 * - SDIO Specification Version 2.0 in exynos4210_realize()
751 * - MMC Specification Version 4.3 in exynos4210_realize()
752 * - SDMA in exynos4210_realize()
753 * - ADMA2 in exynos4210_realize()
756 * we used the "HS-MMC Controller S3C2416X RISC Microprocessor" in exynos4210_realize()
766 sysbus_connect_irq(busdev, 0, s->irq_table[exynos4210_get_irq(29, n)]); in exynos4210_realize()
772 qdev_realize_and_unref(carddev, qdev_get_child_bus(dev, "sd-bus"), in exynos4210_realize()
778 object_property_set_link(OBJECT(dev), "framebuffer-memory", in exynos4210_realize()
784 sysbus_connect_irq(busdev, n, s->irq_table[exynos4210_get_irq(11, n)]); in exynos4210_realize()
788 s->irq_table[exynos4210_get_irq(28, 3)]); in exynos4210_realize()
792 &s->pl330_irq_orgate[0], in exynos4210_realize()
793 s->irq_table[exynos4210_get_irq(21, 0)], in exynos4210_realize()
796 &s->pl330_irq_orgate[1], in exynos4210_realize()
797 s->irq_table[exynos4210_get_irq(21, 1)], in exynos4210_realize()
800 &s->pl330_irq_orgate[2], in exynos4210_realize()
801 s->irq_table[exynos4210_get_irq(20, 1)], in exynos4210_realize()
819 for (i = 0; i < ARRAY_SIZE(s->pl330_irq_orgate); i++) { in exynos4210_init()
820 char *name = g_strdup_printf("pl330-irq-orgate%d", i); in exynos4210_init()
821 OrIRQState *orgate = &s->pl330_irq_orgate[i]; in exynos4210_init()
827 for (i = 0; i < ARRAY_SIZE(s->cpu_irq_orgate); i++) { in exynos4210_init()
828 g_autofree char *name = g_strdup_printf("cpu-irq-orgate%d", i); in exynos4210_init()
829 object_initialize_child(obj, name, &s->cpu_irq_orgate[i], TYPE_OR_IRQ); in exynos4210_init()
832 for (i = 0; i < ARRAY_SIZE(s->splitter); i++) { in exynos4210_init()
833 g_autofree char *name = g_strdup_printf("irq-splitter%d", i); in exynos4210_init()
834 object_initialize_child(obj, name, &s->splitter[i], TYPE_SPLIT_IRQ); in exynos4210_init()
837 object_initialize_child(obj, "a9mpcore", &s->a9mpcore, TYPE_A9MPCORE_PRIV); in exynos4210_init()
838 object_initialize_child(obj, "ext-gic", &s->ext_gic, TYPE_EXYNOS4210_GIC); in exynos4210_init()
839 object_initialize_child(obj, "int-combiner", &s->int_combiner, in exynos4210_init()
841 object_initialize_child(obj, "ext-combiner", &s->ext_combiner, in exynos4210_init()
849 dc->realize = exynos4210_realize; in exynos4210_class_init()