The following options are available in the required
section:
Key | Notes | Config Structure | XPARAMETERS | Usage Of Padding |
---|---|---|---|---|
compatible | The existing embedded software driver uses
"DEVICE_ID" in the driver config structure to get the peripheral
instance. This approach is now being replaced with Base Address. Base Address of the peripheral instance is derived used the reg property. |
Filler for DEVICE_ID. |
Canonical define:
|
Not allowed |
reg | Device tree nodes usually have reg property in
<base_addr size> format. This reg property will be used to derive BASE_ADDRESS and HIGH_ADDRESS of the IP instance. |
Filler for Base Address. |
Canonical define:
|
For example: reg: 2. This is needed if the config structure has more than one base address in sequence. Check GIC node and its config structure for more information. |
interrupts | Interrupt property format for a mapped interrupt
in a system device tree looks like: <PPI/SPI interrupt_id trigger_type> . This
property format is converted to generate the Interrupt Property
which has the following format:
|
Generated the interrupt hex value. |
Canonical define:
|
For example, interrupts: 2. This is needed when a peripheral can have multiple interrupts attached.
|
interrupt-parent | Adds the base address of the interrupt-parent, which is usually the base address of GIC or INTC. | Base address of the interrupt-parent. |
Canonical define:
|
Not allowed |
child,required | Generates the sub nodes/arrays. | A C array of child node's property values. |
Canonical define:
|
Not allowed |
Any other property (<property> or xlnx,<property>) | Property value is of type string. | Value will be used as it is. |
Canonical define:
|
For example: xlnx,num_slcr_addr: 2.
|
Property value is of type phandle: If the IP property points to a different
device-tree node reference, the YAML key must be denoted as:
|
Base Address of the IP that this property depends on will be used. |
Canonical define:
|
||
Property value is of type int. | Convert into hex and use the hex value. |
Canonical define:
|
||
Property value is of type list. | List values will be put in the form of a C list, int value will be converted to hex, string value will be used as is. |
Canonical define:
|
||
Any other property (<property> or xlnx,<property>) | Property value is of type /bits/ which is a Linux-specific way to show certain properties. | Hex value kept at the end of the property value will be converted into int with base 16. |
Canonical define:
|
For example: xlnx,num_slcr_addr: 2.
|
XPAR_X<driver_name>_<instance_number>_<PROPERTY>
syntax. Corresponding changes are now needed in the source files.