Lines Matching refs:sdhci

11 For example, the sdhci device is supported on both x86_64 and ARM boards,
12 therefore a generic sdhci test should test all machines and drivers that
28 Following the above example, an interface would be ``sdhci``,
29 so the sdhci-test should only care of linking its qgraph node with
30 that interface. In this way, if the command line of a sdhci driver
46 - **QNODE_DRIVER**: for example ``generic-sdhci``
47 - **QNODE_INTERFACE**: for example ``sdhci`` (interface for all ``-sdhci``
54 - **QNODE_TEST**: for example ``sdhci-test``. A test consumes an interface
213 Here we continue the ``sdhci`` use case, with the following scenario:
215 - ``sdhci-test`` aims to test the ``read[q,w], writeq`` functions
216 offered by the ``sdhci`` drivers.
217 - The current ``sdhci`` device is supported by both ``x86_64/pc`` and ``ARM``
234 - Create the ``sdhci-pci`` driver node, representing ``QSDHCI_PCI``.
239 ``sdhci-pci --consumes--> pci-bus``
241 a ``generic-sdhci`` memory mapped ``sdhci`` driver node, representing
244 ``arm/raspi2b --contains--> generic-sdhci``
245 - Create the ``sdhci`` interface node. This interface offers the
246 functions that are shared by all ``sdhci`` devices.
247 The interface is produced by ``sdhci-pci`` and ``generic-sdhci``,
250 ``sdhci-pci --produces--> sdhci``
252 ``generic-sdhci --produces--> sdhci``
253 - Create the ``sdhci-test`` test node. The test ``consumes`` the
254 ``sdhci`` interface, using its API. It doesn't need to look at
257 ``sdhci-test --consumes--> sdhci``
267 QSDHCI_MemoryMapped sdhci;
285 if (!g_strcmp0(device, "generic-sdhci")) {
286 return &machine->sdhci.obj;
307 qos_init_sdhci_mm(&machine->sdhci, ...);
313 /* arm/raspi2b --contains--> generic-sdhci */
316 qos_node_contains("arm/raspi2b", "generic-sdhci", NULL);
409 ``sdhci`` taken from ``tests/qtest/libqos/sdhci.c``::
411 /* Interface node, offers the sdhci API */
422 QSDHCI sdhci;
429 QSDHCI sdhci;
438 if (!g_strcmp0(interface, "sdhci")) {
439 return &smm->sdhci;
441 fprintf(stderr, "%s not present in generic-sdhci\n", interface);
445 void qos_init_sdhci_mm(QSDHCI_MemoryMapped *sdhci, QTestState *qts,
449 sdhci->obj.get_driver = sdhci_mm_get_driver;
452 sdhci->sdhci.readw = sdhci_mm_readw;
453 sdhci->sdhci.readq = sdhci_mm_readq;
454 sdhci->sdhci.writeq = sdhci_mm_writeq;
455 sdhci->qts = qts;
464 if (!g_strcmp0(interface, "sdhci")) {
465 return &spci->sdhci;
468 fprintf(stderr, "%s not present in sdhci-pci\n", interface);
483 spci->sdhci.readw = sdhci_pci_readw;
484 spci->sdhci.readq = sdhci_pci_readq;
485 spci->sdhci.writeq = sdhci_pci_writeq;
501 /* generic-sdhci */
502 /* generic-sdhci --produces--> sdhci */
503 qos_node_create_driver("generic-sdhci", NULL);
504 qos_node_produces("generic-sdhci", "sdhci");
506 /* sdhci-pci */
507 /* sdhci-pci --produces--> sdhci
508 * sdhci-pci --consumes--> pci-bus */
509 qos_node_create_driver("sdhci-pci", sdhci_pci_create);
510 qos_node_produces("sdhci-pci", "sdhci");
511 qos_node_consumes("sdhci-pci", "pci-bus", &opts);
520 sdhci-pci --consumes--> pci-bus <--produces--+
525 sdhci
530 arm/raspi2b --contains--> generic-sdhci
536 sdhci-pci <--consumed by-- pci-bus <--produces--+
541 sdhci
546 arm/raspi2b --contains--> generic-sdhci
552 ``sdhci-test``, taken from ``tests/qtest/sdhci-test.c``::
574 /* sdhci-test --consumes--> sdhci */
575 qos_add_test("registers", "sdhci", test_registers, NULL);
580 Here a new test is created, consuming ``sdhci`` interface node
586 sdhci-pci --consumes--> pci-bus <--produces--+
591 sdhci <--consumes-- sdhci-test
596 arm/raspi2b --contains--> generic-sdhci
602 sdhci-pci <--consumed by-- pci-bus <--produces--+
607 sdhci --consumed by--> sdhci-test
612 arm/raspi2b --contains--> generic-sdhci
617 ``/x86_64/pc/1440FX-pcihost/pci-bus-pc/pci-bus/sdhci-pc/sdhci/sdhci-test``
621 ``/arm/raspi2b/generic-sdhci/sdhci/sdhci-test``