Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 8 Dec 2021 22:40:28 +0100 | From | Pavel Machek <> | Subject | Re: Dealing with custom hardware on x86 |
| |
On Wed 2021-11-24 20:22:38, Chris Packham wrote: > Hi Pavel, > > Thanks for responding > > On 24/11/21 11:47 pm, Pavel Machek wrote: > > Hi! > > > >> I'm about to start a project involving custom hardware using an x86 CPU. > >> Complicating things somewhat we will have a CPU board supplied by a 3rd > >> party vendor using a COM Express type 7 connector which will plug in to > >> the board we're designing (actually 2 different boards each with some > >> modular aspects) . > >> > >> Coming from an embedded (mostly ARM) background I'm used to describing > >> the hardware via a devicetree and dealing with plug-in modules by > >> loading devicetree overlays. How do people achieve this kind of thing on > >> x86? > >> > >> I gather ACPI is involved somewhere but the knowledge that the BIOS has > >> will go as far as the COM Express header and somehow we'll have to tell > >> the kernel about the various non-probeable (mostly i2c) devices on our > >> board which is kind of where I'm stuck. Any pointers would be greatly > >> appreciated. > > In x86 land, we usually use PCI/PCIE and have a add-on board expose > > unique IDs with driver knowing what the IDs are. ACPI should not be > > involved for add-on boards. > > So if I had a chain of i2c devices (endpoints behind muxes etc) I'd have > the PCI add-on board declare that hierarchy with i2c_new_device()?
That sounds reasonable, yes. Pavel
-- http://www.livejournal.com/~pavelmachek [unhandled content-type:application/pgp-signature] | ![\](/images/icornerr.gif) |