History log of /haiku/src/add-ons/kernel/bus_managers/fdt/fdt_module.cpp
Revision Date Author Comments
# 5d39116f 12-Jun-2023 X512 <danger_mail@list.ru>

fdt: copy FDT data from kernel_args to kernel heap

Change-Id: Id7b18c582357b8eeaa2e6b7956da3db35ebded3a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6599
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 2075595c 12-Jun-2023 X512 <danger_mail@list.ru>

fdt: expose FDT data to userland

Change-Id: I05c935735f54874630c641bf8ab7cbd378b71ba0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6598
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>


# 604b6f7e 19-Mar-2023 X512 <danger_mail@list.ru>

fdt: implement '#address-cells', '#size-cells' support

Change-Id: Ic1c1e75b9352d676da6f07ebd05b0491bd41f7a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6218
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# 215b685f 11-Dec-2022 X512 <danger_mail@list.ru>

kernel: Drop non-standard GNU inline assignment syntax

* We needed this previously due to our gcc2 compiled kernel.
* Now that our kernel is always latest gcc, we can move to the
c++20 syntax for inline assignment.
* Improves compatibility with clang, less GNU-specific stuff

Change-Id: Ib7272a0a52554a31e9a0e788fd3f031db9049795
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5898
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 54fb2560 08-Dec-2022 X512 <danger_mail@list.ru>

bus_managers/fdt: register multiple fdt/compatible attrs

Change-Id: I71efa8051d104d4b6a627071cd231c887271eb2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5901
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 226dd60a 17-Aug-2022 David Karoly <karolyd577@gmail.com>

arm64: initialize PCI interrupts from FDT

see:
https://www.devicetree.org/open-firmware/practice/imap/imap0_9d.pdf

Change-Id: I4158b022fd4404e3126f92ee844743e39a9b6646
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5560
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: David Karoly <karolyd577@gmail.com>


# 6a1f9758 23-Jul-2022 David Karoly <karolyd577@gmail.com>

arm: move SPI interrupt offset calculation to FDT code

Most common values for interrupt-cells are 1 or 2.
- one cell: the single cell defines the index of the interrupt
within the controller.
- two cells: the first cell defines the index of the interrupt
within the controller, while the second cell is specifies
interrupt flags like active-high/active-low, edge triggered
or level-sensitive.

ARM Generic Interrupt Controller uses 3 cells:
- the 1st cell is the interrupt type: 0 for SPI, 1 for PPI
- the 2nd cell contains the interrupt number
- the 3rd cell contains interrupt flags, similarly to the 2-cell format

SPI interrupts are numbered from 0 in the device tree but
they start from 32 on the GIC so an offset should be applied.

On the other hand, ACPI tables contain interrupt numbers
as they are expected by the GIC so no offset should be applied
when interrupts are read from ACPI.

see:
https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic.txt
https://developer.arm.com/documentation/198123/0301/Arm-CoreLink-GIC-fundamentals

Change-Id: Ia41371bd965347f89c17d62e391480d7b2083bae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5490
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 8fea4985 06-Jan-2022 David Karoly <karolyd577@gmail.com>

bus_managers/fdt: implement interrupt-cells handling

Change-Id: Id0ff78ce51fb64065c2a6398115e3a3dd12693da
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4658
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 493b3fc4 08-Nov-2021 David Karoly <karolyd577@gmail.com>

bus_managers/fdt: check for NULL

Change-Id: Ib33b2591c2966a266e0813e042d388dbe88ef939
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4700
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# c9d6d52b 05-Nov-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

libfdt: Upgrade to 1.6.1 plus a few commits

* Catch errors and report them in bus parsing code
* Align the FDT kernel_arg to 8-bytes
* we still choose BSD-2-clause :-)

Change-Id: If2a88b7f131025ff1c1a2d903ed52f039e5bbcb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4694
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# fbd2589b 19-Aug-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

bus_manangers/fdt: Fix missing close curly

Change-Id: I2dd439ea7fc90bb149e7454b0d58a6fd383ab30b


# f850bba8 23-May-2021 X512 <danger_mail@list.ru>

bus_managers/fdt: rewrite to support device manager node tree

* Breaks previous fdt module clients.

Change-Id: I8bfdca40a77c041ddef51488e1995e5d43edb340
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3977
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>