Difference between revisions of "Creating A devicetree.cb"

From coreboot
Jump to: navigation, search
(Initial.)
 
(Outline)
Line 1: Line 1:
This article should help people who are writting a devicetree.cb for their system.
+
This article should help people who are writting a '''devicetree.cb''' for their system.
  
 
== What you will need ==
 
== What you will need ==
  
* ''lspci -nvvv'' output
+
* '''lspci -nvvv''' output
  
 
== Introduction ==
 
== Introduction ==
Line 12: Line 12:
  
 
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 ==
 +
 +
..
 +
 +
== 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
 +
 +
{{Cc-by-2.5}}

Revision as of 09:21, 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

..

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).