Re: Dealing with custom hardware on x86

From: Chris Packham
Date: Wed Nov 24 2021 - 15:22:43 EST


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()?

>
> Best regards,
> Pavel