Lines Matching +full:sd +full:- +full:lines
6 * SPDX-License-Identifier: GPL-2.0-or-later
21 /* Capabilities for SD controller: no DMA, high-speed, default clocks etc. */
31 memory_region_init(&s->peri_low_mr, obj, "bcm2838-peripherals", in bcm2838_peripherals_init()
32 bc->peri_low_size); in bcm2838_peripherals_init()
33 sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->peri_low_mr); in bcm2838_peripherals_init()
36 object_initialize_child(obj, "emmc2", &s->emmc2, TYPE_SYSBUS_SDHCI); in bcm2838_peripherals_init()
39 object_initialize_child(obj, "gpio", &s->gpio, TYPE_BCM2838_GPIO); in bcm2838_peripherals_init()
41 object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhci", in bcm2838_peripherals_init()
42 OBJECT(&s_base->sdhci.sdbus)); in bcm2838_peripherals_init()
43 object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhost", in bcm2838_peripherals_init()
44 OBJECT(&s_base->sdhost.sdbus)); in bcm2838_peripherals_init()
46 object_initialize_child(obj, "mmc_irq_orgate", &s->mmc_irq_orgate, in bcm2838_peripherals_init()
48 object_property_set_int(OBJECT(&s->mmc_irq_orgate), "num-lines", 2, in bcm2838_peripherals_init()
51 object_initialize_child(obj, "dma_7_8_irq_orgate", &s->dma_7_8_irq_orgate, in bcm2838_peripherals_init()
53 object_property_set_int(OBJECT(&s->dma_7_8_irq_orgate), "num-lines", 2, in bcm2838_peripherals_init()
56 object_initialize_child(obj, "dma_9_10_irq_orgate", &s->dma_9_10_irq_orgate, in bcm2838_peripherals_init()
58 object_property_set_int(OBJECT(&s->dma_9_10_irq_orgate), "num-lines", 2, in bcm2838_peripherals_init()
75 memory_region_init_alias(&s->peri_low_mr_alias, OBJECT(s), in bcm2838_peripherals_realize()
76 "bcm2838-peripherals", &s->peri_low_mr, 0, in bcm2838_peripherals_realize()
77 memory_region_size(&s->peri_low_mr)); in bcm2838_peripherals_realize()
78 memory_region_add_subregion_overlap(&s_base->gpu_bus_mr, in bcm2838_peripherals_realize()
80 &s->peri_low_mr_alias, 1); in bcm2838_peripherals_realize()
83 object_property_set_uint(OBJECT(&s->emmc2), "sd-spec-version", 3, in bcm2838_peripherals_realize()
85 object_property_set_uint(OBJECT(&s->emmc2), "capareg", in bcm2838_peripherals_realize()
87 object_property_set_bool(OBJECT(&s->emmc2), "pending-insert-quirk", true, in bcm2838_peripherals_realize()
89 if (!sysbus_realize(SYS_BUS_DEVICE(&s->emmc2), errp)) { in bcm2838_peripherals_realize()
93 memory_region_add_subregion(&s_base->peri_mr, EMMC2_OFFSET, in bcm2838_peripherals_realize()
94 sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->emmc2), in bcm2838_peripherals_realize()
98 if (!qdev_realize(DEVICE(&s->mmc_irq_orgate), NULL, errp)) { in bcm2838_peripherals_realize()
102 mmc_irq_orgate = DEVICE(&s->mmc_irq_orgate); in bcm2838_peripherals_realize()
103 sysbus_connect_irq(SYS_BUS_DEVICE(&s->emmc2), 0, in bcm2838_peripherals_realize()
106 sysbus_connect_irq(SYS_BUS_DEVICE(&s_base->sdhci), 0, in bcm2838_peripherals_realize()
111 qdev_get_gpio_in_named(DEVICE(&s_base->ic), in bcm2838_peripherals_realize()
115 /* Connect DMA 0-6 to the interrupt controller */ in bcm2838_peripherals_realize()
117 sysbus_connect_irq(SYS_BUS_DEVICE(&s_base->dma), n, in bcm2838_peripherals_realize()
118 qdev_get_gpio_in_named(DEVICE(&s_base->ic), in bcm2838_peripherals_realize()
124 if (!qdev_realize(DEVICE(&s->dma_7_8_irq_orgate), NULL, errp)) { in bcm2838_peripherals_realize()
127 dma_7_8_irq_orgate = DEVICE(&s->dma_7_8_irq_orgate); in bcm2838_peripherals_realize()
129 /* Connect DMA 7-8 to the interrupt controller */ in bcm2838_peripherals_realize()
130 sysbus_connect_irq(SYS_BUS_DEVICE(&s_base->dma), 7, in bcm2838_peripherals_realize()
132 sysbus_connect_irq(SYS_BUS_DEVICE(&s_base->dma), 8, in bcm2838_peripherals_realize()
136 qdev_get_gpio_in_named(DEVICE(&s_base->ic), in bcm2838_peripherals_realize()
141 if (!qdev_realize(DEVICE(&s->dma_9_10_irq_orgate), NULL, errp)) { in bcm2838_peripherals_realize()
144 dma_9_10_irq_orgate = DEVICE(&s->dma_9_10_irq_orgate); in bcm2838_peripherals_realize()
146 /* Connect DMA 9-10 to the interrupt controller */ in bcm2838_peripherals_realize()
147 sysbus_connect_irq(SYS_BUS_DEVICE(&s_base->dma), 9, in bcm2838_peripherals_realize()
149 sysbus_connect_irq(SYS_BUS_DEVICE(&s_base->dma), 10, in bcm2838_peripherals_realize()
153 qdev_get_gpio_in_named(DEVICE(&s_base->ic), in bcm2838_peripherals_realize()
157 /* Connect DMA 11-14 to the interrupt controller */ in bcm2838_peripherals_realize()
159 sysbus_connect_irq(SYS_BUS_DEVICE(&s_base->dma), n, in bcm2838_peripherals_realize()
160 qdev_get_gpio_in_named(DEVICE(&s_base->ic), in bcm2838_peripherals_realize()
163 - 11)); in bcm2838_peripherals_realize()
170 sysbus_connect_irq(SYS_BUS_DEVICE(&s_base->dma), 15, in bcm2838_peripherals_realize()
171 qdev_get_gpio_in_named(DEVICE(&s_base->ic), in bcm2838_peripherals_realize()
176 mphi_mr = sysbus_mmio_get_region(SYS_BUS_DEVICE(&s_base->mphi), 0); in bcm2838_peripherals_realize()
177 memory_region_init_alias(&s->mphi_mr_alias, OBJECT(s), "mphi", mphi_mr, 0, in bcm2838_peripherals_realize()
179 memory_region_add_subregion(&s_base->peri_mr, BCM2838_MPHI_OFFSET, in bcm2838_peripherals_realize()
180 &s->mphi_mr_alias); in bcm2838_peripherals_realize()
182 create_unimp(s_base, &s->clkisp, "bcm2835-clkisp", CLOCK_ISP_OFFSET, in bcm2838_peripherals_realize()
186 if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), errp)) { in bcm2838_peripherals_realize()
190 &s_base->peri_mr, GPIO_OFFSET, in bcm2838_peripherals_realize()
191 sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->gpio), 0)); in bcm2838_peripherals_realize()
193 object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->gpio), "sd-bus"); in bcm2838_peripherals_realize()
196 create_unimp(s_base, &s->asb, "bcm2838-asb", BRDG_OFFSET, 0x24); in bcm2838_peripherals_realize()
205 bc->peri_low_size = 0x2000000; in bcm2838_peripherals_class_init()
206 bc_base->peri_size = 0x1800000; in bcm2838_peripherals_class_init()
207 dc->realize = bcm2838_peripherals_realize; in bcm2838_peripherals_class_init()