All of lore.kernel.org
 help / color / mirror / Atom feed
* Dealing with custom hardware on x86
@ 2021-11-10  3:02 Chris Packham
  2021-11-24 10:47 ` Pavel Machek
  0 siblings, 1 reply; 4+ messages in thread
From: Chris Packham @ 2021-11-10  3:02 UTC (permalink / raw)
  To: x86, linux-kernel

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.

Thanks,
Chris

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Dealing with custom hardware on x86
  2021-11-10  3:02 Dealing with custom hardware on x86 Chris Packham
@ 2021-11-24 10:47 ` Pavel Machek
  2021-11-24 20:22   ` Chris Packham
  0 siblings, 1 reply; 4+ messages in thread
From: Pavel Machek @ 2021-11-24 10:47 UTC (permalink / raw)
  To: Chris Packham; +Cc: x86, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1134 bytes --]

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.

Best regards,
								Pavel
-- 
http://www.livejournal.com/~pavelmachek

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Dealing with custom hardware on x86
  2021-11-24 10:47 ` Pavel Machek
@ 2021-11-24 20:22   ` Chris Packham
  2021-12-08 21:40     ` Pavel Machek
  0 siblings, 1 reply; 4+ messages in thread
From: Chris Packham @ 2021-11-24 20:22 UTC (permalink / raw)
  To: Pavel Machek; +Cc: x86, linux-kernel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Dealing with custom hardware on x86
  2021-11-24 20:22   ` Chris Packham
@ 2021-12-08 21:40     ` Pavel Machek
  0 siblings, 0 replies; 4+ messages in thread
From: Pavel Machek @ 2021-12-08 21:40 UTC (permalink / raw)
  To: Chris Packham; +Cc: x86, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1496 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-12-08 21:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-10  3:02 Dealing with custom hardware on x86 Chris Packham
2021-11-24 10:47 ` Pavel Machek
2021-11-24 20:22   ` Chris Packham
2021-12-08 21:40     ` Pavel Machek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.