Lines Matching defs:spcr
154 acpi_platform_attach_uart(ACPI_TABLE_SPCR *spcr)
166 if (spcr->SerialPort.SpaceId != ACPI_ADR_SPACE_SYSTEM_MEMORY) {
169 if (le64toh(spcr->SerialPort.Address) == 0) {
174 * Lookup SPCR baud rate.
178 if (acpi_spcr_baud_rates[n].id == spcr->BaudRate) {
187 switch (spcr->InterfaceType) {
192 if (spcr->InterfaceType == ACPI_DBG2_ARM_PL011)
197 plcom_console.pi_iobase = le64toh(spcr->SerialPort.Address);
210 switch (spcr->SerialPort.BitWidth) {
225 if (spcr->InterfaceType == ACPI_DBG2_16550_COMPATIBLE) {
233 le64toh(spcr->SerialPort.Address), reg_shift);
241 le64toh(spcr->SerialPort.Address) + 0x40, 2);
249 printf("SPCR: kernel does not support interface type %#x\n",
250 spcr->InterfaceType);
266 ACPI_TABLE_SPCR *spcr;
275 if (ACPI_SUCCESS(acpi_table_find(ACPI_SIG_SPCR, (void **)&spcr))) {
276 acpi_platform_attach_uart(spcr);
277 acpi_table_unmap((ACPI_TABLE_HEADER *)spcr);
332 ACPI_TABLE_SPCR *spcr;
334 rv = acpi_table_find(ACPI_SIG_SPCR, (void **)&spcr);
339 if (spcr->SerialPort.SpaceId != ACPI_ADR_SPACE_SYSTEM_MEMORY) {
342 if (le64toh(spcr->SerialPort.Address) == 0) {
345 if (spcr->InterfaceType != ACPI_DBG2_16550_COMPATIBLE &&
346 spcr->InterfaceType != ACPI_DBG2_16550_SUBSET) {
357 if (spcr->PciSegment == s && spcr->PciBus == b &&
358 spcr->PciDevice == d && spcr->PciFunction == f) {
380 if (mem->ar_base == le64toh(spcr->SerialPort.Address)) {
390 acpi_table_unmap((ACPI_TABLE_HEADER *)spcr);