Dear Andrew,
let’s move the discussion of [1] to the list.
Am Mittwoch, den 23.10.2013, 13:43 +0200 schrieb gerrit code review:
Change subject: dmp/vortex86ex: Initialize I2C controller base address/IRQ ......................................................................
Patch Set 5:
Do you mean allocating I2C I/O space range dynamically, instead of using fixed address? It makes sense, but :
(A) I don't know if coreboot has an API for I/O space allocation/reservation. If yes, could you tell me the function names so I can check it.
(B) Some legacy applications for our CPU maybe use fixed I/O addresses for these devices, because these I/O addresses are fixed in old BIOS.
hopefully, some of the other developers can answer this.
Thanks,
Paul
Hi,
If Andrew wants to use the fixed address it is better to marked the fixed IO address in the I/O allocator as used. Like in VIA vt8237 for ACPI IO base:
static void vt8237r_read_resources(device_t dev) { struct resource *res;
pci_dev_read_resources(dev);
/* Fixed ACPI Base IO Base*/ res = new_resource(dev, 0x88); res->base = VT8237R_ACPI_IO_BASE; res->size = 128; res->limit = 0xffffUL; res->flags = IORESOURCE_IO | IORESOURCE_FIXED | IORESOURCE_RESERVE | IORESOURCE_STORED | IORESOURCE_ASSIGNED; }
But I see this dmp southbrige bypassed the I/O allocator by reserving it whole for southbridge.
If no PCI or I/O devices will ever connect this is probably OK, although I would prefer to use above construct to add "fixed" I/O resources.
I did not have time to study the code/chipset in the detail, if someone can check that it would be great.
Thanks Rudolf
Hi, Paul, Rudolf,
Thank you for the information. I will investigate this part. :D
Andrew
2013/10/28 Rudolf Marek r.marek@assembler.cz:
Hi,
If Andrew wants to use the fixed address it is better to marked the fixed IO address in the I/O allocator as used. Like in VIA vt8237 for ACPI IO base:
static void vt8237r_read_resources(device_t dev) { struct resource *res;
pci_dev_read_resources(dev); /* Fixed ACPI Base IO Base*/ res = new_resource(dev, 0x88); res->base = VT8237R_ACPI_IO_BASE; res->size = 128; res->limit = 0xffffUL; res->flags = IORESOURCE_IO | IORESOURCE_FIXED | IORESOURCE_RESERVE | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
}
But I see this dmp southbrige bypassed the I/O allocator by reserving it whole for southbridge.
If no PCI or I/O devices will ever connect this is probably OK, although I would prefer to use above construct to add "fixed" I/O resources.
I did not have time to study the code/chipset in the detail, if someone can check that it would be great.
Thanks Rudolf
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot