bcm2835_peripherals.c (69b81893bc28feb678188fbcdce52eff1609bdad) bcm2835_peripherals.c (d442d95f2fa6dcc9ab227903898fb94516cbbaed)
1/*
2 * Raspberry Pi emulation (c) 2012 Gregory Estrade
3 * Upstreaming code cleanup [including bcm2835_*] (c) 2013 Jan Petrous
4 *
5 * Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
6 * Written by Andrew Baumann
7 *
8 * This code is licensed under the GNU GPLv2 and later.

--- 97 unchanged lines hidden (view full) ---

106
107 /* DMA Channels */
108 sysbus_init_child_obj(obj, "dma", &s->dma, sizeof(s->dma),
109 TYPE_BCM2835_DMA);
110
111 object_property_add_const_link(OBJECT(&s->dma), "dma-mr",
112 OBJECT(&s->gpu_bus_mr), &error_abort);
113
1/*
2 * Raspberry Pi emulation (c) 2012 Gregory Estrade
3 * Upstreaming code cleanup [including bcm2835_*] (c) 2013 Jan Petrous
4 *
5 * Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
6 * Written by Andrew Baumann
7 *
8 * This code is licensed under the GNU GPLv2 and later.

--- 97 unchanged lines hidden (view full) ---

106
107 /* DMA Channels */
108 sysbus_init_child_obj(obj, "dma", &s->dma, sizeof(s->dma),
109 TYPE_BCM2835_DMA);
110
111 object_property_add_const_link(OBJECT(&s->dma), "dma-mr",
112 OBJECT(&s->gpu_bus_mr), &error_abort);
113
114 /* Thermal */
115 sysbus_init_child_obj(obj, "thermal", &s->thermal, sizeof(s->thermal),
116 TYPE_BCM2835_THERMAL);
117
114 /* GPIO */
115 sysbus_init_child_obj(obj, "gpio", &s->gpio, sizeof(s->gpio),
116 TYPE_BCM2835_GPIO);
117
118 object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhci",
119 OBJECT(&s->sdhci.sdbus), &error_abort);
120 object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhost",
121 OBJECT(&s->sdhost.sdbus), &error_abort);

--- 194 unchanged lines hidden (view full) ---

316
317 for (n = 0; n <= 12; n++) {
318 sysbus_connect_irq(SYS_BUS_DEVICE(&s->dma), n,
319 qdev_get_gpio_in_named(DEVICE(&s->ic),
320 BCM2835_IC_GPU_IRQ,
321 INTERRUPT_DMA0 + n));
322 }
323
118 /* GPIO */
119 sysbus_init_child_obj(obj, "gpio", &s->gpio, sizeof(s->gpio),
120 TYPE_BCM2835_GPIO);
121
122 object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhci",
123 OBJECT(&s->sdhci.sdbus), &error_abort);
124 object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhost",
125 OBJECT(&s->sdhost.sdbus), &error_abort);

--- 194 unchanged lines hidden (view full) ---

320
321 for (n = 0; n <= 12; n++) {
322 sysbus_connect_irq(SYS_BUS_DEVICE(&s->dma), n,
323 qdev_get_gpio_in_named(DEVICE(&s->ic),
324 BCM2835_IC_GPU_IRQ,
325 INTERRUPT_DMA0 + n));
326 }
327
328 /* THERMAL */
329 object_property_set_bool(OBJECT(&s->thermal), true, "realized", &err);
330 if (err) {
331 error_propagate(errp, err);
332 return;
333 }
334 memory_region_add_subregion(&s->peri_mr, THERMAL_OFFSET,
335 sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->thermal), 0));
336
324 /* GPIO */
325 object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err);
326 if (err) {
327 error_propagate(errp, err);
328 return;
329 }
330
331 memory_region_add_subregion(&s->peri_mr, GPIO_OFFSET,

--- 48 unchanged lines hidden ---
337 /* GPIO */
338 object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err);
339 if (err) {
340 error_propagate(errp, err);
341 return;
342 }
343
344 memory_region_add_subregion(&s->peri_mr, GPIO_OFFSET,

--- 48 unchanged lines hidden ---