Condividi tramite


PNP_SERIAL_BUS_DESCRIPTOR struttura (reshub.h)

La struttura PNP_SERIAL_BUS_DESCRIPTOR descrive la connessione fisica di un dispositivo di destinazione a un bus seriale (I2C, SPI o UART).

Sintassi

typedef struct _PNP_SERIAL_BUS_DESCRIPTOR {
  UCHAR  Tag;
  USHORT Length;
  UCHAR  RevisionId;
  UCHAR  ResourceSourceIndex;
  UCHAR  SerialBusType;
  UCHAR  GeneralFlags;
  USHORT TypeSpecificFlags;
  UCHAR  TypeSpecificRevisionId;
  USHORT TypeDataLength;
} PNP_SERIAL_BUS_DESCRIPTOR, *PPNP_SERIAL_BUS_DESCRIPTOR;

Members

Tag

Tipo di bus di serie. Questo membro è impostato su 0x8e per una connessione del bus seriale (I2C, SPI o UART). Per altre informazioni, vedere la descrizione del descrittore di connessione del bus seriale nella specifica ACPI 5.0.

Length

Lunghezza, in byte, del descrittore di connessione del bus seriale. Per essere coerenti con la specifica ACPI 5.0, il conteggio dei byte nel membro Length della struttura PNP_SERIAL_BUS_DESCRIPTOR corrisponde alle dimensioni della struttura, meno i tre byte nei membri Tag e Length all'inizio della struttura, oltre al numero di byte di dati specifici del bus e alla stringa origine risorse che seguono la struttura. La stringa origine risorsa, che è un campo obbligatorio, ha una dimensione minima di due byte (per un nome origine risorsa a un carattere e un valore Null terminante). Pertanto, il valore minimo di lunghezza valido è 11. Per altre informazioni, vedere la specifica ACPI 5.0.

RevisionId

ID revisione del descrittore di connessione del bus seriale. Questo membro è impostato sulla costante SERIAL_BUS_DESCRIPTOR_REVISION, definita nel file di intestazione Reshub.h.

ResourceSourceIndex

Riservato per utilizzi futuri. Questo membro è inutilizzato e impostato su zero.

SerialBusType

Tipo di bus di serie. Questo membro è impostato su 1 (per I2C), 2 (per SPI) o 3 (per UART). Altri valori sono riservati per l'uso futuro o sono definiti dal fornitore dell'hardware. Per altre informazioni, vedere la specifica ACPI 5.0.

GeneralFlags

Flag comuni a tutti i tipi di bus di serie. Bit 0 è il flag in modalità subordinata. Se questo bit è impostato su 1, la comunicazione di questa connessione viene avviata dal controller del bus; in caso contrario, la comunicazione viene avviata dal dispositivo di destinazione. Bit 1 è il flag consumer/producer ed è sempre impostato su 1. Non sono attualmente definiti altri bit di flag. Per altre informazioni, vedere la specifica ACPI 5.0.

TypeSpecificFlags

Flag specifici per il tipo di bus di serie. Per un bus I2C, bit 0 viene impostato se la connessione usa indirizzi a 10 bit; in caso contrario, la connessione usa indirizzi a 7 bit. Nessun altro bit di flag è attualmente definito per I2C. Per altre informazioni, vedere la specifica ACPI 5.0.

TypeSpecificRevisionId

ID revisione della variante di questa struttura usata per il tipo di bus seriale (I2C, SPI e UART) specificato dal membro Tag . Ogni tipo di bus seriale estende la struttura PNP_SERIAL_BUS_DESCRIPTOR aggiungendo campi specifici del tipo di bus. Per altre informazioni, vedere la specifica ACPI 5.0.

TypeDataLength

Lunghezza, in byte, dei dati specifici del bus che segue la struttura PNP_SERIAL_BUS_DESCRIPTOR . Questo valore di lunghezza include i dati tra la fine del membro TypeDataLength e l'inizio della stringa origine risorse, ma non include la stringa di origine risorse. Per altre informazioni, vedere la specifica ACPI 5.0.

Commenti

Questa struttura definisce i campi dati in un descrittore di connessione del bus seriale, come descritto nella sezione 6.4.3.8.2 della specifica ACPI 5.0. Questo descrittore descrive la connessione del bus a un dispositivo di destinazione connesso a un bus seriale (I2C, SPI o UART).

Ad esempio, per un dispositivo in un bus I2C, la struttura PNP_SERIAL_BUS_DESCRIPTOR (e l'estensione specifica del bus) specificano l'indirizzo del bus del dispositivo, la modalità indirizzo (a 7 bit o a 10 bit) e la frequenza in cui eseguire l'orologio del bus quando si accede al dispositivo. Per un esempio di codice che mostra come un driver controller I2C estrae queste informazioni dalla struttura, vedere Come ottenere le impostazioni di connessione per un dispositivo.

La definizione di struttura PNP_SERIAL_BUS_DESCRIPTOR nel file di intestazione Reshub.h è preceduta da un'istruzione di inclusione per il file di intestazione Pshpack1.h, che configura il compilatore in modo da assegnare membri della struttura adiacenti ai limiti di byte, senza intervenire sulle lacune. Il software può quindi sovrapporre la struttura con pacchetto sull'immagine di memoria del descrittore di connessione del bus seriale per accedere ai singoli campi di questo descrittore. I membri di USHORT della struttura potrebbero non essere allineati a limiti di byte pari in memoria. I byte nei membri di USHORT vengono archiviati in ordine di bit endian per le architetture del processore x86, x64 e ARM.

Requisiti

Requisito Valore
Client minimo supportato Supportato a partire da Windows 8.
Intestazione reshub.h