Creating A devicetree.cb: Difference between revisions

From coreboot
Jump to navigation Jump to search
Line 13: Line 13:
When a device in '''devicetree.cb''' is found during the coreboot PCI/system scan process the functions to do customized initialization are called via the '''device_operations''' and the '''chip_operations''' structures. You will find these structures in the devices source files.
When a device in '''devicetree.cb''' is found during the coreboot PCI/system scan process the functions to do customized initialization are called via the '''device_operations''' and the '''chip_operations''' structures. You will find these structures in the devices source files.


== Keywords ==
== Keywords & Symbols ==


..
<source lang="ada">
<source lang="ada">
pci, chip, device, register, on, off, end, io, irq, drq
chip, device, register,on,off,pci,ioapic,pnp,i2c,lapic,cpu_cluster,domain,irq,drq,io,ioapic_irq,inherit,subsystemid,end,=
</source>
</source>



Revision as of 10:58, 18 February 2014

This article should help people who are writting a devicetree.cb for their system.

What you will need

  • lspci -nvvv output

Introduction

The mainboard's devicetree.cb file contains many build and platform configuration settings. One of the most important items is the mainboard device list.

A device needs to be listed in the mainboard devicetree.cb if it requires more setup than standard PCI initialization (resource allocation). Typically, that includes the CPU, northbridge, southbridge, and Super I/O. These devices are usually required for system specific configuration as well as indicate the system bus structure (pci_domain).

When a device in devicetree.cb is found during the coreboot PCI/system scan process the functions to do customized initialization are called via the device_operations and the chip_operations structures. You will find these structures in the devices source files.

Keywords & Symbols

<source lang="ada"> chip, device, register,on,off,pci,ioapic,pnp,i2c,lapic,cpu_cluster,domain,irq,drq,io,ioapic_irq,inherit,subsystemid,end,= </source>

Syntax

..

Grammar

..

Examples

NorthBridge

..

Super I/O

»       chip superio/fintek/f71869ad
»       »       device pnp 4e.00 off # Floppy
»       »       »       io 0x60 = 0x3f0
»       »       »       irq 0x70 = 6
»       »       »       drq 0x74 = 2
»       »       end
»       »       device pnp 4e.01 on # COM1
»       »       »       io 0x60 = 0x3f8
»       »       »       irq 0x70 = 4
»       »       end
»       »       »       device pnp 4e.02 off # COM2
»       »       »       io 0x60 = 0x2f8
»       »       »       irq 0x70 = 3
»       »       end
»       »       device pnp 4e.03 off # Parallel Port
»       »       »       io 0x60 = 0x378
»       »       »       irq 0x70 = 7
»       »       »       drq 0x74 = 3
»       »       end
»       »       device pnp 4e.04 on # Hardware Monitor
»       »       »       io 0x60 = 0x295
»       »       »       irq 0x70 = 0
»       »       end
»       »       device pnp 4e.05 on # KBC
»       »       »       io 0x60 = 0x060
»       »       »       irq 0x70 = 1 # Keyboard IRQ
»       »       »       irq 0x72 = 12 # Mouse IRQ
»       »       end
»       »       device pnp 4e.06 off end # GPIO
»       »       device pnp 4e.07 on end # BSEL
»       »       device pnp 4e.0a off end # PME
»       end # f71869ad
Creative Commons License
Creative Commons Attribution icon
This file is licensed under Creative Commons Attribution 2.5 License.
In short: you are free to distribute and modify the file as long as you attribute its author(s) or licensor(s).